[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH 13/14] x86/ticketlock: add slowpath logic



On 11/17/2010 11:05 AM, Jeremy Fitzhardinge wrote:
On 11/17/2010 12:58 AM, Avi Kivity wrote:
>>  Actually in this case I'm pretty sure there's already a "set bit"
>>  function which will do the job.  set_bit(), I guess, though it takes a
>>  bit number rather than a mask...
>>
>
>
>  set_bit() operates on a long, while the intel manuals recommend
>  against operating on operands of different size, especially with
>  locked operations.  I think newer processors have more relaxed
>  requirements, though.

Despite its prototype, set_bit() is pretty specifically using "orb" for
a the constant case, or bts otherwise (I don't know what size memory
operation bts is considered to generate).


Perhaps that should be fixed.

bts will take its size from the argument, so it will be a btsq on x86_64. AFAICT, the only visible difference between btsl and btsq is a page fault if the last four bytes of the operand are in an unmapped page.

--
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.