Re: Next round: revised futex(2) man page for review

2015-10-08 Thread Darren Hart
On Wed, Oct 07, 2015 at 10:34:19AM +0100, Michael Kerrisk (man-pages) wrote: > On 08/19/2015 03:40 PM, Thomas Gleixner wrote: > > On Wed, 5 Aug 2015, Darren Hart wrote: > >> On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) > >> wrote: > >>> .\" FIXME XXX = Start of

Re: Next round: revised futex(2) man page for review

2015-10-08 Thread Darren Hart
On Wed, Oct 07, 2015 at 09:30:46AM +0100, Michael Kerrisk (man-pages) wrote: > Hello Thomas, > > Thanks for the follow up! > > Some open questions below are marked with the string ###. A couple of comments from me below, although I suspect you have this much covered already. > > On 08/19/2015

Re: Next round: revised futex(2) man page for review

2015-10-08 Thread Darren Hart
On Wed, Oct 07, 2015 at 09:30:46AM +0100, Michael Kerrisk (man-pages) wrote: > Hello Thomas, > > Thanks for the follow up! > > Some open questions below are marked with the string ###. A couple of comments from me below, although I suspect you have this much covered already. > > On 08/19/2015

Re: Next round: revised futex(2) man page for review

2015-10-08 Thread Darren Hart
On Wed, Oct 07, 2015 at 10:34:19AM +0100, Michael Kerrisk (man-pages) wrote: > On 08/19/2015 03:40 PM, Thomas Gleixner wrote: > > On Wed, 5 Aug 2015, Darren Hart wrote: > >> On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) > >> wrote: > >>> .\" FIXME XXX = Start of

Re: Next round: revised futex(2) man page for review

2015-10-07 Thread Michael Kerrisk (man-pages)
On 08/19/2015 03:40 PM, Thomas Gleixner wrote: > On Wed, 5 Aug 2015, Darren Hart wrote: >> On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: >>> .\" FIXME XXX = Start of adapted Hart/Guniguntala text = >>> .\" The following text is drawn from the

Re: Next round: revised futex(2) man page for review

2015-10-07 Thread Michael Kerrisk (man-pages)
Hello Thomas, Thanks for the follow up! Some open questions below are marked with the string ###. On 08/19/2015 04:17 PM, Thomas Gleixner wrote: > On Sat, 8 Aug 2015, Michael Kerrisk (man-pages) wrote: FUTEX_CMP_REQUEUE (since Linux 2.6.7) This operation first

Re: Next round: revised futex(2) man page for review

2015-10-07 Thread Michael Kerrisk (man-pages)
Hello Thomas, Thanks for the follow up! Some open questions below are marked with the string ###. On 08/19/2015 04:17 PM, Thomas Gleixner wrote: > On Sat, 8 Aug 2015, Michael Kerrisk (man-pages) wrote: FUTEX_CMP_REQUEUE (since Linux 2.6.7) This operation first

Re: Next round: revised futex(2) man page for review

2015-10-07 Thread Michael Kerrisk (man-pages)
On 08/19/2015 03:40 PM, Thomas Gleixner wrote: > On Wed, 5 Aug 2015, Darren Hart wrote: >> On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: >>> .\" FIXME XXX = Start of adapted Hart/Guniguntala text = >>> .\" The following text is drawn from the

Re: Next round: revised futex(2) man page for review

2015-08-26 Thread Darren Hart
On Thu, Aug 20, 2015 at 01:17:03AM +0200, Thomas Gleixner wrote: ... > > >> .\" FIXME XXX In discussing errors for FUTEX_CMP_REQUEUE_PI, Darren Hart > > >> .\" made the observation that "EINVAL is returned if the non-pi > > >> .\" to pi or op pairing semantics are violated." > > >>

Re: Next round: revised futex(2) man page for review

2015-08-26 Thread Darren Hart
On Thu, Aug 20, 2015 at 01:17:03AM +0200, Thomas Gleixner wrote: ... .\ FIXME XXX In discussing errors for FUTEX_CMP_REQUEUE_PI, Darren Hart .\ made the observation that EINVAL is returned if the non-pi .\ to pi or op pairing semantics are violated. .\ Probably

Re: Next round: revised futex(2) man page for review

2015-08-24 Thread Darren Hart
On Sat, Aug 08, 2015 at 08:57:35AM +0200, Michael Kerrisk (man-pages) wrote: ... > >> .\" FIXME = End of adapted Hart/Guniguntala text = > >> > >> > >> > >> .\" FIXME We need some explanation in the following paragraph of *why* > >> .\" it is important to note that "the kernel will

Re: Next round: revised futex(2) man page for review

2015-08-24 Thread Darren Hart
On Thu, Aug 20, 2015 at 12:40:46AM +0200, Thomas Gleixner wrote: > On Wed, 5 Aug 2015, Darren Hart wrote: > > On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: > > > .\" FIXME XXX = Start of adapted Hart/Guniguntala text = > > > .\" The following text is

Re: Next round: revised futex(2) man page for review

2015-08-24 Thread Darren Hart
On Thu, Aug 20, 2015 at 12:40:46AM +0200, Thomas Gleixner wrote: On Wed, 5 Aug 2015, Darren Hart wrote: On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: .\ FIXME XXX = Start of adapted Hart/Guniguntala text = .\ The following text is drawn from

Re: Next round: revised futex(2) man page for review

2015-08-24 Thread Darren Hart
On Sat, Aug 08, 2015 at 08:57:35AM +0200, Michael Kerrisk (man-pages) wrote: ... .\ FIXME = End of adapted Hart/Guniguntala text = .\ FIXME We need some explanation in the following paragraph of *why* .\ it is important to note that the kernel will update the .\

Re: Next round: revised futex(2) man page for review

2015-08-19 Thread Thomas Gleixner
On Sat, 8 Aug 2015, Michael Kerrisk (man-pages) wrote: > >>FUTEX_CMP_REQUEUE (since Linux 2.6.7) > >> This operation first checks whether the location uaddr > >> still contains the value val3. If not, the operation > >> fails with the

Re: Next round: revised futex(2) man page for review

2015-08-19 Thread Thomas Gleixner
On Wed, 5 Aug 2015, Darren Hart wrote: > On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: > > .\" FIXME XXX = Start of adapted Hart/Guniguntala text = > > .\" The following text is drawn from the Hart/Guniguntala paper > > .\" (listed in SEE ALSO),

Re: Next round: revised futex(2) man page for review

2015-08-19 Thread Thomas Gleixner
On Wed, 5 Aug 2015, Darren Hart wrote: On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: .\ FIXME XXX = Start of adapted Hart/Guniguntala text = .\ The following text is drawn from the Hart/Guniguntala paper .\ (listed in SEE ALSO), but I have

Re: Next round: revised futex(2) man page for review

2015-08-19 Thread Thomas Gleixner
On Sat, 8 Aug 2015, Michael Kerrisk (man-pages) wrote: FUTEX_CMP_REQUEUE (since Linux 2.6.7) This operation first checks whether the location uaddr still contains the value val3. If not, the operation fails with the error

Re: Next round: revised futex(2) man page for review

2015-08-08 Thread Michael Kerrisk (man-pages)
Hi Darren, Some of my comments below will refer to the reply I just sent to tglx (and the list) a few minutes ago. On 08/06/2015 12:21 AM, Darren Hart wrote: > On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: >> Hello all, >> > > Michael, thank you for your diligence

Re: Next round: revised futex(2) man page for review

2015-08-08 Thread Michael Kerrisk (man-pages)
On 07/28/2015 11:03 PM, Thomas Gleixner wrote: > On Tue, 28 Jul 2015, Peter Zijlstra wrote: > >> On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: >> FUTEX_WAKE (since Linux 2.6.0) This operation wakes at most val of the waiters that are

Re: Next round: revised futex(2) man page for review

2015-08-08 Thread Michael Kerrisk (man-pages)
Hi Thomas, Thank you for the comments below. This helps hugely: more than 30 of my FIXMEs have now gone away! I have a few open questions, which you can find by searching for the string "???". If you would have a chance to look at those, I'd appreciate it. On 07/28/2015 10:23 PM, Thomas

Re: Next round: revised futex(2) man page for review

2015-08-08 Thread Michael Kerrisk (man-pages)
Hi Thomas, Thank you for the comments below. This helps hugely: more than 30 of my FIXMEs have now gone away! I have a few open questions, which you can find by searching for the string ???. If you would have a chance to look at those, I'd appreciate it. On 07/28/2015 10:23 PM, Thomas Gleixner

Re: Next round: revised futex(2) man page for review

2015-08-08 Thread Michael Kerrisk (man-pages)
On 07/28/2015 11:03 PM, Thomas Gleixner wrote: On Tue, 28 Jul 2015, Peter Zijlstra wrote: On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: FUTEX_WAKE (since Linux 2.6.0) This operation wakes at most val of the waiters that are waiting

Re: Next round: revised futex(2) man page for review

2015-08-08 Thread Michael Kerrisk (man-pages)
Hi Darren, Some of my comments below will refer to the reply I just sent to tglx (and the list) a few minutes ago. On 08/06/2015 12:21 AM, Darren Hart wrote: On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: Hello all, Michael, thank you for your diligence in

Re: Next round: revised futex(2) man page for review

2015-08-05 Thread Darren Hart
On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: > Hello all, > Michael, thank you for your diligence in following up and collecting reviews. I've attempted to respond to what I was specifically called out in or where I had something specific to add in addition to

Re: Next round: revised futex(2) man page for review

2015-08-05 Thread Darren Hart
On Mon, Jul 27, 2015 at 02:07:15PM +0200, Michael Kerrisk (man-pages) wrote: Hello all, Michael, thank you for your diligence in following up and collecting reviews. I've attempted to respond to what I was specifically called out in or where I had something specific to add in addition to other

Re: Next round: revised futex(2) man page for review

2015-07-30 Thread Michael Kerrisk (man-pages)
On 07/29/2015 06:21 AM, Darren Hart wrote: > On Tue, Jul 28, 2015 at 09:11:41PM -0700, Darren Hart wrote: >> On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: >>> On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: >> >> ... >> FUTEX_REQUEUE (since Linux 2.6.0)

Re: Next round: revised futex(2) man page for review

2015-07-30 Thread Michael Kerrisk (man-pages)
On 07/29/2015 06:21 AM, Darren Hart wrote: On Tue, Jul 28, 2015 at 09:11:41PM -0700, Darren Hart wrote: On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: ... FUTEX_REQUEUE (since Linux 2.6.0) .\ FIXME(Torvald) Is

Re: Next round: revised futex(2) man page for review

2015-07-29 Thread Thomas Gleixner
On Tue, 28 Jul 2015, Darren Hart wrote: > Found it on libc-alpha, here it is for reference: > > From: Rich Felker > Date: Wed, 29 Oct 2014 22:43:17 -0400 > To: Darren Hart > Cc: Carlos O'Donell , Roland McGrath > , > Torvald Riegel , GLIBC Devel > , >

Re: Next round: revised futex(2) man page for review

