All of lore.kernel.org
 help / color / mirror / Atom feed
* remove __read_mostly?
@ 2006-06-25 18:57 Andrew Morton
  2006-06-25 21:19 ` Ravikiran G Thirumalai
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Andrew Morton @ 2006-06-25 18:57 UTC (permalink / raw)
  To: Christoph Lameter, Ravikiran G Thirumalai; +Cc: linux-kernel


I'm thinking we should remove __read_mostly.

Because if we use this everywhere where it's supposed to be used, we end up
with .bss and .data 100% populated with write-often variables, packed
closely together.  The cachelines will really flying around.

IOW: __read_mostly optimises read-mostly variables and pessimises
write-often variables.

We want something which optimises both read-mostly and write-often storage.
 We do that by marking the write-often variables with
__cacheline_aligned_in_smp.

OK?

[Problem is, I don't think any of the make-foo-__read_mostly patches
actually identified _which_ write-often variables were affecting `foo', so
we'll be back to square one.]

[Actually, we should do

	#define __write_often __cacheline_aligned_in_smp

and use __write_often

a) for documentation and

b) so the optimisation can be centrally turned off, for space
   optimisation or for performance validation.]

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

end of thread, other threads:[~2006-06-26 19:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-25 18:57 remove __read_mostly? Andrew Morton
2006-06-25 21:19 ` Ravikiran G Thirumalai
2006-06-26 18:39   ` Paul Jackson
2006-06-26 18:46     ` Christoph Lameter
2006-06-26 19:11       ` Paul Jackson
2006-06-26 19:52         ` Ravikiran G Thirumalai
2006-06-25 21:44 ` Arjan van de Ven
2006-06-26  4:20   ` Christoph Lameter
2006-06-25 21:52 ` Arjan van de Ven
2006-06-26  4:17 ` Christoph Lameter

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.