On Thu, Jan 27, 2005 at 03:20:34PM -0800, Dave Hansen wrote: > On Thu, 2005-01-27 at 15:00 -0800, Mark Wong wrote: > > Here are results from a run I did on my little ia32 system. Attached > > are the output from the 'make test', my kernel config, and output in > > /var/log/messages. No messages to the console this time... > > First of all, the rotate-dave.sh script is broken. I've made a few > changes, and attached the diff that I'm currently using. > > That should clear up these errors from the script: > > > online 8 (0x40000000) > > rotate-dave.sh: line 7: /sys/devices/system/memory/memory8/state: No such file or directory > > online 9 (0x48000000) > > rotate-dave.sh: line 7: /sys/devices/system/memory/memory9/state: No such file or directory > > rotate-dave.sh: line 47: /sys/devices/system/memory/memory8/state: No such file or directory > > Your test.out file actually looks pretty good. The !page_is_ram() > messages can pretty much be ignored. They haven't turned out to be very > useful, so I'll probably drop them completely from the next set. > > The rest of your test appears to be a bunch of on/offline operations, > until the system ran out of RAM. Now, I can't quite tell what kind of > RAM it ran out of, or why without some more information. I > need /proc/{mem,slab,buddy}info before and after the test, and probably > snapshots during the test. > > I *think* the new nonlinear code is simply leaking the mem_map from > sections as they're removed. Please try the attached patch. > Ok now it's: ./run.sh 5 ./aioalloc online 8 (0x40000000) waiting for memory8 to appear... ... (over and over again) ... This in /var/log/messages: Jan 27 15:44:43 cl007 __add_pages(c03cc580, 00040000, 65536, 00000000) Jan 27 15:44:43 cl007 for: i: 0 Jan 27 15:44:43 cl007 __add_section(c03cc580, 00040000, 00000000) Jan 27 15:44:43 cl007 __kmalloc_section_memmap() got page: c13b8000 Jan 27 15:44:43 cl007 page_count(page): 1 Jan 27 15:44:43 cl007 __add_section() phys_start_pfn: 00040000 Jan 27 15:44:43 cl007 sparse_init_one_section(c04b9490, 4, ddc00000) ms->section_mem_map: 00000000 Jan 27 15:44:43 cl007 build_zonelists_node() zonelist: c03cc900 Jan 27 15:44:43 cl007 build_zonelists_node() zonelist: c03cc910 Jan 27 15:44:43 cl007 build_zonelists_node() zonelist: c03cc920 Jan 27 15:44:43 cl007 memmap_init_zone() start_pfn: 00040000 page: ddc00000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00040000 page: ddc00000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00040800 page: ddc10000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00041000 page: ddc20000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00041800 page: ddc30000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00042000 page: ddc40000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00042800 page: ddc50000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00043000 page: ddc60000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00043800 page: ddc70000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00044000 page: ddc80000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00044800 page: ddc90000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00045000 page: ddca0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00045800 page: ddcb0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00046000 page: ddcc0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00046800 page: ddcd0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00047000 page: ddce0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00047800 page: ddcf0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00048000 page: ddd00000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00048800 page: ddd10000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00049000 page: ddd20000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 00049800 page: ddd30000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004a000 page: ddd40000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004a800 page: ddd50000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004b000 page: ddd60000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004b800 page: ddd70000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004c000 page: ddd80000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004c800 page: ddd90000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004d000 page: ddda0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004d800 page: dddb0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004e000 page: dddc0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004e800 page: dddd0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004f000 page: ddde0000 Jan 27 15:44:43 cl007 memmap_init_zone() pfn: 0004f800 page: dddf0000 Jan 27 15:44:43 cl007 register_new_memory(c04b9490)