tipc: add __read_mostly annotations to several global variables
Added to the following: - tipc_random - tipc_own_addr - tipc_max_ports - tipc_net_id - tipc_remote_management - handler_enabled The above global variables are read often, but written rarely. Use __read_mostly to prevent them being on the same cacheline as another variable which is written to often, which would cause cacheline bouncing. Signed-off-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f046e7d9be
commit
61cdd4d80b
3 changed files with 11 additions and 11 deletions
|
@ -48,15 +48,15 @@
|
|||
|
||||
|
||||
/* global variables used by multiple sub-systems within TIPC */
|
||||
int tipc_random;
|
||||
int tipc_random __read_mostly;
|
||||
|
||||
/* configurable TIPC parameters */
|
||||
u32 tipc_own_addr;
|
||||
int tipc_max_ports;
|
||||
u32 tipc_own_addr __read_mostly;
|
||||
int tipc_max_ports __read_mostly;
|
||||
int tipc_max_subscriptions;
|
||||
int tipc_max_publications;
|
||||
int tipc_net_id;
|
||||
int tipc_remote_management;
|
||||
int tipc_net_id __read_mostly;
|
||||
int tipc_remote_management __read_mostly;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -74,17 +74,17 @@ int tipc_snprintf(char *buf, int len, const char *fmt, ...);
|
|||
/*
|
||||
* Global configuration variables
|
||||
*/
|
||||
extern u32 tipc_own_addr;
|
||||
extern int tipc_max_ports;
|
||||
extern u32 tipc_own_addr __read_mostly;
|
||||
extern int tipc_max_ports __read_mostly;
|
||||
extern int tipc_max_subscriptions;
|
||||
extern int tipc_max_publications;
|
||||
extern int tipc_net_id;
|
||||
extern int tipc_remote_management;
|
||||
extern int tipc_net_id __read_mostly;
|
||||
extern int tipc_remote_management __read_mostly;
|
||||
|
||||
/*
|
||||
* Other global variables
|
||||
*/
|
||||
extern int tipc_random;
|
||||
extern int tipc_random __read_mostly;
|
||||
|
||||
/*
|
||||
* Routines available to privileged subsystems
|
||||
|
|
|
@ -45,7 +45,7 @@ struct queue_item {
|
|||
static struct kmem_cache *tipc_queue_item_cache;
|
||||
static struct list_head signal_queue_head;
|
||||
static DEFINE_SPINLOCK(qitem_lock);
|
||||
static int handler_enabled;
|
||||
static int handler_enabled __read_mostly;
|
||||
|
||||
static void process_signal_queue(unsigned long dummy);
|
||||
|
||||
|
|
Loading…
Reference in a new issue