Re: [PATCH v2 03/36] mm: use do_futex() instead of sys_futex() in mm_release()

From: Darren Hart
Date: Fri Mar 16 2018 - 14:44:01 EST


On Thu, Mar 15, 2018 at 08:04:56PM +0100, Dominik Brodowski wrote:
> sys_futex() is a wrapper to do_futex() which does not modify any
> values here:
>
> - uaddr, val and val3 are kept the same
>
> - op is masked with FUTEX_CMD_MASK, but is always set to FUTEX_WAKE.
> Therefore, val2 is always 0.
>
> - as utime is set to NULL, *timeout is NULL
>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx>

Hi Dominik,

I'm missing the "why" part here. What is it you are trying to address?

do_futex is not currently in use outside of the futex implementation,
while sys_futex is. This decouples the interface from the
implementation. While this is perhaps less critical within the
kernel, I don't see a compelling reason to increase the coupling
between the mm and futex implementations.

Without a compelling WHY, Nack from me.

--
Darren Hart
VMware Open Source Technology Center