Hi, Jakub Jelinek a écrit : > > I don't think you should blindly add all operations to sys_futex64 without > thinking what they really do. > E.g. FUTEX_{{,UN,TRY}LOCK,CMP_REQUEUE}_PI doesn't really make any sense for 64-bit > futexes, the format of PI futexes is hardcoded in the kernel and is always > 32-bit, see FUTEX_TID_MASK, FUTEX_WAITERS, FUTEX_OWNER_DIED definitions. > exit_robust_list/handle_futex_death will handle 32-bit PI futexes anyway. > Similarly, sys_futex64 shouldn't support the obsolete operations that > are there solely for compatibility (e.g. FUTEX_REQUEUE or FUTEX_FD). > > When you just -ENOSYS on the PI ops, there is no need to implement > futex_atomic_cmpxchg_inatomic64. > > FUTEX_WAKE_OP is questionable for 64-bit, IMHO it is better to just > -ENOSYS on it and only if anyone ever finds actual uses for it, add it. > > For 64-bit futexes the only needed operations are actually > FUTEX_WAIT and perhaps FUTEX_CMP_REQUEUE, so I wonder if it isn't > better to just add FUTEX_WAIT64 and FUTEX_CMP_REQUEUE64 ops to sys_futex > instead of adding a new syscall. > > But the FUTEX_{{,UN,TRY}LOCK,CMP_REQUEUE}_PI removal for 64-bit futexes > is IMHO the most important part of my complain. > Following this mail sent few weeks ago, here is a patch which should meet your requirements. I've quickly done it on top of the latest -mm (2.6.21-rc6-mm2) and a little bit tested. To be honest, as I'm not really aware of your exact needs and as I don't know the exact usage which will be done with 64bit futexes, I can't really maintain it. So I'll let you take/modify/adapt this patch following your needs. Thanks, Signed-off-by: Pierre Peiffer -- Pierre