Re: [PATCH 1 of 4] mm: add a ptep_modify_prot transactionabstraction

From: Ingo Molnar
Date: Sat Jun 21 2008 - 02:09:05 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> Jeremy Fitzhardinge wrote:
>> Linus Torvalds wrote:
>>
>>> On Fri, 20 Jun 2008, Ingo Molnar wrote:
>>>
>>>> okay - Jeremy, could you try the fix below? (or tip/master, i just
>>>> pushed this out)
>>>>
>>> Actually, don't try that one.
>>>
>>> It needs to be a _byte_ registers, so "ir" was wrong. You need "iq".
>>>
>>
>> Doesn't work, unfortunately:
>> {standard input}:20511: Error: Incorrect register `%eax' used with `b'
>> suffix
>>
>> lock; orb %eax,1(%rdi) # tmp64,
>>
>
> This does work:
>
> asm volatile(LOCK_PREFIX "orb %1,%0"
> : CONST_MASK_ADDR(nr, addr)
> : "iq" ((u8)CONST_MASK(nr))
> : "memory");
>
> (ie, explicitly casting the mask to u8)

ok, i've pushed out the fix with this.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/