netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] flowcache: make flow_key_size() return "unsigned int"
@ 2017-04-02 21:51 Alexey Dobriyan
  2017-04-02 21:52 ` [PATCH v2 2/3] flowcache: make flow_cache_hash_size() " Alexey Dobriyan
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Alexey Dobriyan @ 2017-04-02 21:51 UTC (permalink / raw)
  To: steffen.klassert; +Cc: herbert, davem, netdev

Flow keys aren't 4GB+ numbers so 64-bit arithmetic is excessive.

Space savings (I'm not sure what CSWTCH is):

	add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-48 (-48)
	function                                     old     new   delta
	flow_cache_lookup                           1163    1159      -4
	CSWTCH                                     75997   75953     -44

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---

 include/net/flow.h |    2 +-
 net/core/flow.c    |    6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

--- a/include/net/flow.h
+++ b/include/net/flow.h
@@ -202,7 +202,7 @@ static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn)
 
 typedef unsigned long flow_compare_t;
 
-static inline size_t flow_key_size(u16 family)
+static inline unsigned int flow_key_size(u16 family)
 {
 	switch (family) {
 	case AF_INET:
--- a/net/core/flow.c
+++ b/net/core/flow.c
@@ -161,7 +161,7 @@ static void flow_new_hash_rnd(struct flow_cache *fc,
 static u32 flow_hash_code(struct flow_cache *fc,
 			  struct flow_cache_percpu *fcp,
 			  const struct flowi *key,
-			  size_t keysize)
+			  unsigned int keysize)
 {
 	const u32 *k = (const u32 *) key;
 	const u32 length = keysize * sizeof(flow_compare_t) / sizeof(u32);
@@ -174,7 +174,7 @@ static u32 flow_hash_code(struct flow_cache *fc,
  * important assumptions that we can here, such as alignment.
  */
 static int flow_key_compare(const struct flowi *key1, const struct flowi *key2,
-			    size_t keysize)
+			    unsigned int keysize)
 {
 	const flow_compare_t *k1, *k1_lim, *k2;
 
@@ -199,7 +199,7 @@ flow_cache_lookup(struct net *net, const struct flowi *key, u16 family, u8 dir,
 	struct flow_cache_percpu *fcp;
 	struct flow_cache_entry *fle, *tfle;
 	struct flow_cache_object *flo;
-	size_t keysize;
+	unsigned int keysize;
 	unsigned int hash;
 
 	local_bh_disable();

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-04-04  2:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-02 21:51 [PATCH v2 1/3] flowcache: make flow_key_size() return "unsigned int" Alexey Dobriyan
2017-04-02 21:52 ` [PATCH v2 2/3] flowcache: make flow_cache_hash_size() " Alexey Dobriyan
2017-04-04  2:05   ` David Miller
2017-04-02 21:53 ` [PATCH v2 3/3] flowcache: more " Alexey Dobriyan
2017-04-04  2:05   ` David Miller
2017-04-04  2:05 ` [PATCH v2 1/3] flowcache: make flow_key_size() return " David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).