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

Re: [Xen-devel] Xen not working with stock Debian Wheezy 3.2 kernel on a Core 2 Duo box



On Mon, Jul 08, 2013 at 12:29:02PM +0100, Jan Beulich wrote:
> >>> On 08.07.13 at 12:31, Wei Liu <wei.liu2@xxxxxxxxxx> wrote:
> 
> $subject is probably the wrong way round, since ...
> 

Right... Xen is doing its job...

> > (XEN)  0000000000000000 - 000000000008f000 (usable)
> > (XEN)  000000000008f000 - 00000000000a0000 (reserved)
> > (XEN)  00000000000e0000 - 0000000000100000 (reserved)
> > (XEN)  0000000000100000 - 00000000ce69a000 (usable)
> > (XEN)  00000000ce69a000 - 00000000ce6f1000 (ACPI NVS)
> > (XEN)  00000000ce6f1000 - 00000000cf5fb000 (usable)
> > (XEN)  00000000cf5fb000 - 00000000cf608000 (reserved)
> > (XEN)  00000000cf608000 - 00000000cf6a5000 (usable)
> > (XEN)  00000000cf6a5000 - 00000000cf6aa000 (ACPI data)
> > (XEN)  00000000cf6aa000 - 00000000cf6ab000 (usable)
> > (XEN)  00000000cf6ab000 - 00000000cf6f2000 (ACPI NVS)
> > (XEN)  00000000cf6f2000 - 00000000cf6ff000 (ACPI data)
> > (XEN)  00000000cf6ff000 - 00000000cf700000 (usable)
> > (XEN)  00000000cf700000 - 00000000d0000000 (reserved)
> > (XEN)  00000000fff00000 - 0000000100000000 (reserved)
> > (XEN)  0000000100000000 - 0000000228000000 (usable)
> > (XEN)  0000000228000000 - 000000022c000000 (unusable)
> 
> .. this and ...
> 
> > [    0.000000]  Xen: 0000000000000000 - 000000000008f000 (usable)
> > [    0.000000]  Xen: 000000000008f000 - 0000000000100000 (reserved)
> > [    0.000000]  Xen: 0000000000100000 - 00000000ce69a000 (usable)
> > [    0.000000]  Xen: 00000000ce69a000 - 00000000ce6f1000 (ACPI NVS)
> > [    0.000000]  Xen: 00000000ce6f1000 - 00000000cf5fb000 (usable)
> > [    0.000000]  Xen: 00000000cf5fb000 - 00000000cf608000 (reserved)
> > [    0.000000]  Xen: 00000000cf608000 - 00000000cf6a5000 (usable)
> > [    0.000000]  Xen: 00000000cf6a5000 - 00000000cf6aa000 (ACPI data)
> > [    0.000000]  Xen: 00000000cf6aa000 - 00000000cf6ab000 (usable)
> > [    0.000000]  Xen: 00000000cf6ab000 - 00000000cf6f2000 (ACPI NVS)
> > [    0.000000]  Xen: 00000000cf6f2000 - 00000000cf6ff000 (ACPI data)
> > [    0.000000]  Xen: 00000000cf6ff000 - 00000000cf700000 (usable)
> > [    0.000000]  Xen: 00000000cf700000 - 00000000d0000000 (reserved)
> > [    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
> > [    0.000000]  Xen: 00000000fff00000 - 0000000100000000 (reserved)
> > [    0.000000]  Xen: 0000000100000000 - 0000000228000000 (usable)
> > [    0.000000]  Xen: 0000000228000000 - 000000022c000000 (unusable)
> 
> ... this show that the kernel should be well aware that it shouldn't
> map (or use in any other way) this region.
> 
> > [    0.000000] init_memory_mapping: 0000000000000000-00000000cf700000
> > [    0.000000] init_memory_mapping: 0000000100000000-0000000228000000
> > [    0.000000] init_memory_mapping: 0000000228000000-000000022c000000
> 
> Yet it does, ...
> 
> > (XEN) mm.c:783:d0 Non-privileged (0) attempt to map I/O space 00228000
> > (XEN) mm.c:1219:d0 Failure in alloc_l1_table: entry 0
> > (XEN) mm.c:2096:d0 Error while validating mfn 226221 (pfn 1e9760) for type 
> > 1000000000000000: caf=8000000000000003 taf=1000000000000001
> > (XEN) mm.c:2992:d0 Error while pinning mfn 226221
> 
> ... and Xen rightfully rejects the attempt.
> 
> One question of course is where this pretty unusual "unusable"
> memory block comes from on that system. Is this block visible the
> same way when booting a native kernel, or is this being forced to
> "unusable" by Xen?
> 

Vanilla 3.10 + Xen unstable:
[    0.000000] Xen: [mem 0x0000000000000000-0x000000000008efff] usable
[    0.000000] Xen: [mem 0x000000000008f000-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x00000000ce699fff] usable
[    0.000000] Xen: [mem 0x00000000ce69a000-0x00000000ce6f0fff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000ce6f1000-0x00000000cf5fafff] usable
[    0.000000] Xen: [mem 0x00000000cf5fb000-0x00000000cf607fff] reserved
[    0.000000] Xen: [mem 0x00000000cf608000-0x00000000cf6a4fff] usable
[    0.000000] Xen: [mem 0x00000000cf6a5000-0x00000000cf6a9fff] ACPI data
[    0.000000] Xen: [mem 0x00000000cf6aa000-0x00000000cf6aafff] usable
[    0.000000] Xen: [mem 0x00000000cf6ab000-0x00000000cf6f1fff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cf6f2000-0x00000000cf6fefff] ACPI data
[    0.000000] Xen: [mem 0x00000000cf6ff000-0x00000000cf6fffff] usable
[    0.000000] Xen: [mem 0x00000000cf700000-0x00000000cfffffff] reserved
[    0.000000] Xen: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] Xen: [mem 0x00000000fff00000-0x00000000ffffffff] reserved
[    0.000000] Xen: [mem 0x0000000100000000-0x0000000227ffffff] usable
[    0.000000] Xen: [mem 0x0000000228000000-0x000000022bffffff] unusable
[    0.000000] ERROR: earlyprintk= xenboot already used
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x228000 max_arch_pfn = 0x400000000
[    0.000000] e820: last_pfn = 0xcf700 max_arch_pfn = 0x400000000
[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000] init_memory_mapping: [mem 0x219e00000-0x219ffffff]
[    0.000000] init_memory_mapping: [mem 0x218000000-0x219dfffff]
[    0.000000] init_memory_mapping: [mem 0x200000000-0x217ffffff]
[    0.000000] init_memory_mapping: [mem 0x00100000-0xce699fff]
[    0.000000] init_memory_mapping: [mem 0xce6f1000-0xcf5fafff]
[    0.000000] init_memory_mapping: [mem 0xcf608000-0xcf6a4fff]
[    0.000000] init_memory_mapping: [mem 0xcf6aa000-0xcf6aafff]
[    0.000000] init_memory_mapping: [mem 0xcf6ff000-0xcf6fffff]
[    0.000000] init_memory_mapping: [mem 0x100000000-0x1ffffffff]
[    0.000000] init_memory_mapping: [mem 0x21a000000-0x227ffffff]

