tipc: adjust order of variables in tipc_node structure
Move more frequently used variables up to the head of tipc_node structure, hopefully improving a bit performance. Signed-off-by: Ying Xue <ying.xue@windriver.com> Reviewed-by: Erik Hugne <erik.hugne@ericsson.com> Reviewed-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
5356f3d7d4
Коммит
486f930ac5
|
@ -53,20 +53,7 @@
|
||||||
#define WAIT_NODE_DOWN 0x0004 /* wait until peer node is declared down */
|
#define WAIT_NODE_DOWN 0x0004 /* wait until peer node is declared down */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct tipc_node - TIPC node structure
|
* struct tipc_node_bclink - TIPC node bclink structure
|
||||||
* @addr: network address of node
|
|
||||||
* @lock: spinlock governing access to structure
|
|
||||||
* @hash: links to adjacent nodes in unsorted hash chain
|
|
||||||
* @list: links to adjacent nodes in sorted list of cluster's nodes
|
|
||||||
* @nsub: list of "node down" subscriptions monitoring node
|
|
||||||
* @active_links: pointers to active links to node
|
|
||||||
* @links: pointers to all links to node
|
|
||||||
* @working_links: number of working links to node (both active and standby)
|
|
||||||
* @block_setup: bit mask of conditions preventing link establishment to node
|
|
||||||
* @link_cnt: number of links to node
|
|
||||||
* @signature: node instance identifier
|
|
||||||
* @bclink: broadcast-related info
|
|
||||||
* @rcu: rcu struct for tipc_node
|
|
||||||
* @acked: sequence # of last outbound b'cast message acknowledged by node
|
* @acked: sequence # of last outbound b'cast message acknowledged by node
|
||||||
* @last_in: sequence # of last in-sequence b'cast message received from node
|
* @last_in: sequence # of last in-sequence b'cast message received from node
|
||||||
* @last_sent: sequence # of last b'cast message sent by node
|
* @last_sent: sequence # of last b'cast message sent by node
|
||||||
|
@ -78,20 +65,7 @@
|
||||||
* @reasm_tail: last broadcast fragment received from node
|
* @reasm_tail: last broadcast fragment received from node
|
||||||
* @recv_permitted: true if node is allowed to receive b'cast messages
|
* @recv_permitted: true if node is allowed to receive b'cast messages
|
||||||
*/
|
*/
|
||||||
struct tipc_node {
|
struct tipc_node_bclink {
|
||||||
u32 addr;
|
|
||||||
spinlock_t lock;
|
|
||||||
struct hlist_node hash;
|
|
||||||
struct list_head list;
|
|
||||||
struct list_head nsub;
|
|
||||||
struct tipc_link *active_links[2];
|
|
||||||
struct tipc_link *links[MAX_BEARERS];
|
|
||||||
int link_cnt;
|
|
||||||
int working_links;
|
|
||||||
int block_setup;
|
|
||||||
u32 signature;
|
|
||||||
struct rcu_head rcu;
|
|
||||||
struct {
|
|
||||||
u32 acked;
|
u32 acked;
|
||||||
u32 last_in;
|
u32 last_in;
|
||||||
u32 last_sent;
|
u32 last_sent;
|
||||||
|
@ -102,7 +76,38 @@ struct tipc_node {
|
||||||
struct sk_buff *reasm_head;
|
struct sk_buff *reasm_head;
|
||||||
struct sk_buff *reasm_tail;
|
struct sk_buff *reasm_tail;
|
||||||
bool recv_permitted;
|
bool recv_permitted;
|
||||||
} bclink;
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct tipc_node - TIPC node structure
|
||||||
|
* @addr: network address of node
|
||||||
|
* @lock: spinlock governing access to structure
|
||||||
|
* @hash: links to adjacent nodes in unsorted hash chain
|
||||||
|
* @active_links: pointers to active links to node
|
||||||
|
* @links: pointers to all links to node
|
||||||
|
* @block_setup: bit mask of conditions preventing link establishment to node
|
||||||
|
* @bclink: broadcast-related info
|
||||||
|
* @list: links to adjacent nodes in sorted list of cluster's nodes
|
||||||
|
* @working_links: number of working links to node (both active and standby)
|
||||||
|
* @link_cnt: number of links to node
|
||||||
|
* @signature: node instance identifier
|
||||||
|
* @nsub: list of "node down" subscriptions monitoring node
|
||||||
|
* @rcu: rcu struct for tipc_node
|
||||||
|
*/
|
||||||
|
struct tipc_node {
|
||||||
|
u32 addr;
|
||||||
|
spinlock_t lock;
|
||||||
|
struct hlist_node hash;
|
||||||
|
struct tipc_link *active_links[2];
|
||||||
|
struct tipc_link *links[MAX_BEARERS];
|
||||||
|
int block_setup;
|
||||||
|
struct tipc_node_bclink bclink;
|
||||||
|
struct list_head list;
|
||||||
|
int link_cnt;
|
||||||
|
int working_links;
|
||||||
|
u32 signature;
|
||||||
|
struct list_head nsub;
|
||||||
|
struct rcu_head rcu;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct list_head tipc_node_list;
|
extern struct list_head tipc_node_list;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче