Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1633553 > unrolled thread

[PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery

Started byMike Rapoport <rppt@linux.vnet.ibm.com>
First post2017-05-01 07:50 +0200
Last post2017-05-02 22:30 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery Mike Rapoport <rppt@linux.vnet.ibm.com> - 2017-05-01 07:50 +0200
    Re: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios  events delivery "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> - 2017-05-01 20:40 +0200
      Re: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios  events delivery Mike Rapoport <rppt@linux.vnet.ibm.com> - 2017-05-02 11:50 +0200
        Re: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios  events delivery "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> - 2017-05-02 22:30 +0200

#1633553 — [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery

FromMike Rapoport <rppt@linux.vnet.ibm.com>
Date2017-05-01 07:50 +0200
Subject[PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery
Message-ID<tCcnD-51S-9@gated-at.bofh.it>
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
---
 man2/userfaultfd.2 | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
index 8b89162..f177bba 100644
--- a/man2/userfaultfd.2
+++ b/man2/userfaultfd.2
@@ -112,6 +112,18 @@ created for the child process,
 which allows userfaultfd monitor to perform user-space paging
 for the child process.
 
+Unlike page faults which have to be synchronous and require
+explicit or implicit wakeup,
+all other events are delivered asynchronously and
+the non-cooperative process resumes execution as
+soon as manager executes
+.BR read(2).
+The userfaultfd manager should carefully synchronize calls
+to UFFDIO_COPY with the events processing.
+
+The current asynchronous model of the event delivery is optimal for
+single threaded non-cooperative userfaultfd manager implementations.
+
 .\" FIXME elaborate about non-cooperating mode, describe its limitations
 .\" for kernels before 4.11, features added in 4.11
 .\" and limitations remaining in 4.11
-- 
1.9.1

[toc] | [next] | [standalone]


#1633797 — Re: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery

From"Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Date2017-05-01 20:40 +0200
SubjectRe: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery
Message-ID<tCooN-4aC-9@gated-at.bofh.it>
In reply to#1633553
Hi Mike,

On 05/01/2017 07:43 AM, Mike Rapoport wrote:
> Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>

Thanks. Applied. One question below.

> ---
>  man2/userfaultfd.2 | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
> index 8b89162..f177bba 100644
> --- a/man2/userfaultfd.2
> +++ b/man2/userfaultfd.2
> @@ -112,6 +112,18 @@ created for the child process,
>  which allows userfaultfd monitor to perform user-space paging
>  for the child process.
>  
> +Unlike page faults which have to be synchronous and require
> +explicit or implicit wakeup,
> +all other events are delivered asynchronously and
> +the non-cooperative process resumes execution as
> +soon as manager executes
> +.BR read(2).
> +The userfaultfd manager should carefully synchronize calls
> +to UFFDIO_COPY with the events processing.
> +
> +The current asynchronous model of the event delivery is optimal for
> +single threaded non-cooperative userfaultfd manager implementations.

The preceding paragraph feels incomplete. It seems like you want to make
a point with that last sentence, but the point is not explicit. What's
missing?

> +
>  .\" FIXME elaborate about non-cooperating mode, describe its limitations
>  .\" for kernels before 4.11, features added in 4.11
>  .\" and limitations remaining in 4.11
> 

Cheers,

Michael



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

[toc] | [prev] | [next] | [standalone]


#1634305 — Re: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery

FromMike Rapoport <rppt@linux.vnet.ibm.com>
Date2017-05-02 11:50 +0200
SubjectRe: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery
Message-ID<tCCBr-4Qx-9@gated-at.bofh.it>
In reply to#1633797
On Mon, May 01, 2017 at 08:33:45PM +0200, Michael Kerrisk (man-pages) wrote:
> Hi Mike,
> 
> On 05/01/2017 07:43 AM, Mike Rapoport wrote:
> > Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
> 
> Thanks. Applied. One question below.
> 
> > ---
> >  man2/userfaultfd.2 | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
> > index 8b89162..f177bba 100644
> > --- a/man2/userfaultfd.2
> > +++ b/man2/userfaultfd.2
> > @@ -112,6 +112,18 @@ created for the child process,
> >  which allows userfaultfd monitor to perform user-space paging
> >  for the child process.
> >  
> > +Unlike page faults which have to be synchronous and require
> > +explicit or implicit wakeup,
> > +all other events are delivered asynchronously and
> > +the non-cooperative process resumes execution as
> > +soon as manager executes
> > +.BR read(2).
> > +The userfaultfd manager should carefully synchronize calls
> > +to UFFDIO_COPY with the events processing.
> > +
> > +The current asynchronous model of the event delivery is optimal for
> > +single threaded non-cooperative userfaultfd manager implementations.
> 
> The preceding paragraph feels incomplete. It seems like you want to make
> a point with that last sentence, but the point is not explicit. What's
> missing?

I've copied both from Documentation/vm/userfaulftfd.txt, and there we also
talk about possibility of addition of synchronous events delivery and
that makes the paragraph above to seem crippled :)
The major point here is that current events delivery model could be
problematic for multi-threaded monitor. I even suspect that it would be
impossible to ensure synchronization between page faults and non-page
fault events in multi-threaded monitor.
 
> > +
> >  .\" FIXME elaborate about non-cooperating mode, describe its limitations
> >  .\" for kernels before 4.11, features added in 4.11
> >  .\" and limitations remaining in 4.11
> > 
> 
> Cheers,
> 
> Michael
> 
> 
> 
> -- 
> Michael Kerrisk
> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
> Linux/UNIX System Programming Training: http://man7.org/training/
> 

[toc] | [prev] | [next] | [standalone]


#1634612 — Re: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery

From"Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Date2017-05-02 22:30 +0200
SubjectRe: [PATCH man-pages 4/5] userfaultfd.2: add note about asynchronios events delivery
Message-ID<tCMAO-33N-23@gated-at.bofh.it>
In reply to#1634305
On 05/02/2017 11:46 AM, Mike Rapoport wrote:
> On Mon, May 01, 2017 at 08:33:45PM +0200, Michael Kerrisk (man-pages) wrote:
>> Hi Mike,
>>
>> On 05/01/2017 07:43 AM, Mike Rapoport wrote:
>>> Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
>>
>> Thanks. Applied. One question below.
>>
>>> ---
>>>  man2/userfaultfd.2 | 12 ++++++++++++
>>>  1 file changed, 12 insertions(+)
>>>
>>> diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
>>> index 8b89162..f177bba 100644
>>> --- a/man2/userfaultfd.2
>>> +++ b/man2/userfaultfd.2
>>> @@ -112,6 +112,18 @@ created for the child process,
>>>  which allows userfaultfd monitor to perform user-space paging
>>>  for the child process.
>>>  
>>> +Unlike page faults which have to be synchronous and require
>>> +explicit or implicit wakeup,
>>> +all other events are delivered asynchronously and
>>> +the non-cooperative process resumes execution as
>>> +soon as manager executes
>>> +.BR read(2).
>>> +The userfaultfd manager should carefully synchronize calls
>>> +to UFFDIO_COPY with the events processing.
>>> +
>>> +The current asynchronous model of the event delivery is optimal for
>>> +single threaded non-cooperative userfaultfd manager implementations.
>>
>> The preceding paragraph feels incomplete. It seems like you want to make
>> a point with that last sentence, but the point is not explicit. What's
>> missing?
> 
> I've copied both from Documentation/vm/userfaulftfd.txt, and there we also
> talk about possibility of addition of synchronous events delivery and
> that makes the paragraph above to seem crippled :)
> The major point here is that current events delivery model could be
> problematic for multi-threaded monitor. I even suspect that it would be
> impossible to ensure synchronization between page faults and non-page
> fault events in multi-threaded monitor.

Okay -- thanks for the info. I've noted it, but won't make changes 
any changes to the page for now.

Cheers,

Michael



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web