lkml.org 
[lkml]   [2006]   [Jun]   [26]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 25 Jun 2006 21:17:00 -0700 (PDT)
FromChristoph Lameter <>
SubjectRe: remove __read_mostly?
On Sun, 25 Jun 2006, Andrew Morton wrote:

> 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.

What we really want is a write-often variable in a cacheline combined with 
infrequently read and write data. However, data that is frequently read 
(that is __read_mostly) would still need to be in a separate section.

> 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?

I think we would want to group write-often variables with infrequently 
used variable. But how does one convince the linker to doing that?

I agree that there is a problem with shift frequently written variables 
together which may in itself cause ill effects. So __read_mostly should 
only be used when we have identified real cacheline sharing problems and 
real cache hot variables may have to be put in a separate cacheline for 
itself. I think we already do that and that is at least the way I have 
handled it. Too many __read_mostly kill the whole point of the exercise.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-06-26 06:20    [from the cache]
©2003-2008