Re: [PATCH 10/11] x86, rwsem: provide __down_write_killable

From: H. Peter Anvin
Date: Wed Apr 20 2016 - 18:30:33 EST


On April 20, 2016 2:36:37 PM PDT, Borislav Petkov <bp@xxxxxxxxx> wrote:
>On Wed, Apr 20, 2016 at 02:06:33PM -0700, H. Peter Anvin wrote:
>> Setting ret to sem doesn't make any sense. Just use "=a" and "a".
>
>Yeah, that's what Michal's patch ontop does.
>
>And to answer my own question: we need the "a" (sem) input for the fast
>path.
>
>I guess we can still move "1" (RWSEM_ACTIVE_WRITE_BIAS) before the
>asm():
>
> long tmp = RWSEM_ACTIVE_WRITE_BIAS;
>
>One thing I'm still not clear on is why we need the output tmp operand:
>"=d" (tmp) ?

Since it is a fixed register we could just mark edx clobbered, but with more flexible register constraints it can permit gcc to allocate a temp resister for us.
--
Sent from my Android device with K-9 Mail. Please excuse brevity and formatting.