Bug 248515

Summary: vmalloc_sync_all() is broken for PAE Xen kernels
Product: Red Hat Enterprise Linux 5 Reporter: Ian Campbell <ijc>
Component: kernel-xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED NOTABUG QA Contact: Martin Jenner <mjenner>
Severity: low Docs Contact:
Priority: low    
Version: 5.0CC: riel, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-13 22:34:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
linux-2.6.18-xen 136:34ebf92ad28d ported to 2.6.18-53.el5 none

Description Ian Campbell 2007-07-17 08:24:06 UTC
vmalloc_sync_all() needs to iterate over PMDs not PGDs in the Xen+PAE case.

Upstream fix is http://hg.uk.xensource.com/linux-2.6.18-xen.hg?cs=34ebf92ad28d

This only impacts RHEL5 not RHEL4u5, as far as I can tell.

Comment 1 Red Hat Bugzilla 2007-07-25 00:54:44 UTC
change QA contact

Comment 2 Ian Campbell 2007-12-14 09:29:28 UTC
Created attachment 288921 [details]
linux-2.6.18-xen 136:34ebf92ad28d ported to 2.6.18-53.el5

Comment 3 Don Dutile (Red Hat) 2007-12-14 19:47:17 UTC
Can you provide a test case that shows a failure, so
the fix can be verified? TIA.



Comment 4 Ian Campbell 2007-12-19 16:24:29 UTC
Sorry but I don't really know much about the specifics of this one. The ML
thread which caused the fix to be made starts at 
http://marc.info/?l=xen-devel&m=118122881300249.

I suspect that to repro you just have to be unlucky at boot time.


Comment 5 Rik van Riel 2009-01-13 22:34:33 UTC
The function vmalloc_sync_all in arch/i386/mm/fault-xen.c is under an "#ifndef CONFIG_X86_PAE", meaning that that function is never used in the RHEL5 code base, which only has Xen kernels with PAE.

One reason for this is that the kernel PMD is shared between all PGDs in an i386 PAE configuration, so there is nothing to sync.

include/asm-i386/mach-xen/asm/pgtable-3level.h has this define:

#define vmalloc_sync_all() ((void)0)

This means that the changeset is not needed for RHEL5 (which explains why we never ran into vmalloc_sync_all related bugs).

Comment 6 Ian Campbell 2009-01-14 11:13:33 UTC
You are right, sorry for not noticing this sooner.

http://xenbits.xensource.com/xen-unstable.hg?rev/c5ff7671b9f2 made vmalloc_sync_all mean something for PAE but that was only required because of http://xenbits.xensource.com/xen-unstable.hg?rev/c4ed5b740a8d and you have neither patch in RHEL 5.

Since c4ed5b740a8d was just a cleanup (I think) all this can be ignored.