[NET]: use __read_mostly on kmem_cache_t , DEFINE_SNMP_STAT pointers
This patch puts mostly read only data in the right section (read_mostly), to help sharing of these data between CPUS without memory ping pongs. On one of my production machine, tcp_statistics was sitting in a heavily modified cache line, so *every* SNMP update had to force a reload. Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
29cb9f9c55
commit
ba89966c19
@@ -274,7 +274,7 @@ int move_addr_to_user(void *kaddr, int klen, void __user *uaddr, int __user *ule
|
||||
|
||||
#define SOCKFS_MAGIC 0x534F434B
|
||||
|
||||
static kmem_cache_t * sock_inode_cachep;
|
||||
static kmem_cache_t * sock_inode_cachep __read_mostly;
|
||||
|
||||
static struct inode *sock_alloc_inode(struct super_block *sb)
|
||||
{
|
||||
@@ -333,7 +333,7 @@ static struct super_block *sockfs_get_sb(struct file_system_type *fs_type,
|
||||
return get_sb_pseudo(fs_type, "socket:", &sockfs_ops, SOCKFS_MAGIC);
|
||||
}
|
||||
|
||||
static struct vfsmount *sock_mnt;
|
||||
static struct vfsmount *sock_mnt __read_mostly;
|
||||
|
||||
static struct file_system_type sock_fs_type = {
|
||||
.name = "sockfs",
|
||||
|
Reference in New Issue
Block a user