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

[Xen-devel] Re: [GIT PULL tip/x86/mm] xen/x86 fixes

On Wed, 16 Mar 2011, Yinghai Lu wrote:
> On 03/16/2011 07:43 AM, Stefano Stabellini wrote:
> > actually attach the logs :)
> >
> > On Wed, 16 Mar 2011, Stefano Stabellini wrote:
> >> On Fri, 11 Mar 2011, Konrad Rzeszutek Wilk wrote:
> >>> On Fri, Mar 11, 2011 at 01:17:23PM +0000, Stefano Stabellini wrote:
> >>>> Hello,
> >>>> recently we had a couple of long discussions with Yinghai about boot
> >>>> crashes on xen, related to pagetable initialization.
> >>>> As a result we came up with three patches, two of them fix the first [1]
> >>>> boot crash and provide a nice cleanup on native:
> >>>
> >>> I don't know why this is happening now, but it could be very well
> >>> related to the build config. Smaller builds don't seem to encounter this, 
> >>> while
> >>> this is a distro type build. If I use:
> >>>
> >>>> Stefano Stabellini (1):
> >>>>        xen: set max_pfn_mapped to the last pfn mapped
> >>>
> >>> it hangs during bootup. The machine hangs during the box (no keyboard 
> >>> interaction)
> >>> and I can see this in the bootup.
> >>
> >> Konrad sent me few other logs offline: log1 is the log of the hang and
> >> log2 is a successful boot (reverting the problematic patch).
> >> It looks like the SP5100 TCO WatchDog Timer Driver is using ioremap on
> >> an address (0xb8fe00) that belongs to the memory range used for the
> >> pagetable (0x9fc000-0xf43fff).
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000] found SMP MP-table at 
> [ffff8800000ff780] ff780
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]     memblock_x86_reserve_range: 
> [0x000ff780-0x000ff78f]   * MP-table mpf
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]     memblock_x86_reserve_range: 
> [0x000fd240-0x000fd423]   * MP-table mpc
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]     memblock_x86_reserve_range: 
> [0x01cfd000-0x01d1c0e4]              BRK
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000] MEMBLOCK configuration:
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  memory size = 0x23fe39000
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  memory.cnt  = 0x3
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  memory[0x0]      
> [0x00000000010000-0x0000000009afff], 0x8b000 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  memory[0x1]      
> [0x00000000100000-0x000000bffaffff], 0xbfeb0000 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  memory[0x2]      
> [0x00000100000000-0x0000027fefdfff], 0x17fefe000 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  reserved.cnt  = 0x5
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  reserved[0x0]    
> [0x000000000fd240-0x000000000fd423], 0x1e4 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  reserved[0x1]    
> [0x000000000ff780-0x000000000ff78f], 0x10 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  reserved[0x2]    
> [0x00000001000000-0x00000001d1c0e4], 0xd1c0e5 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  reserved[0x3]    
> [0x00000001e33000-0x00000016a36fff], 0x14c04000 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]  reserved[0x4]    
> [0x000001f0f7e000-0x0000027fefdfff], 0x8ef80000 bytes
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000] Scanning 0 areas for low memory 
> corruption
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]     memblock_x86_reserve_range: 
> [0x00099000-0x0009afff]       TRAMPOLINE
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]     memblock_x86_reserve_range: 
> [0x00095000-0x00098fff]      ACPI WAKEUP
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000] init_memory_mapping: 
> 0000000000000000-00000000bffb0000
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000] DEBUG find_early_table_space: 
> _text=1000000 _end=1e33000 pgtable_start=9fc000 pgtable_end=9fc000
> 
> Mar 15 16:09:04 phenom kernel: [    0.000000]     memblock_x86_reserve_range: 
> [0x009fc000-0x00f43fff]          PGTABLE
> 
> e820 said that range is ram and usable. so it is right for memblock to use it.
> 
> why TCO watchdog try to use ioremap with RAM?  BIOS put wrong mmio in that 
> BAR?
> 
> could do some sanitary check in that driver.
> 

Yeah, I think the max_pfn_mapped patch might be exposing bugs in the
drivers.
Do you remember this patch:

https://lkml.org/lkml/2011/2/4/60

would you be happy with it as a safer alternative?



> also another question is why memblock_find return so low value, it should 
> return value just under 00000000bffb0000
> We are putting page-table high to make usable more continuous, instead of put 
> it just under 512M.
 
That is because Konrad is testing without your page table high patch.
I think that with the pagetable high patch most of these issues would go
away on x86_64 but they would remain on x86_32.


Thank you vert much for your quick reply!

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

<Prev in Thread] Current Thread [Next in Thread>