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

Re: [Xen-devel] get_page put_page cmpxchg problem?




On 21 Jul 2005, at 21:59, King, Steven R wrote:

Hi Folks,
In -unstable (I haven't updated in a few days), I'm investigating a problem in which revalidate_l1() fails because get_page() fails due to a count_info of 0.  While that problem is still hanging over me, I did notice that get_page() in include/asm-x86/mm.h does a 64-bit cmpxchg while put_page() only does a 32-bit cmpxchg.  Seemed odd to me and possibly related to my bug.    I'm running on a 32-bit machine without shadow tables.
 
Can anyone offer an explanation?

In put_page() we can be sure the refcnt is non-zero and so the domain ptr will not change under our feet. Therefore there's no need to include it in the cmpxchg when we update the reference count.

 -- Keir


_______________________________________________
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®.