lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 26 Jan 2008 23:10:17 +0900
From:	"KOSAKI Motohiro" <kosaki.motohiro@...fujitsu.com>
To:	"Mel Gorman" <mel@....ul.ie>
Cc:	mingo@...e.hu, linux-mm@...ck.org, linux-kernel@...r.kernel.org,
	apw@...dowen.org, kosaki.motohiro@...il.com
Subject: Re: [PATCH 0/2] Relax restrictions on setting CONFIG_NUMA on x86

Hi Mel


>To rule it out, can you also try with the patch below applied please? It
>should only make a difference on sparsemem so if discontigmem is still
>crashing, there is likely another problem. Assuming it crashes, please
>post the full dmesg output with loglevel=8 on the command line. Thanks

I buy reverse serial cable today.
and I test again.

my patch stack is
  2.6.24-rc7 +
  http://lkml.org/lkml/2007/8/24/220 +
  Relax restrictions on setting CONFIG_NUMA patch +
  your previous mail patch

1. if sparce_mem on, build failture

  CC      arch/x86/mm/discontig_32.o
  CC      init/do_mounts_initrd.o
  CC      arch/x86/kernel/time_32.o
  CC      init/initramfs.o
arch/x86/mm/discontig_32.c: In function 'setup_memory':
arch/x86/mm/discontig_32.c:341: error: too many arguments to function
'calculate_numa_remap_pages'
arch/x86/mm/discontig_32.c:380: error: 'node_remap_offset' undeclared
(first use in this function)
arch/x86/mm/discontig_32.c:380: error: (Each undeclared identifier is
reported only once
arch/x86/mm/discontig_32.c:380: error: for each function it appears in.)
arch/x86/mm/discontig_32.c:383: error: 'node_remap_end_vaddr'
undeclared (first use in this function)
arch/x86/mm/discontig_32.c:385: error: 'node_remap_alloc_vaddr'
undeclared (first use in this function)
arch/x86/mm/discontig_32.c:404: error: 'node_remap_start_pfn'
undeclared (first use in this function)

2. if discontig_mem on, I can't boot.

root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83
kernel /vmlinuz-kosatest ro root=/dev/VolGroup00/LogVol00 rhgb quiet console=tt
y0 console=ttyS0,9600n8r loglevel=8
   [Linux-bzImage, setup=0x2800, size=0x278918]
initrd /initrd-kosatest.img
   [Linux-initrd @ 0x1f3bc000, 0x2c0208 bytes]

Linux version 2.6.24-rc7-numa (kosaki@...20) (gcc version 4.1.2
20070626 (Red Hat 4.1.2-14)) #13 SMP Sat Jan 26 22:57:40 JST 2008
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001f68cc00 (usable)
 BIOS-e820: 000000001f68cc00 - 000000001f68ec00 (ACPI NVS)
 BIOS-e820: 000000001f68ec00 - 000000001f690c00 (ACPI data)
 BIOS-e820: 000000001f690c00 - 0000000020000000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fed00400 (reserved)
 BIOS-e820: 00000000fed20000 - 00000000feda0000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fef00000 (reserved)
 BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
Node: 0, start_pfn: 0, end_pfn: 160
  Setting physnode_map array to node 0 for pfns:
  0
Node: 0, start_pfn: 256, end_pfn: 128652
  Setting physnode_map array to node 0 for pfns:
  256 65792
get_memcfg_from_srat: assigning address to rsdp
RSD PTR  v0 [DELL  ]
Begin SRAT table scan....
failed to get NUMA memory information from SRAT table
NUMA - single node, flat memory mode
Node: 0, start_pfn: 0, end_pfn: 160
  Setting physnode_map array to node 0 for pfns:
  0
Node: 0, start_pfn: 256, end_pfn: 128652
  Setting physnode_map array to node 0 for pfns:
  256 65792
Node: 0, start_pfn: 0, end_pfn: 128652
  Setting physnode_map array to node 0 for pfns:
  0 65536
Reserving 1024 pages of KVA for lmem_map of node 0
Shrinking node 0 from 128652 pages to 127628 pages
Shrinking node 0 further by 652 pages for proper alignment
Reserving total of 1024 pages for numa KVA remap
kva_start_pfn ~ 125952 find_max_low_pfn() ~ 128652
max_pfn = 128652
0MB HIGHMEM available.
502MB LOWMEM available.
min_low_pfn = 1665, max_low_pfn = 128652, highstart_pfn = 128652
Low memory ends at vaddr df68c000
node 0 will remap to vaddr dec00000 - dfa8c000
High memory starts at vaddr df68c000
found SMP MP-table at 000fe710
Entering add_active_range(0, 0, 126976) 0 entries of 256 used
Zone PFN ranges:
  DMA             0 ->     4096
  Normal       4096 ->   128652
  HighMem    128652 ->   128652
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->   126976
On node 0 totalpages: 126976
  DMA zone: 32 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 4064 pages, LIFO batch:0
  Normal zone: 960 pages used for memmap
  Normal zone: 121920 pages, LIFO batch:31
  HighMem zone: 0 pages used for memmap
  Movable zone: 0 pages used for memmap