We also have the similar unusable block, however the kernel doesn't map it.

3.2.0-4-amd64 (just found out that there's actually backtrace in dmesg):
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000008f000 (usable)
[    0.000000]  BIOS-e820: 000000000008f000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 00000000ce69a000 (usable)
[    0.000000]  BIOS-e820: 00000000ce69a000 - 00000000ce6f1000 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000ce6f1000 - 00000000cf5fb000 (usable)
[    0.000000]  BIOS-e820: 00000000cf5fb000 - 00000000cf608000 (reserved)
[    0.000000]  BIOS-e820: 00000000cf608000 - 00000000cf6a5000 (usable)
[    0.000000]  BIOS-e820: 00000000cf6a5000 - 00000000cf6aa000 (ACPI data)
[    0.000000]  BIOS-e820: 00000000cf6aa000 - 00000000cf6ab000 (usable)
[    0.000000]  BIOS-e820: 00000000cf6ab000 - 00000000cf6f2000 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000cf6f2000 - 00000000cf6ff000 (ACPI data)
[    0.000000]  BIOS-e820: 00000000cf6ff000 - 00000000cf700000 (usable)
[    0.000000]  BIOS-e820: 00000000cf700000 - 00000000d0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved)
[    0.000000]  BIOS-e820: 0000000100000000 - 000000022c000000 (usable)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] DMI:                  /DG965SS, BIOS 
MQ96510J.86A.1669.2007.0406.0107 04/06/2007
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) 
==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn = 0x22c000 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-FFFFF uncachable
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask F80000000 write-back
[    0.000000]   1 base 080000000 mask FC0000000 write-back
[    0.000000]   2 base 0C0000000 mask FF0000000 write-back
[    0.000000]   3 base 0CF800000 mask FFF800000 uncachable
[    0.000000]   4 base 0CF700000 mask FFFF00000 uncachable
[    0.000000]   5 base 100000000 mask F00000000 write-back
[    0.000000]   6 base 200000000 mask FE0000000 write-back
[    0.000000]   7 base 220000000 mask FF8000000 write-back
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820 update range: 00000000cf700000 - 0000000100000000 (usable) 
==> (reserved)
[    0.000000] e820 update range: 0000000228000000 - 000000022c000000 (usable) 
==> (reserved)
[    0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 
64MB of RAM.
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: at 
/build/linux-s5x2oE/linux-3.2.46/arch/x86/kernel/cpu/mtrr/cleanup.c:971 
mtrr_trim_uncached_memory+0x2a8/0x2cd()
[    0.000000] Hardware name:         
[    0.000000] Modules linked in:
[    0.000000] Pid: 0, comm: swapper Not tainted 3.2.0-4-amd64 #1 Debian 
3.2.46-1
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff81046b75>] ? warn_slowpath_common+0x78/0x8c
[    0.000000]  [<ffffffff816b56e9>] ? mtrr_trim_uncached_memory+0x2a8/0x2cd
[    0.000000]  [<ffffffff816afa0c>] ? setup_arch+0x52a/0xc27
[    0.000000]  [<ffffffff8134833d>] ? printk+0x43/0x48
[    0.000000]  [<ffffffff81070df3>] ? arch_local_irq_disable+0x7/0x8
[    0.000000]  [<ffffffff8134eb77>] ? _raw_spin_unlock_irqrestore+0xe/0xf
[    0.000000]  [<ffffffff816ab84d>] ? start_kernel+0xcf/0x3c3
[    0.000000]  [<ffffffff816ab140>] ? early_idt_handlers+0x140/0x140
[    0.000000]  [<ffffffff816ab3c4>] ? x86_64_start_kernel+0x104/0x111
[    0.000000] ---[ end trace fbfbe82c378e4a32 ]---
[    0.000000] update e820 for mtrr
[    0.000000] modified physical RAM map:
[    0.000000]  modified: 0000000000000000 - 0000000000010000 (reserved)
[    0.000000]  modified: 0000000000010000 - 000000000008f000 (usable)
[    0.000000]  modified: 000000000008f000 - 00000000000a0000 (reserved)
[    0.000000]  modified: 00000000000e0000 - 0000000000100000 (reserved)
[    0.000000]  modified: 0000000000100000 - 00000000ce69a000 (usable)
[    0.000000]  modified: 00000000ce69a000 - 00000000ce6f1000 (ACPI NVS)
[    0.000000]  modified: 00000000ce6f1000 - 00000000cf5fb000 (usable)
[    0.000000]  modified: 00000000cf5fb000 - 00000000cf608000 (reserved)
[    0.000000]  modified: 00000000cf608000 - 00000000cf6a5000 (usable)
[    0.000000]  modified: 00000000cf6a5000 - 00000000cf6aa000 (ACPI data)
[    0.000000]  modified: 00000000cf6aa000 - 00000000cf6ab000 (usable)
[    0.000000]  modified: 00000000cf6ab000 - 00000000cf6f2000 (ACPI NVS)
[    0.000000]  modified: 00000000cf6f2000 - 00000000cf6ff000 (ACPI data)
[    0.000000]  modified: 00000000cf6ff000 - 00000000cf700000 (usable)
[    0.000000]  modified: 00000000cf700000 - 00000000d0000000 (reserved)
[    0.000000]  modified: 00000000fff00000 - 0000000100000000 (reserved)
[    0.000000]  modified: 0000000100000000 - 0000000228000000 (usable)
[    0.000000]  modified: 0000000228000000 - 000000022c000000 (reserved)
[    0.000000] last_pfn = 0x228000 max_arch_pfn = 0x400000000
[    0.000000] last_pfn = 0xcf700 max_arch_pfn = 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000fe200] fe200
[    0.000000] initial memory mapped : 0 - 20000000
[    0.000000] Base memory trampoline at [ffff88000008a000] 8a000 size 20480
[    0.000000] init_memory_mapping: 0000000000000000-00000000cf700000
[    0.000000]  0000000000 - 00cf600000 page 2M
[    0.000000]  00cf600000 - 00cf700000 page 4k
[    0.000000] kernel direct mapping tables up to cf700000 @ 1fffa000-20000000
[    0.000000] init_memory_mapping: 0000000100000000-0000000228000000
[    0.000000]  0100000000 - 0228000000 page 2M
[    0.000000] kernel direct mapping tables up to 228000000 @ cf69f000-cf6a5000



Wei.

> Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.