Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd

From: H. Peter Anvin
Date: Sat Jul 21 2007 - 15:52:52 EST


Muli Ben-Yehuda wrote:
>
> Mostly looks good, but see below.
>
>> diff --git a/drivers/char/agp/efficeon-agp.c b/drivers/char/agp/efficeon-agp.c
>> index df8da72..41f46df 100644
>> --- a/drivers/char/agp/efficeon-agp.c
>> +++ b/drivers/char/agp/efficeon-agp.c
>> @@ -221,7 +221,7 @@ static int efficeon_create_gatt_table(struct agp_bridge_data *bridge)
>> SetPageReserved(virt_to_page((char *)page));
>>
>> for (offset = 0; offset < PAGE_SIZE; offset += clflush_chunk)
>> - asm volatile("clflush %0" : : "m" (*(char *)(page+offset)));
>> + clflush((char *)page+offset);
>
> The original code flushes (*(page+offset)) whereas the new code
> flushes (pagee+offset). Assuming this is a bug-fix, it should go as a
> separate patch.
>

No, it doesn't. There is a * in the inline, as there should be.

-hpa
-
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/