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

Re: Backporting HIGHPTE option patch from tip.git



On Thu, 2010-02-25 at 10:18 +0100, Bastian Blank wrote:
> On Thu, Feb 25, 2010 at 07:33:26AM +0000, Ian Campbell wrote:
> > Is it acceptable to backport
> > http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=commitdiff;h=a73a040e3b18521f83e726abacc2f3992a148388 into the sid kernel?
> 
> Will it show up in Linus tree any time soon?

Hopefully in the 2.6.33 merge window but I will check with x86
maintainers.

> > The followup Xen patch is
> > http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=commitdiff;h=9be6abceadd654543648b799ae430f30e09959ac
> > and disables HIGHPTE when running under Xen. It prevents crashes under
> > load due to HIGHPTE races which cannot be otherwise (easily) avoided
> > under Xen.
> 
> The commit message does not describe why, and it is not obvious to me.

It's a race between pinning a page and kmap/kunmap. There's a path in
the pagefault code where the kernel breaks its own locking rules by
kmapping a high pte page without holding the pagetable lock which breaks
Xen's ability to track the pinned/unpinned state of the page. (I'm going
to ask Jeremy to update the commit to include this paragraph of
explanation).

Jeremy gave some explanation in:
http://lists.xensource.com/archives/html/xen-devel/2010-01/msg00921.html
(which I've blatantly stolen above) 

The thread which led to the patch is "[Xen-devel] dom0 pvops crash" and
"[Xen-devel] Xen pvops kernel CONFIG_HIGHPTE race/crash" involving Pasi
Kärkkäinen. It's quite long but the final conclusion starts at:
http://lists.xensource.com/archives/html/xen-devel/2010-02/msg00403.html

That thread starts at:
http://lists.xensource.com/archives/html/xen-devel/2010-01/msg00902.html
and there is an older version of the same issue at:
http://lists.xensource.com/archives/html/xen-devel/2009-06/msg00519.html

> I'm not sure, but I think this should be possible to do via stable after
> both patches landed where they belong.

OK will go that route assuming I get confirmation that the patch is
destined for 2.3.32. If not then would a backport be appropriate?

Ian.
-- 
Ian Campbell
Current Noise: Autopsy - Pagan Saviour (Live '90)

Q:	Why haven't you graduated yet?
A:	Well, Dad, I could have finished years ago, but I wanted
	my dissertation to rhyme.


Reply to: