Messages in this thread | | | Subject | Re: [PATCH 10/11] x86, rwsem: provide __down_write_killable | From | "H. Peter Anvin" <> | Date | Wed, 20 Apr 2016 11:04:05 -0700 |
| |
On April 20, 2016 6:40:19 AM PDT, Peter Zijlstra <peterz@infradead.org> wrote: >On Wed, Apr 13, 2016 at 02:49:43PM +0200, Michal Hocko wrote: >> On Wed 13-04-16 12:27:31, Ingo Molnar wrote: >> > >> > * Ingo Molnar <mingo@kernel.org> wrote: >> > >> > > I'm testing your patches today, if they are otherwise OK [...] >> > >> > got this build failure: >> > >> > ./arch/x86/include/asm/rwsem.h:106:2: error: ‘asm’ operand has >impossible constraints >> >> Hmm, I have no idea why 64b didn't have problem with the asm but 32b >> complains. Anyway, the following makes both happy. I have checked the >> generated code for 64b and it hasn't changed after the patch. 32b >also >> seems to be generating a proper code. My gcc asm()-foo is rather weak >so >> I would feel better if somebody double checked after me. > >I completely blow at this gcc-asm constraints thing too :/ > >In any case, Ingo will you look after the rest of these patches, or do >you want me to pick up the remaining bits?
The reason it breaks is because the same register can't be an input-output register and a separate input. However, the input side of the input-output is probably undefined, and so gcc may not notice. -- Sent from my Android device with K-9 Mail. Please excuse brevity and formatting.
| |