DMI 2.3 present.
Using APIC driver default
ACPI: RSDP 000FEC00, 0014 (r0 DELL  )
ACPI: RSDT 000FCC8F, 003C (r1 DELL    PESC420        7 ASL        61)
ACPI: FACP 000FCCCB, 0074 (r1 DELL    PESC420        7 ASL        61)
ACPI: DSDT FFFCE00E, 2DA9 (r1   DELL    dt_ex     1000 MSFT  100000D)
ACPI: FACS 1F68CC00, 0040
ACPI: SSDT FFFD0FAE, 0096 (r1   DELL    st_ex     1000 MSFT  100000D)
ACPI: APIC 000FCD3F, 0072 (r1 DELL    PESC420        7 ASL        61)
ACPI: BOOT 000FCDB1, 0028 (r1 DELL    PESC420        7 ASL        61)
ACPI: MCFG 000FCDD9, 003E (r1 DELL    PESC420        7 ASL        61)
ACPI: HPET 000FCE17, 0038 (r1 DELL    PESC420        7 ASL        61)
ACPI: PM-Timer IO Port: 0x808
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:4 APIC version 20
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 15:4 APIC version 20
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x01] disabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x07] disabled)
ACPI: LAPIC_NMI (acpi_id[0xff] high level lint[0x1])
ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
ACPI: HPET id: 0x8086a201 base: 0xfed00000
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 30000000 (gap: 20000000:c0000000)
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 125984
Policy zone: Normal
Kernel command line: ro root=/dev/VolGroup00/LogVol00 rhgb quiet
console=tty0 console=ttyS0,9600n8r loglevel=8
mapped APIC to ffffb000 (fee00000)
mapped IOAPIC to ffffa000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 8192 bytes)
Detected 2793.181 MHz processor.
Console: colour VGA+ 80x25
console [tty0] enabled
console [ttyS0] enabled
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Bad page state in process 'swapper'
page:defe2000 flags:0x763aaa3a mapping:3dda44a6 mapcount:-479800631 count:0
Trying to fix it up, but a reboot is needed
Backtrace:
Pid: 0, comm: swapper Not tainted 2.6.24-rc7-numa #13
 [<c014da0b>] bad_page+0x64/0x8e
 [<c014e6af>] __free_pages_ok+0x5d/0x2ad
 [<c05af4f2>] free_all_bootmem_core+0xd5/0x1b1
 [<c05ac932>] mem_init+0x7f/0x351
 [<c05b0a25>] alloc_large_system_hash+0x21a/0x245
 [<c05b1947>] inode_init_early+0x49/0x72
 [<c059f5ca>] start_kernel+0x281/0x30c
 [<c059f0e0>] unknown_bootoption+0x0/0x195
 =======================
BUG: unable to handle kernel paging request at virtual address 2b021d5a
printing eip: c014e694 *pde = 00000000
Oops: 0000 [#1] SMP
Modules linked in:

Pid: 0, comm: swapper Tainted: G    B   (2.6.24-rc7-numa #13)
EIP: 0060:[<c014e694>] EFLAGS: 00010246 CPU: 0
EIP is at __free_pages_ok+0x42/0x2ad
EAX: 00000000 EBX: defe2020 ECX: 2b021d56 EDX: 4e20ad11
ESI: 4e20ad0f EDI: 00000000 EBP: defe2000 ESP: c0599f0c
 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Process swapper (pid: 0, ti=c0598000 task=c053f3a0 task.ti=c0598000)
Stack: 00000005 00000287 00000001 00000002 00000200 00000009 0000000a dec233e0
       ffffffff 0001f000 00000000 c05af4f2 c0683000 c05f6520 0001f000 0001e599
       0001f68c 00000001 00000000 00000000 00000000 00000020 c05ac932 c04d1437
Call Trace:
 [<c05af4f2>] free_all_bootmem_core+0xd5/0x1b1
 [<c05ac932>] mem_init+0x7f/0x351
 [<c05b0a25>] alloc_large_system_hash+0x21a/0x245
 [<c05b1947>] inode_init_early+0x49/0x72
 [<c059f5ca>] start_kernel+0x281/0x30c
 [<c059f0e0>] unknown_bootoption+0x0/0x195
 =======================
Code: 00 eb 5e 8b 03 89 d9 8b 73 08 8b 53 10 25 00 40 02 00 3d 00 40
02 00 75 03 8b 4b 0c 85 d2 0f 95 c2 8d 46 01 0f b6 d2 09 c2 31 c0 <83>
79 04 00 0f 95 c0 09 c2 8b 03 25 e1 9c 08 00 09 c2 74 07 89
EIP: [<c014e694>] __free_pages_ok+0x42/0x2ad SS:ESP 0068:c0599f0c
---[ end trace ca143223eefdc828 ]---
Kernel panic - not syncing: Attempted to kill the idle task!


panic point is below line (I invested by compare EIP and disassenble list.)

static void __free_pages_ok(struct page *page, unsigned int order)
{
        unsigned long flags;
        int i;
        int reserved = 0;

        for (i = 0 ; i < (1 << order) ; ++i)
                reserved += free_pages_check(page + i);    // here!
        if (reserved)
                return;


thanks!

--
kosaki
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists