![]() | |||||||||||
Messages in this thread |
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 | |||||||||||