The patch titled
More __read_mostly variables
has been added to the -mm tree. Its filename is
more-__read_mostly-variables.patch
Patches currently in -mm which might be from [EMAIL PROTECTED] are
more-__read_mostly-variables.patch
From: Christoph Lameter <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]>
Signed-off-by: Shai Fultheim <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---
arch/i386/kernel/setup.c | 2 +-
arch/i386/kernel/timers/timer_hpet.c | 2 +-
mm/mmap.c | 2 +-
mm/page_alloc.c | 8 ++++----
4 files changed, 7 insertions(+), 7 deletions(-)
diff -puN arch/i386/kernel/setup.c~more-__read_mostly-variables
arch/i386/kernel/setup.c
--- 25/arch/i386/kernel/setup.c~more-__read_mostly-variables Fri Jul 8
16:18:50 2005
+++ 25-akpm/arch/i386/kernel/setup.c Fri Jul 8 16:18:50 2005
@@ -82,7 +82,7 @@ EXPORT_SYMBOL(efi_enabled);
/* cpu data as detected by the assembly code in head.S */
struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
/* common cpu data for all cpus */
-struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
+struct cpuinfo_x86 boot_cpu_data __read_mostly = { 0, 0, 0, 0, -1, 1, 0, 0, -1
};
EXPORT_SYMBOL(boot_cpu_data);
unsigned long mmu_cr4_features;
diff -puN arch/i386/kernel/timers/timer_hpet.c~more-__read_mostly-variables
arch/i386/kernel/timers/timer_hpet.c
--- 25/arch/i386/kernel/timers/timer_hpet.c~more-__read_mostly-variables
Fri Jul 8 16:18:50 2005
+++ 25-akpm/arch/i386/kernel/timers/timer_hpet.c Fri Jul 8 16:18:50 2005
@@ -18,7 +18,7 @@
#include "mach_timer.h"
#include <asm/hpet.h>
-static unsigned long __read_mostly hpet_usec_quotient; /* convert hpet clks to
usec */
+static unsigned long hpet_usec_quotient __read_mostly; /* convert hpet clks to
usec */
static unsigned long tsc_hpet_quotient; /* convert tsc to hpet
clks */
static unsigned long hpet_last; /* hpet counter value at last tick*/
static unsigned long last_tsc_low; /* lsb 32 bits of Time Stamp Counter */
diff -puN mm/mmap.c~more-__read_mostly-variables mm/mmap.c
--- 25/mm/mmap.c~more-__read_mostly-variables Fri Jul 8 16:18:50 2005
+++ 25-akpm/mm/mmap.c Fri Jul 8 16:18:50 2005
@@ -61,7 +61,7 @@ pgprot_t protection_map[16] = {
int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */
int sysctl_overcommit_ratio = 50; /* default is 50% */
-int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT;
+int sysctl_max_map_count __read_mostly = DEFAULT_MAX_MAP_COUNT;
atomic_t vm_committed_space = ATOMIC_INIT(0);
/*
diff -puN mm/page_alloc.c~more-__read_mostly-variables mm/page_alloc.c
--- 25/mm/page_alloc.c~more-__read_mostly-variables Fri Jul 8 16:18:50 2005
+++ 25-akpm/mm/page_alloc.c Fri Jul 8 16:18:50 2005
@@ -42,11 +42,11 @@
* MCD - HACK: Find somewhere to initialize this EARLY, or make this
* initializer cleaner
*/
-nodemask_t node_online_map = { { [0] = 1UL } };
+nodemask_t node_online_map __read_mostly = { { [0] = 1UL } };
EXPORT_SYMBOL(node_online_map);
-nodemask_t node_possible_map = NODE_MASK_ALL;
+nodemask_t node_possible_map __read_mostly = NODE_MASK_ALL;
EXPORT_SYMBOL(node_possible_map);
-struct pglist_data *pgdat_list;
+struct pglist_data *pgdat_list __read_mostly;
unsigned long totalram_pages;
unsigned long totalhigh_pages;
long nr_swap_pages;
@@ -68,7 +68,7 @@ EXPORT_SYMBOL(nr_swap_pages);
* Used by page_zone() to look up the address of the struct zone whose
* id is encoded in the upper bits of page->flags
*/
-struct zone *zone_table[1 << ZONETABLE_SHIFT];
+struct zone *zone_table[1 << ZONETABLE_SHIFT] __read_mostly;
EXPORT_SYMBOL(zone_table);
static char *zone_names[MAX_NR_ZONES] = { "DMA", "Normal", "HighMem" };
_
-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html