fib_rules: reorder struct fib_rules fields
Move refcnt, pref, suppress_ifgroup, suppress_prefixlen out of first cache line, as they are not used in fast path. Make sure ctarget & fr_net are in first cache line. (Assuming 64 bit arches and 64 bytes cache lines) Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
73f5698e77
Коммит
fba3679d34
|
@ -10,23 +10,25 @@
|
|||
|
||||
struct fib_rule {
|
||||
struct list_head list;
|
||||
atomic_t refcnt;
|
||||
int iifindex;
|
||||
int oifindex;
|
||||
u32 mark;
|
||||
u32 mark_mask;
|
||||
u32 pref;
|
||||
u32 flags;
|
||||
u32 table;
|
||||
int suppress_ifgroup;
|
||||
int suppress_prefixlen;
|
||||
u8 action;
|
||||
/* 3 bytes hole, try to use */
|
||||
u32 target;
|
||||
struct fib_rule __rcu *ctarget;
|
||||
struct net *fr_net;
|
||||
|
||||
atomic_t refcnt;
|
||||
u32 pref;
|
||||
int suppress_ifgroup;
|
||||
int suppress_prefixlen;
|
||||
char iifname[IFNAMSIZ];
|
||||
char oifname[IFNAMSIZ];
|
||||
struct rcu_head rcu;
|
||||
struct net * fr_net;
|
||||
};
|
||||
|
||||
struct fib_lookup_arg {
|
||||
|
|
Загрузка…
Ссылка в новой задаче