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:
parent
5356f3d7d4
commit
486f930ac5
|
@ -52,57 +52,62 @@
|
|||
#define WAIT_NAMES_GONE 0x0002 /* wait for peer's publications to be purged */
|
||||
#define WAIT_NODE_DOWN 0x0004 /* wait until peer node is declared down */
|
||||
|
||||
/**
|
||||
* struct tipc_node_bclink - TIPC node bclink structure
|
||||
* @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_sent: sequence # of last b'cast message sent by node
|
||||
* @oos_state: state tracker for handling OOS b'cast messages
|
||||
* @deferred_size: number of OOS b'cast messages in deferred queue
|
||||
* @deferred_head: oldest OOS b'cast message received from node
|
||||
* @deferred_tail: newest OOS b'cast message received from node
|
||||
* @reasm_head: broadcast reassembly queue head from node
|
||||
* @reasm_tail: last broadcast fragment received from node
|
||||
* @recv_permitted: true if node is allowed to receive b'cast messages
|
||||
*/
|
||||
struct tipc_node_bclink {
|
||||
u32 acked;
|
||||
u32 last_in;
|
||||
u32 last_sent;
|
||||
u32 oos_state;
|
||||
u32 deferred_size;
|
||||
struct sk_buff *deferred_head;
|
||||
struct sk_buff *deferred_tail;
|
||||
struct sk_buff *reasm_head;
|
||||
struct sk_buff *reasm_tail;
|
||||
bool recv_permitted;
|
||||
};
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @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
|
||||
* @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
|
||||
* @bclink: broadcast-related info
|
||||
* @nsub: list of "node down" subscriptions monitoring node
|
||||
* @rcu: rcu struct for tipc_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_sent: sequence # of last b'cast message sent by node
|
||||
* @oos_state: state tracker for handling OOS b'cast messages
|
||||
* @deferred_size: number of OOS b'cast messages in deferred queue
|
||||
* @deferred_head: oldest OOS b'cast message received from node
|
||||
* @deferred_tail: newest OOS b'cast message received from node
|
||||
* @reasm_head: broadcast reassembly queue head from node
|
||||
* @reasm_tail: last broadcast fragment received from node
|
||||
* @recv_permitted: true if node is allowed to receive b'cast messages
|
||||
*/
|
||||
struct tipc_node {
|
||||
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 block_setup;
|
||||
struct tipc_node_bclink bclink;
|
||||
struct list_head list;
|
||||
int link_cnt;
|
||||
int working_links;
|
||||
int block_setup;
|
||||
u32 signature;
|
||||
struct list_head nsub;
|
||||
struct rcu_head rcu;
|
||||
struct {
|
||||
u32 acked;
|
||||
u32 last_in;
|
||||
u32 last_sent;
|
||||
u32 oos_state;
|
||||
u32 deferred_size;
|
||||
struct sk_buff *deferred_head;
|
||||
struct sk_buff *deferred_tail;
|
||||
struct sk_buff *reasm_head;
|
||||
struct sk_buff *reasm_tail;
|
||||
bool recv_permitted;
|
||||
} bclink;
|
||||
};
|
||||
|
||||
extern struct list_head tipc_node_list;
|
||||
|
|
Loading…
Reference in a new issue