WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Fwd: Re: struct page field arrangement

To: Keir Fraser <keir@xxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] Fwd: Re: struct page field arrangement
From: Keir Fraser <keir@xxxxxxxxxxxxx>
Date: Fri, 16 Mar 2007 14:30:32 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 16 Mar 2007 07:29:48 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C2205679.BAA4%keir@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acdn1Tupegw1SNPIEduhtwAX8io7RQAAmtJB
Thread-topic: [Xen-devel] Fwd: Re: struct page field arrangement
User-agent: Microsoft-Entourage/11.2.5.060620
On 16/3/07 14:13, "Keir Fraser" <keir@xxxxxxxxxxxxx> wrote:

> Either we are in stop_machine context, or we have offlined all other CPUs
> via cpu hotplug. In the absence of involuntary preemption it's therefore
> safe to proceed without locking. But probably inadvisable (we'd like to
> support full CONFIG_PREEMPT sometime in the future)... I think the 386 code
> should be changed to match x86/64.

Actually it's not so easy. We walk the pgd_list and so do not have the mm
associated with the pgd. And in some cases there may not be an mm, if we
walk the list after a pgd is allocated but before it is attached to an mm.

So I think we should simply disable preemption in the i386 case. Which is
done easily by simply taking the pgd_lock (which it would be polite to do
anyway, since we're walking the pgd_list). With preemption disabled we're
definitely safe because pinning is non-blocking and all other CPUs are
safely spinning in stop_machine or have been offlined.

Actually preemption is already disabled by the caller (for a different
reason) but it's not nice to rely on that.

 -- Keir


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