aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Lameter <christoph@scalex86.org>2005-09-06 18:16:33 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-07 19:57:18 -0400
commitc3d8c1414573be8cf7c8fdc1e076935697c7f6af (patch)
treebd2fc21473e03fbbf5c1182ee584b68ebfd8b1cf
parentb3dbb4ecd46767b621df3dedd28788da93ee0cac (diff)
[PATCH] More __read_mostly variables
Move some more frequently read variables that showed up during some of our performance tests as sometimes ending up in hot cachelines to the read_mostly section. Fix: Move the __read_mostly from before hpet_usec_quotient to follow the variable like the other uses of __read_mostly. Signed-off-by: Alok N Kataria <alokk@calsoftinc.com> Signed-off-by: Christoph Lameter <christoph@scalex86.org> Signed-off-by: Shai Fultheim <shai@scalex86.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/i386/kernel/setup.c2
-rw-r--r--arch/i386/kernel/timers/timer_hpet.c2
-rw-r--r--mm/mmap.c2
-rw-r--r--mm/page_alloc.c8
4 files changed, 7 insertions, 7 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 294bcca985ab..e29fd5aeaf8e 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -82,7 +82,7 @@ EXPORT_SYMBOL(efi_enabled);
82/* cpu data as detected by the assembly code in head.S */ 82/* cpu data as detected by the assembly code in head.S */
83struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; 83struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
84/* common cpu data for all cpus */ 84/* common cpu data for all cpus */
85struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; 85struct cpuinfo_x86 boot_cpu_data __read_mostly = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
86EXPORT_SYMBOL(boot_cpu_data); 86EXPORT_SYMBOL(boot_cpu_data);
87 87
88unsigned long mmu_cr4_features; 88unsigned long mmu_cr4_features;
diff --git a/arch/i386/kernel/timers/timer_hpet.c b/arch/i386/kernel/timers/timer_hpet.c
index 001de97c9e4a..6dbb29f834e8 100644
--- a/arch/i386/kernel/timers/timer_hpet.c
+++ b/arch/i386/kernel/timers/timer_hpet.c
@@ -18,7 +18,7 @@
18#include "mach_timer.h" 18#include "mach_timer.h"
19#include <asm/hpet.h> 19#include <asm/hpet.h>
20 20
21static unsigned long __read_mostly hpet_usec_quotient; /* convert hpet clks to usec */ 21static unsigned long hpet_usec_quotient __read_mostly; /* convert hpet clks to usec */
22static unsigned long tsc_hpet_quotient; /* convert tsc to hpet clks */ 22static unsigned long tsc_hpet_quotient; /* convert tsc to hpet clks */
23static unsigned long hpet_last; /* hpet counter value at last tick*/ 23static unsigned long hpet_last; /* hpet counter value at last tick*/
24static unsigned long last_tsc_low; /* lsb 32 bits of Time Stamp Counter */ 24static unsigned long last_tsc_low; /* lsb 32 bits of Time Stamp Counter */
diff --git a/mm/mmap.c b/mm/mmap.c
index 404319477e71..bb43340d3973 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -61,7 +61,7 @@ pgprot_t protection_map[16] = {
61 61
62int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ 62int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */
63int sysctl_overcommit_ratio = 50; /* default is 50% */ 63int sysctl_overcommit_ratio = 50; /* default is 50% */
64int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; 64int sysctl_max_map_count __read_mostly = DEFAULT_MAX_MAP_COUNT;
65atomic_t vm_committed_space = ATOMIC_INIT(0); 65atomic_t vm_committed_space = ATOMIC_INIT(0);
66 66
67/* 67/*
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index b06a9636d971..34bba8f1144e 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -42,11 +42,11 @@
42 * MCD - HACK: Find somewhere to initialize this EARLY, or make this 42 * MCD - HACK: Find somewhere to initialize this EARLY, or make this
43 * initializer cleaner 43 * initializer cleaner
44 */ 44 */
45nodemask_t node_online_map = { { [0] = 1UL } }; 45nodemask_t node_online_map __read_mostly = { { [0] = 1UL } };
46EXPORT_SYMBOL(node_online_map); 46EXPORT_SYMBOL(node_online_map);
47nodemask_t node_possible_map = NODE_MASK_ALL; 47nodemask_t node_possible_map __read_mostly = NODE_MASK_ALL;
48EXPORT_SYMBOL(node_possible_map); 48EXPORT_SYMBOL(node_possible_map);
49struct pglist_data *pgdat_list; 49struct pglist_data *pgdat_list __read_mostly;
50unsigned long totalram_pages; 50unsigned long totalram_pages;
51unsigned long totalhigh_pages; 51unsigned long totalhigh_pages;
52long nr_swap_pages; 52long nr_swap_pages;
@@ -68,7 +68,7 @@ EXPORT_SYMBOL(nr_swap_pages);
68 * Used by page_zone() to look up the address of the struct zone whose 68 * Used by page_zone() to look up the address of the struct zone whose
69 * id is encoded in the upper bits of page->flags 69 * id is encoded in the upper bits of page->flags
70 */ 70 */
71struct zone *zone_table[1 << ZONETABLE_SHIFT]; 71struct zone *zone_table[1 << ZONETABLE_SHIFT] __read_mostly;
72EXPORT_SYMBOL(zone_table); 72EXPORT_SYMBOL(zone_table);
73 73
74static char *zone_names[MAX_NR_ZONES] = { "DMA", "Normal", "HighMem" }; 74static char *zone_names[MAX_NR_ZONES] = { "DMA", "Normal", "HighMem" };