[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 2/2] xen/setup: Remap Xen Identity Mapped RAM
On 31/07/14 18:43, David Vrabel wrote: > On 20/07/14 01:01, Matt Rushton wrote: >> Instead of ballooning up and down dom0 memory this remaps the existing mfns >> that were replaced by the identity map. The reason for this is that the >> existing implementation ballooned memory up and and down which caused dom0 >> to have discontiguous pages. In some cases this resulted in the use of bounce >> buffers which reduced network I/O performance significantly. This change will >> honor the existing order of the pages with the exception of some boundary >> conditions. >> >> To do this we need to update both the Linux p2m table and the Xen m2p table. >> Particular care must be taken when updating the p2m table since it's >> important >> to limit table memory consumption and reuse the existing leaf pages which get >> freed when an entire leaf page is set to the identity map. To implement this, >> mapping updates are grouped into blocks with table entries getting cached >> temporarily and then released. >> >> On my test system before: >> Total pages: 2105014 >> Total contiguous: 1640635 >> >> After: >> Total pages: 2105014 >> Total contiguous: 2098904 > > Applied to devel/for-linus-3.17 Unfortunately, this produces too many WARNINGs on some boxes or with certain configurations. I will remove this patch from the queue for 3.17. [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: CPU: 0 PID: 0 at /home/build/linux-boris/arch/x86/xen/setup.c:237 xen_update_mem_tables+0xae/0xb8() [ 0.000000] Failed to set m2p mapping for mfn=2302110 pfn=255744 [ 0.000000] Modules linked in: [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.16.0-rc5upstream-00266-gf83c52f #1 [ 0.000000] 000000ed c17e9d2c c1615056 c1730590 c17e9d5c c109032f c1730618 c17e9d88 [ 0.000000] 00000000 c1730590 000000ed c185b4c3 c185b4c3 deadbeef deadbeef 0000009e [ 0.000000] c17e9d74 c10903ce 00000009 c17e9d6c c1730618 c17e9d88 c17e9db4 c185b4c3 [ 0.000000] Call Trace: [ 0.000000] [<c1615056>] dump_stack+0x48/0x60 [ 0.000000] [<c109032f>] warn_slowpath_common+0x7f/0xa0 [ 0.000000] [<c185b4c3>] ? xen_update_mem_tables+0xae/0xb8 [ 0.000000] [<c185b4c3>] ? xen_update_mem_tables+0xae/0xb8 [ 0.000000] [<c10903ce>] warn_slowpath_fmt+0x2e/0x30 [ 0.000000] [<c185b4c3>] xen_update_mem_tables+0xae/0xb8 [ 0.000000] [<c185bbbf>] xen_memory_setup+0x544/0xb33 [ 0.000000] [<c12de82c>] ? sprintf+0x1c/0x20 [ 0.000000] [<c1861b32>] setup_memory_map+0x19/0x3b [ 0.000000] [<c185b332>] ? xen_arch_setup+0xad/0xe1 [ 0.000000] [<c185fc33>] setup_arch+0x246/0xe68 [ 0.000000] [<c103bd7e>] ? __raw_callee_save_xen_restore_fl+0x6/0x8 [ 0.000000] [<c10dc5ec>] ? vprintk_emit+0x19c/0x4a0 [ 0.000000] [<c1614efe>] ? printk+0x48/0x4a [ 0.000000] [<c18569dc>] start_kernel+0x76/0x435 [ 0.000000] [<c103bf77>] ? xen_setup_runstate_info+0x27/0x40 [ 0.000000] [<c1856373>] i386_start_kernel+0x12e/0x131 [ 0.000000] [<c185b106>] xen_start_kernel+0x661/0x66c [ 0.000000] ---[ end trace db4b7fde7786bb07 ]--- [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: CPU: 0 PID: 0 at /home/build/linux-boris/arch/x86/xen/setup.c:350 xen_memory_setup+0x580/0xb33() [ 0.000000] Failed to update mem mapping for pfn=256000 mfn=2302110 [ 0.000000] Modules linked in: [ 0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G W 3.16.0-rc5upstream-00266-gf83c52f #1 [ 0.000000] 0000015e c17e9d6c c1615056 c1730590 c17e9d9c c109032f c17306b4 c17e9dc8 [ 0.000000] 00000000 c1730590 0000015e c185bbfb c185bbfb 00000062 0003e700 0023209e [ 0.000000] c17e9db4 c10903ce 00000009 c17e9dac c17306b4 c17e9dc8 c17e9e80 c185bbfb [ 0.000000] Call Trace: [ 0.000000] [<c1615056>] dump_stack+0x48/0x60 [ 0.000000] [<c109032f>] warn_slowpath_common+0x7f/0xa0 [ 0.000000] [<c185bbfb>] ? xen_memory_setup+0x580/0xb33 [ 0.000000] [<c185bbfb>] ? xen_memory_setup+0x580/0xb33 [ 0.000000] [<c10903ce>] warn_slowpath_fmt+0x2e/0x30 [ 0.000000] [<c185bbfb>] xen_memory_setup+0x580/0xb33 [ 0.000000] [<c12de82c>] ? sprintf+0x1c/0x20 [ 0.000000] [<c1861b32>] setup_memory_map+0x19/0x3b [ 0.000000] [<c185b332>] ? xen_arch_setup+0xad/0xe1 [ 0.000000] [<c185fc33>] setup_arch+0x246/0xe68 [ 0.000000] [<c103bd7e>] ? __raw_callee_save_xen_restore_fl+0x6/0x8 [ 0.000000] [<c10dc5ec>] ? vprintk_emit+0x19c/0x4a0 [ 0.000000] [<c1614efe>] ? printk+0x48/0x4a [ 0.000000] [<c18569dc>] start_kernel+0x76/0x435 [ 0.000000] [<c103bf77>] ? xen_setup_runstate_info+0x27/0x40 [ 0.000000] [<c1856373>] i386_start_kernel+0x12e/0x131 [ 0.000000] [<c185b106>] xen_start_kernel+0x661/0x66c [ 0.000000] ---[ end trace db4b7fde7786bb08 ]--- [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: CPU: 0 PID: 0 at /home/build/linux-boris/arch/x86/xen/setup.c:436 xen_memory_setup+0x654/0xb33() [ 0.000000] Failed to remap 1:1 memory cur_pfn=158 size=98 remap_pfn=255744 [ 0.000000] Modules linked in: [ 0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G W 3.16.0-rc5upstream-00266-gf83c52f #1 [ 0.000000] 000001b4 c17e9d6c c1615056 c1730590 c17e9d9c c109032f c17306e8 c17e9dc8 [ 0.000000] 00000000 c1730590 000001b4 c185bccf c185bccf c17e9e70 0003e700 0023209e [ 0.000000] c17e9db4 c10903ce 00000009 c17e9dac c17306e8 c17e9dc8 c17e9e80 c185bccf [ 0.000000] Call Trace: [ 0.000000] [<c1615056>] dump_stack+0x48/0x60 [ 0.000000] [<c109032f>] warn_slowpath_common+0x7f/0xa0 [ 0.000000] [<c185bccf>] ? xen_memory_setup+0x654/0xb33 [ 0.000000] [<c185bccf>] ? xen_memory_setup+0x654/0xb33 [ 0.000000] [<c10903ce>] warn_slowpath_fmt+0x2e/0x30 [ 0.000000] [<c185bccf>] xen_memory_setup+0x654/0xb33 [ 0.000000] [<c1861b32>] setup_memory_map+0x19/0x3b [ 0.000000] [<c185b332>] ? xen_arch_setup+0xad/0xe1 [ 0.000000] [<c185fc33>] setup_arch+0x246/0xe68 [ 0.000000] [<c103bd7e>] ? __raw_callee_save_xen_restore_fl+0x6/0x8 [ 0.000000] [<c10dc5ec>] ? vprintk_emit+0x19c/0x4a0 [ 0.000000] [<c1614efe>] ? printk+0x48/0x4a [ 0.000000] [<c18569dc>] start_kernel+0x76/0x435 [ 0.000000] [<c103bf77>] ? xen_setup_runstate_info+0x27/0x40 [ 0.000000] [<c1856373>] i386_start_kernel+0x12e/0x131 [ 0.000000] [<c185b106>] xen_start_kernel+0x661/0x66c [ 0.000000] ---[ end trace db4b7fde7786bb09 ]--- [ 0.000000] Freeing 9e-100 pfn range: 98 pages freed [ 0.000000] Set 266437667 page(s) to 1-1 mapping [ 0.000000] Remapped 0 page(s), last_pfn=255744 [ 0.000000] Released 98 page(s) [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: CPU: 0 PID: 0 at /home/build/linux-boris/arch/x86/xen/setup.c:95 xen_memory_setup+0x9c4/0xb33() [ 0.000000] Trying to remove 3e700 which has 23209e mfn! [ 0.000000] Modules linked in: [ 0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G W 3.16.0-rc5upstream-00266-gf83c52f #1 [ 0.000000] 0000005f c17e9d6c c1615056 c1730590 c17e9d9c c109032f c17307d0 c17e9dc8 [ 0.000000] 00000000 c1730590 0000005f c185c03f c185c03f 3e700000 00000000 00000003 [ 0.000000] c17e9db4 c10903ce 00000009 c17e9dac c17307d0 c17e9dc8 c17e9e80 c185c03f [ 0.000000] Call Trace: [ 0.000000] [<c1615056>] dump_stack+0x48/0x60 [ 0.000000] [<c109032f>] warn_slowpath_common+0x7f/0xa0 [ 0.000000] [<c185c03f>] ? xen_memory_setup+0x9c4/0xb33 [ 0.000000] [<c185c03f>] ? xen_memory_setup+0x9c4/0xb33 [ 0.000000] [<c10903ce>] warn_slowpath_fmt+0x2e/0x30 [ 0.000000] [<c185c03f>] xen_memory_setup+0x9c4/0xb33 [ 0.000000] [<c1861b32>] setup_memory_map+0x19/0x3b [ 0.000000] [<c185b332>] ? xen_arch_setup+0xad/0xe1 [ 0.000000] [<c185fc33>] setup_arch+0x246/0xe68 [ 0.000000] [<c103bd7e>] ? __raw_callee_save_xen_restore_fl+0x6/0x8 [ 0.000000] [<c10dc5ec>] ? vprintk_emit+0x19c/0x4a0 [ 0.000000] [<c1614efe>] ? printk+0x48/0x4a [ 0.000000] [<c18569dc>] start_kernel+0x76/0x435 [ 0.000000] [<c103bf77>] ? xen_setup_runstate_info+0x27/0x40 [ 0.000000] [<c1856373>] i386_start_kernel+0x12e/0x131 [ 0.000000] [<c185b106>] xen_start_kernel+0x661/0x66c [ 0.000000] ---[ end trace db4b7fde7786bb0a ]--- [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] Xen: [mem 0x0000000000000000-0x000000000009dfff] usable [ 0.000000] Xen: [mem 0x000000000009ec00-0x00000000000fffff] reserved [ 0.000000] Xen: [mem 0x0000000000100000-0x000000004d061fff] usable [ 0.000000] Xen: [mem 0x000000004d062000-0x00000000a79b7fff] unusable [ 0.000000] Xen: [mem 0x00000000a79b8000-0x00000000a79fefff] ACPI NVS [ 0.000000] Xen: [mem 0x00000000a79ff000-0x00000000a7a08fff] ACPI data [ 0.000000] Xen: [mem 0x00000000a7a09000-0x00000000a7a65fff] reserved [ 0.000000] Xen: [mem 0x00000000a7a66000-0x00000000a7a68fff] ACPI NVS [ 0.000000] Xen: [mem 0x00000000a7a69000-0x00000000a7a6afff] unusable [ 0.000000] Xen: [mem 0x00000000a7a6b000-0x00000000a7a6bfff] reserved [ 0.000000] Xen: [mem 0x00000000a7a6c000-0x00000000a7a6cfff] ACPI NVS [ 0.000000] Xen: [mem 0x00000000a7a6d000-0x00000000a7aa3fff] reserved [ 0.000000] Xen: [mem 0x00000000a7aa4000-0x00000000a7aaafff] ACPI NVS [ 0.000000] Xen: [mem 0x00000000a7aab000-0x00000000a7ad1fff] reserved [ 0.000000] Xen: [mem 0x00000000a7ad2000-0x00000000a7b14fff] ACPI NVS [ 0.000000] Xen: [mem 0x00000000a7b15000-0x00000000a7d91fff] unusable [ 0.000000] Xen: [mem 0x00000000a7d92000-0x00000000a7ef6fff] reserved [ 0.000000] Xen: [mem 0x00000000a7ef7000-0x00000000a7efffff] unusable [ 0.000000] Xen: [mem 0x00000000fec00000-0x00000000fec00fff] reserved [ 0.000000] Xen: [mem 0x00000000fec10000-0x00000000fec10fff] reserved [ 0.000000] Xen: [mem 0x00000000fed00000-0x00000000fed00fff] reserved [ 0.000000] Xen: [mem 0x00000000fed61000-0x00000000fed70fff] reserved [ 0.000000] Xen: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved [ 0.000000] Xen: [mem 0x00000000fee00000-0x00000000ffffffff] reserved [ 0.000000] Xen: [mem 0x0000000100001000-0x000000023fffffff] unusable [ 0.000000] Xen: [mem 0x000000fd00000000-0x000000ffffffffff] reserved David _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |