Russ Anderson
f9228b204f
mm: zone_end_pfn is too small
Booting with 32 TBytes memory hits BUG at mm/page_alloc.c:552! (output
below).
The key hint is "page 4294967296 outside zone".
4294967296 = 0x100000000 (bit 32 is set).
The problem is in include/linux/mmzone.h:
530 static inline unsigned zone_end_pfn(const struct zone *zone)
531 {
532 return zone->zone_start_pfn + zone->spanned_pages;
533 }
zone_end_pfn is "unsigned" (32 bits). Changing it to "unsigned long"
(64 bits) fixes the problem.
zone_end_pfn() was added recently in commit 108bcc96ef ("mm: add & use
zone_end_pfn() and zone_spans_pfn()")
Output from the failure.
No AGP bridge found
page 4294967296 outside zone [ 4294967296 - 4327469056 ]
------------[ cut here ]------------
kernel BUG at mm/page_alloc.c:552!
invalid opcode: 0000 [#1] SMP
Modules linked in:
CPU 0
Pid: 0, comm: swapper Not tainted 3.9.0-rc2.dtp+ #10
RIP: free_one_page+0x382/0x430
Process swapper (pid: 0, threadinfo ffffffff81942000, task ffffffff81955420)
Call Trace:
__free_pages_ok+0x96/0xb0
__free_pages+0x25/0x50
__free_pages_bootmem+0x8a/0x8c
__free_memory_core+0xea/0x131
free_low_memory_core_early+0x4a/0x98
free_all_bootmem+0x45/0x47
mem_init+0x7b/0x14c
start_kernel+0x216/0x433
x86_64_start_reservations+0x2a/0x2c
x86_64_start_kernel+0x144/0x153
Code: 89 f1 ba 01 00 00 00 31 f6 d3 e2 4c 89 ef e8 66 a4 01 00 e9 2c fe ff ff 0f 0b eb fe 0f 0b 66 66 2e 0f 1f 84 00 00 00 00 00 eb f3 <0f> 0b eb fe 0f 0b 0f 1f 84 00 00 00 00 00 eb f6 0f 0b eb fe 49
Signed-off-by: Russ Anderson <rja@sgi.com>
Reported-by: George Beshers <gbeshers@sgi.com>
Acked-by: Hedi Berriche <hedi@sgi.com>
Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-03-22 16:41:20 -07:00
..
2013-02-26 09:24:48 -08:00
2013-03-02 16:33:54 -08:00
2013-02-26 15:03:06 -08:00
2013-02-21 15:27:22 -08:00
2013-03-01 13:39:00 -08:00
2013-03-08 16:03:29 -08:00
2013-03-02 16:31:21 +00:00
2013-03-03 12:06:09 -08:00
2013-02-28 18:02:55 -08:00
2013-03-12 09:29:20 +01:00
2013-02-26 11:41:08 -08:00
2013-02-24 14:37:22 -05:00
2013-03-14 12:48:54 +00:00
2013-02-26 17:24:26 -05:00
2013-03-02 16:33:54 -08:00
2013-03-01 06:07:22 +00:00
2013-02-22 09:20:11 -08:00
2013-03-02 16:46:07 -08:00
2013-03-19 13:20:51 -07:00
2013-03-02 09:34:39 -08:00
2013-02-21 17:22:19 -08:00
2013-03-01 12:47:16 +01:00
2013-02-26 02:46:13 -05:00
2013-02-23 17:50:12 -08:00
2013-02-21 17:22:16 -08:00
2013-02-23 17:50:10 -08:00
2013-02-25 09:24:55 -05:00
2013-02-21 17:22:15 -08:00
2013-02-21 17:22:15 -08:00
2013-02-21 17:22:15 -08:00
2013-02-21 17:22:16 -08:00
2013-02-25 16:46:44 -08:00
2013-02-26 02:46:09 -05:00
2013-02-27 19:10:11 -08:00
2013-03-01 22:45:49 +00:00
2013-03-01 22:45:49 +00:00
2013-02-27 15:13:36 +05:30
2013-02-27 22:37:34 +05:30
2013-02-28 09:53:21 +05:30
2013-03-03 23:59:59 -08:00
2013-02-28 12:52:24 -08:00
2013-02-26 02:46:08 -05:00
2013-02-27 19:10:23 -08:00
2013-02-23 17:50:12 -08:00
2013-02-27 19:10:11 -08:00
2013-03-01 23:51:07 -05:00
2013-03-03 19:36:31 -08:00
2013-02-22 23:31:31 -05:00
2013-02-26 03:10:52 +11:00
2013-02-22 00:05:07 +01:00
2013-03-18 10:21:23 +01:00
2013-02-27 19:10:24 -08:00
2013-02-22 08:20:05 +01:00
2013-02-23 17:50:16 -08:00
2013-02-23 17:50:17 -08:00
2013-02-26 20:16:07 -08:00
2013-03-13 15:21:47 -07:00
2013-02-27 19:10:24 -08:00
2013-02-23 21:00:06 -05:00
2013-02-27 19:10:21 -08:00
2013-03-22 16:41:19 -07:00
2013-03-22 16:41:20 -07:00
2013-02-23 17:50:19 -08:00
2013-03-18 18:03:03 -03:00
2013-03-14 13:18:30 -07:00
2013-02-22 19:25:09 -08:00
2013-03-02 09:34:39 -08:00
2013-02-23 17:50:20 -08:00
2013-02-23 17:50:13 -08:00
2013-02-23 17:50:19 -08:00
2013-02-23 17:50:17 -08:00
2013-03-03 12:06:09 -08:00
2013-02-23 17:50:11 -08:00
2013-03-22 16:41:20 -07:00
2013-03-02 16:46:07 -08:00
2013-02-23 00:30:08 +01:00
2013-02-23 17:50:17 -08:00
2013-02-23 17:50:15 -08:00
2013-02-21 17:22:19 -08:00
2013-03-01 23:51:07 -05:00
2013-02-28 20:42:33 -08:00
2013-02-25 21:18:18 -08:00
2013-03-17 15:59:15 -07:00
2013-02-27 19:10:24 -08:00
2013-02-23 17:50:16 -08:00
2013-02-23 17:50:16 -08:00
2013-03-22 16:41:20 -07:00
2013-02-26 09:34:29 -08:00
2013-02-27 19:10:24 -08:00
2013-03-13 15:21:44 -07:00
2013-02-23 17:50:17 -08:00
2013-02-27 19:10:10 -08:00
2013-02-27 19:10:11 -08:00
2013-03-14 11:53:32 -04:00
2013-02-21 17:22:20 -08:00
2013-02-26 22:25:17 +01:00
2013-03-01 12:40:36 +01:00
2013-02-23 17:50:22 -08:00
2013-02-21 14:58:40 -08:00
2013-02-23 17:50:15 -08:00
2013-02-23 17:50:16 -08:00
2013-03-01 12:48:36 +01:00