2015-07-29 Thread Thomas Gleixner
On Tue, 28 Jul 2015, Darren Hart wrote: Found it on libc-alpha, here it is for reference: From: Rich Felker dal...@libc.org Date: Wed, 29 Oct 2014 22:43:17 -0400 To: Darren Hart dvh...@infradead.org Cc: Carlos O'Donell car...@redhat.com, Roland McGrath

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Darren Hart
On Tue, Jul 28, 2015 at 09:11:41PM -0700, Darren Hart wrote: > On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: > > On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: > > ... > > > >FUTEX_REQUEUE (since Linux 2.6.0) > > > .\" FIXME(Torvald) Is there some indication

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Darren Hart
On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: > On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: ... > >FUTEX_REQUEUE (since Linux 2.6.0) > > .\" FIXME(Torvald) Is there some indication that FUTEX_REQUEUE is broken > > .\" in general, or is this comment

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Davidlohr Bueso
On Tue, 2015-07-28 at 22:45 +0200, Peter Zijlstra wrote: > Also, this code seems to use plist, which means it won't do the right > thing for SCHED_DEADLINE either. Ick, I don't look forward to seeing nice futex plists converted into rbtrees. As opposed to, eg. rtmutexes, there are a few caveats:

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Thomas Gleixner
On Tue, 28 Jul 2015, Peter Zijlstra wrote: > On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: > > > >FUTEX_WAKE (since Linux 2.6.0) > > > This operation wakes at most val of the waiters that are > > > waiting (e.g., inside FUTEX_WAIT) on the

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Peter Zijlstra
On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: > >FUTEX_WAKE (since Linux 2.6.0) > > This operation wakes at most val of the waiters that are > > waiting (e.g., inside FUTEX_WAIT) on the futex word at the > > address uaddr.

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Thomas Gleixner
On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: >FUTEX_CLOCK_REALTIME (since Linux 2.6.28) > This option bit can be employed only with the > FUTEX_WAIT_BITSET and FUTEX_WAIT_REQUEUE_PI operations. > > If this option is set,

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Davidlohr Bueso
On Tue, 2015-07-28 at 22:45 +0200, Peter Zijlstra wrote: Also, this code seems to use plist, which means it won't do the right thing for SCHED_DEADLINE either. Ick, I don't look forward to seeing nice futex plists converted into rbtrees. As opposed to, eg. rtmutexes, there are a few caveats: -

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Darren Hart
On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: ... FUTEX_REQUEUE (since Linux 2.6.0) .\ FIXME(Torvald) Is there some indication that FUTEX_REQUEUE is broken .\ in general, or is this comment implicitly

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Darren Hart
On Tue, Jul 28, 2015 at 09:11:41PM -0700, Darren Hart wrote: On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: ... FUTEX_REQUEUE (since Linux 2.6.0) .\ FIXME(Torvald) Is there some indication that

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Thomas Gleixner
On Tue, 28 Jul 2015, Peter Zijlstra wrote: On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: FUTEX_WAKE (since Linux 2.6.0) This operation wakes at most val of the waiters that are waiting (e.g., inside FUTEX_WAIT) on the futex word

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Peter Zijlstra
On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote: FUTEX_WAKE (since Linux 2.6.0) This operation wakes at most val of the waiters that are waiting (e.g., inside FUTEX_WAIT) on the futex word at the address uaddr. Most

Re: Next round: revised futex(2) man page for review

2015-07-28 Thread Thomas Gleixner
On Mon, 27 Jul 2015, Michael Kerrisk (man-pages) wrote: FUTEX_CLOCK_REALTIME (since Linux 2.6.28) This option bit can be employed only with the FUTEX_WAIT_BITSET and FUTEX_WAIT_REQUEUE_PI operations. If this option is set, the

Re: Next round: revised futex(2) man page for review

2015-07-27 Thread Michael Kerrisk (man-pages)
On 07/27/2015 04:17 PM, Heinrich Schuchardt wrote: > instruction. A thread maybe unable > > to << missing word > > acquire a lock because it is > already acquired by another thread. It then may pass the lock's > flag as futex word and the value representing the acquired state > as the expected

Next round: revised futex(2) man page for review

2015-07-27 Thread Michael Kerrisk (man-pages)
Hello all, >From a draft sent out in March, I got a few useful comments that I've now incorporated into this draft. And I got some complaints from people who did not want to read groff source. My point was that there are a bunch of FIXMEs in the page source that I wanted people to look at...

Next round: revised futex(2) man page for review

2015-07-27 Thread Michael Kerrisk (man-pages)
Hello all, From a draft sent out in March, I got a few useful comments that I've now incorporated into this draft. And I got some complaints from people who did not want to read groff source. My point was that there are a bunch of FIXMEs in the page source that I wanted people to look at...

Re: Next round: revised futex(2) man page for review

2015-07-27 Thread Michael Kerrisk (man-pages)
On 07/27/2015 04:17 PM, Heinrich Schuchardt wrote: instruction. A thread maybe unable to missing word acquire a lock because it is already acquired by another thread. It then may pass the lock's flag as futex word and the value representing the acquired state as the expected value to a