aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-12-08 13:22:07 -0500
committerTejun Heo <tj@kernel.org>2011-12-08 13:22:07 -0500
commitc5a1cb284b791fcc3c70962331a682452afaf6cd (patch)
tree5d619ff74588c55393bd9842f2aae55c181a721e
parent4ff7b82f1e5fc65a7c9512b231b4ea533f28541a (diff)
memblock: Kill sentinel entries at the end of static region arrays
memblock no longer depends on having one more entry at the end during addition making the sentinel entries at the end of region arrays not too useful. Remove the sentinels. This eases further updates. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Yinghai Lu <yinghai@kernel.org>
-rw-r--r--include/linux/poison.h6
-rw-r--r--mm/memblock.c14
2 files changed, 2 insertions, 18 deletions
diff --git a/include/linux/poison.h b/include/linux/poison.h
index 79159de0e341..2110a81c5e2a 100644
--- a/include/linux/poison.h
+++ b/include/linux/poison.h
@@ -40,12 +40,6 @@
40#define RED_INACTIVE 0x09F911029D74E35BULL /* when obj is inactive */ 40#define RED_INACTIVE 0x09F911029D74E35BULL /* when obj is inactive */
41#define RED_ACTIVE 0xD84156C5635688C0ULL /* when obj is active */ 41#define RED_ACTIVE 0xD84156C5635688C0ULL /* when obj is active */
42 42
43#ifdef CONFIG_PHYS_ADDR_T_64BIT
44#define MEMBLOCK_INACTIVE 0x3a84fb0144c9e71bULL
45#else
46#define MEMBLOCK_INACTIVE 0x44c9e71bUL
47#endif
48
49#define SLUB_RED_INACTIVE 0xbb 43#define SLUB_RED_INACTIVE 0xbb
50#define SLUB_RED_ACTIVE 0xcc 44#define SLUB_RED_ACTIVE 0xcc
51 45
diff --git a/mm/memblock.c b/mm/memblock.c
index 4b80f6fae091..e808df845bbb 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -24,8 +24,8 @@ struct memblock memblock __initdata_memblock;
24 24
25int memblock_debug __initdata_memblock; 25int memblock_debug __initdata_memblock;
26int memblock_can_resize __initdata_memblock; 26int memblock_can_resize __initdata_memblock;
27static struct memblock_region memblock_memory_init_regions[INIT_MEMBLOCK_REGIONS + 1] __initdata_memblock; 27static struct memblock_region memblock_memory_init_regions[INIT_MEMBLOCK_REGIONS] __initdata_memblock;
28static struct memblock_region memblock_reserved_init_regions[INIT_MEMBLOCK_REGIONS + 1] __initdata_memblock; 28static struct memblock_region memblock_reserved_init_regions[INIT_MEMBLOCK_REGIONS] __initdata_memblock;
29 29
30/* inline so we don't get a warning when pr_debug is compiled out */ 30/* inline so we don't get a warning when pr_debug is compiled out */
31static inline const char *memblock_type_name(struct memblock_type *type) 31static inline const char *memblock_type_name(struct memblock_type *type)
@@ -911,12 +911,6 @@ void __init memblock_analyze(void)
911{ 911{
912 int i; 912 int i;
913 913
914 /* Check marker in the unused last array entry */
915 WARN_ON(memblock_memory_init_regions[INIT_MEMBLOCK_REGIONS].base
916 != MEMBLOCK_INACTIVE);
917 WARN_ON(memblock_reserved_init_regions[INIT_MEMBLOCK_REGIONS].base
918 != MEMBLOCK_INACTIVE);
919
920 memblock.memory_size = 0; 914 memblock.memory_size = 0;
921 915
922 for (i = 0; i < memblock.memory.cnt; i++) 916 for (i = 0; i < memblock.memory.cnt; i++)
@@ -940,10 +934,6 @@ void __init memblock_init(void)
940 memblock.reserved.regions = memblock_reserved_init_regions; 934 memblock.reserved.regions = memblock_reserved_init_regions;
941 memblock.reserved.max = INIT_MEMBLOCK_REGIONS; 935 memblock.reserved.max = INIT_MEMBLOCK_REGIONS;
942 936
943 /* Write a marker in the unused last array entry */
944 memblock.memory.regions[INIT_MEMBLOCK_REGIONS].base = MEMBLOCK_INACTIVE;
945 memblock.reserved.regions[INIT_MEMBLOCK_REGIONS].base = MEMBLOCK_INACTIVE;
946
947 /* Create a dummy zero size MEMBLOCK which will get coalesced away later. 937 /* Create a dummy zero size MEMBLOCK which will get coalesced away later.
948 * This simplifies the memblock_add() code below... 938 * This simplifies the memblock_add() code below...
949 */ 939 */