Cody P Schafer 55878e88c5 sparsemem: add BUILD_BUG_ON when sizeof mem_section is non-power-of-2
Instead of leaving a hidden trap for the next person who comes along and
wants to add something to mem_section, add a big fat warning about it
needing to be a power-of-2, and insert a BUILD_BUG_ON() in sparse_init()
to catch mistakes.

Right now non-power-of-2 mem_sections cause a number of WARNs at boot
(which don't clearly point to the size of mem_section as an issue), but
the system limps on (temporarily, at least).

This is based upon Dave Hansen's earlier RFC where he ran into the same
issue:
	"sparsemem: fix boot when SECTIONS_PER_ROOT is not power-of-2"
	http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/03077.html

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Jiang Liu <liuj97@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-07-03 16:07:40 -07:00
..
2013-05-17 14:31:05 -04:00
2013-03-01 13:39:00 -08:00
2013-07-02 13:43:38 -07:00
2013-01-02 17:36:10 -08:00
2013-07-02 13:43:38 -07:00
2013-05-07 19:46:02 -07:00
2013-05-29 15:50:34 -04:00
2012-10-08 13:50:20 +10:30
2012-12-02 00:05:12 +00:00
2013-04-29 15:40:23 -04:00
2013-07-03 16:07:39 -07:00
2013-03-23 16:11:31 -07:00
2013-03-22 15:18:18 -07:00
2013-05-02 09:03:55 -07:00
2013-03-12 11:30:04 -07:00
2013-05-10 14:37:17 +01:00
2013-05-01 16:36:22 +05:30
2013-03-28 10:10:25 -06:00
2012-10-16 18:49:15 -07:00
2013-02-26 02:46:08 -05:00
2013-05-07 18:38:27 -07:00
2013-03-15 15:09:43 +10:30
2013-04-29 18:28:40 -07:00
2012-11-22 13:43:27 +09:00
2013-06-17 16:38:57 -07:00
2012-11-08 16:58:30 +01:00
2013-06-10 13:45:49 -07:00
2013-05-06 13:07:33 +02:00
2013-07-03 16:07:32 -07:00
2013-01-25 21:03:54 -08:00
2013-02-06 15:59:47 -05:00
2013-01-29 13:59:57 -05:00
2013-06-17 16:38:57 -07:00
2013-04-30 17:04:06 -07:00
2013-04-01 11:04:50 -07:00
2012-10-10 01:15:44 -04:00
2013-04-30 17:04:00 -07:00
2013-03-15 15:09:43 +10:30
2012-12-14 13:06:40 +10:30
2012-12-25 18:45:06 -05:00
2013-04-29 18:28:44 -07:00
2012-12-11 17:22:27 -08:00
2013-05-04 14:47:26 -04:00
2012-10-17 15:53:02 -05:00
2012-10-10 22:41:05 -04:00
2013-05-07 11:22:14 -07:00
2013-04-29 15:54:28 -07:00
2013-03-12 11:40:53 -04:00
2013-03-19 09:47:30 +01:00
2013-02-26 09:34:29 -08:00
2013-04-29 15:54:28 -07:00
2013-04-12 10:26:23 +02:00
2013-06-17 16:38:57 -07:00
2013-04-09 14:13:29 -04:00
2013-02-19 08:43:34 +01:00
2013-06-17 18:09:53 +09:00
2013-03-29 15:31:30 -04:00
2013-06-25 16:07:44 -07:00
2013-04-30 15:50:12 +05:30
2013-03-21 11:47:51 -04:00
2012-10-09 16:22:32 +09:00
2013-01-15 22:43:15 -08:00
2013-03-20 12:10:38 -04:00
2013-04-29 15:54:37 -07:00
2013-05-27 10:57:53 +09:00
2013-07-02 09:52:47 -07:00