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

Re: [Xen-ia64-devel] Problem with xen-unstable cset 7937 (grant tabletransfer fix)




On 22 Nov 2005, at 00:46, Magenheimer, Dan (HP Labs Fort Collins) wrote:

Keir, could you translate the asm statement in gnttab_transfer
into a cmpxchg (see include/asm-x86/system.h)?  Or is it doing
something that the macros can't do?

Yes, it can be. The cmpxchg is relying on count_info and domain fields being adjacent, by the way. And the construction of old/new values to pass to cmpxchg is specific to little endian systems. It might be best to define an arch-specific function for atomically stealing a page from a domain, although we might get away with defining a endian-aware macro for concatenating two u32's into a u64, and turning cmpxchg8b into cmpxchg().

Also, I've attached a patch that shows the differences between
the x86 and ia64 versions.  If you think it would be possible
to merge most of these differences (and/or incorporate a
small number of ifdefs into common/grant_table.c), that
would be very helpful.

No patch!

 -- Keir


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


 


Rackspace

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