aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Fastabend <john.fastabend@gmail.com>2016-02-17 14:59:30 -0800
committerDavid S. Miller <davem@davemloft.net>2016-02-17 21:44:12 -0500
commite014860e31e2a66b1a94088504360a6ebc023564 (patch)
tree1957fb27866efd3fd57517f9bafe7d34d7a80ed7
parentixgbe: fix dates on header of ixgbe_model.h (diff)
downloadlinux-dev-e014860e31e2a66b1a94088504360a6ebc023564.tar.xz
linux-dev-e014860e31e2a66b1a94088504360a6ebc023564.zip
net: pack tc_cls_u32_knode struct slighter better
By packing the structure we can remove a few holes as Jamal suggests. before: struct tc_cls_u32_knode { struct tcf_exts * exts; /* 0 8 */ u8 fshift; /* 8 1 */ /* XXX 3 bytes hole, try to pack */ u32 handle; /* 12 4 */ u32 val; /* 16 4 */ u32 mask; /* 20 4 */ u32 link_handle; /* 24 4 */ /* XXX 4 bytes hole, try to pack */ struct tc_u32_sel * sel; /* 32 8 */ /* size: 40, cachelines: 1, members: 7 */ /* sum members: 33, holes: 2, sum holes: 7 */ /* last cacheline: 40 bytes */ }; after: struct tc_cls_u32_knode { struct tcf_exts * exts; /* 0 8 */ struct tc_u32_sel * sel; /* 8 8 */ u32 handle; /* 16 4 */ u32 val; /* 20 4 */ u32 mask; /* 24 4 */ u32 link_handle; /* 28 4 */ u8 fshift; /* 32 1 */ /* size: 40, cachelines: 1, members: 7 */ /* padding: 7 */ /* last cacheline: 40 bytes */ }; Suggested-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/pkt_cls.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 59789ca6e2c8..2121df574262 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -360,12 +360,12 @@ tcf_match_indev(struct sk_buff *skb, int ifindex)
struct tc_cls_u32_knode {
struct tcf_exts *exts;
- u8 fshift;
+ struct tc_u32_sel *sel;
u32 handle;
u32 val;
u32 mask;
u32 link_handle;
- struct tc_u32_sel *sel;
+ u8 fshift;
};
struct tc_cls_u32_hnode {