All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] MIPS: Implement __read_mostly
@ 2010-10-14 19:36 David Daney
  2010-10-15 11:25 ` Gleb O. Raiko
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: David Daney @ 2010-10-14 19:36 UTC (permalink / raw)
  To: linux-mips, ralf; +Cc: David Daney

Just do what everyone else is doing by placing __read_mostly things in
the .data.read_mostly section.

mips_io_port_base can not be read-only (const) and writable
(__read_mostly) at the same time.  One of them has to go, so I chose
to eliminate the __read_mostly.  It will still get stuck in a portion
of memory that is not adjacent to things that are written, and thus
not be on a dirty cache line, for whatever that is worth.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 arch/mips/include/asm/cache.h |    2 ++
 arch/mips/kernel/setup.c      |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h
index 37f175c..650ac9b 100644
--- a/arch/mips/include/asm/cache.h
+++ b/arch/mips/include/asm/cache.h
@@ -17,4 +17,6 @@
 #define SMP_CACHE_SHIFT		L1_CACHE_SHIFT
 #define SMP_CACHE_BYTES		L1_CACHE_BYTES
 
+#define __read_mostly __attribute__((__section__(".data.read_mostly")))
+
 #endif /* _ASM_CACHE_H */
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 4e68a51..6d0c3be 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -69,7 +69,7 @@ static char __initdata builtin_cmdline[COMMAND_LINE_SIZE] = CONFIG_CMDLINE;
  * mips_io_port_base is the begin of the address space to which x86 style
  * I/O ports are mapped.
  */
-const unsigned long mips_io_port_base __read_mostly = -1;
+const unsigned long mips_io_port_base = -1;
 EXPORT_SYMBOL(mips_io_port_base);
 
 static struct resource code_resource = { .name = "Kernel code", };
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-01-17 23:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-14 19:36 [PATCH] MIPS: Implement __read_mostly David Daney
2010-10-15 11:25 ` Gleb O. Raiko
2010-10-15 19:04   ` David Daney
2010-10-16  8:04 ` Geert Uytterhoeven
2010-10-16  8:05   ` Geert Uytterhoeven
2010-10-20 19:05   ` Ralf Baechle
2010-10-21  8:07     ` Geert Uytterhoeven
2011-01-17 23:55 ` Ralf Baechle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.