mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 17:41:44 +00:00
90ddc4f047
I noticed that some of 'struct proto_ops' used in the kernel may share a cache line used by locks or other heavily modified data. (default linker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at least) This patch makes sure a 'struct proto_ops' can be declared as const, so that all cpus can share all parts of it without false sharing. This is not mandatory : a driver can still use a read/write structure if it needs to (and eventually a __read_mostly) I made a global stubstitute to change all existing occurences to make them const. This should reduce the possibility of false sharing on SMP, and speedup some socket system calls. Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
ircomm | ||
irlan | ||
irnet | ||
af_irda.c | ||
discovery.c | ||
irda_device.c | ||
iriap_event.c | ||
iriap.c | ||
irias_object.c | ||
irlap_event.c | ||
irlap_frame.c | ||
irlap.c | ||
irlmp_event.c | ||
irlmp_frame.c | ||
irlmp.c | ||
irmod.c | ||
irproc.c | ||
irqueue.c | ||
irsysctl.c | ||
irttp.c | ||
Kconfig | ||
Makefile | ||
parameters.c | ||
qos.c | ||
timer.c | ||
wrapper.c |