[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1430505018-496801-1-git-send-email-tom@herbertland.com>
Date: Fri, 1 May 2015 11:30:11 -0700
From: Tom Herbert <tom@...bertland.com>
To: <davem@...emloft.net>, <netdev@...r.kernel.org>
Subject: [PATCH v2 net-next 0/7] net: Eliminate calls to flow_dissector and introduce flow_keys_digest
In this patch set we add skb_get_hash_perturb which gets the skbuff
hash for a packet and perturbs it using a provided key and jhash1.
This function is used in serveral qdiscs and eliminates many calls
to flow_dissector and jhash3 to get a perturbed hash for a packet.
To handle the sch_choke issue (passes flow_keys in skbuff cb) we
add flow_keys_digest which is a digest of a flow constructed
from a flow_keys structure.
This is the second version of these patches I posted a while ago,
and is prerequisite work to increasing the size of the flow_keys
structure and hashing over it (full IPv6 address, flow label, VLAN ID,
etc.).
Version 2:
- Add keyval parameter to __flow_hash_from_keys which allows caller to
set the initval for jhash
- Perturb always does flow dissection and creates hash based on
input perturb value which acts as the keyval to __flow_hash_from_keys
- Added a _flow_keys_digest_data which is used in make_flow_keys_digest.
This fills out the digest by populating individual fields instead
of copying the whole structure.
Tom Herbert (7):
net: Add skb_get_hash_perturb
sched: Call skb_get_hash_perturb in sch_fq_codel
sched: Call skb_get_hash_perturb in sch_hhf
sched: Call skb_get_hash_perturb in sch_sfb
sched: Call skb_get_hash_perturb in sch_sfq
net: Add flow_keys digest
sch_choke: Use flow_keys_digest
include/linux/skbuff.h | 2 ++
include/net/flow_keys.h | 16 ++++++++++++
net/core/flow_dissector.c | 65 +++++++++++++++++++++++++++++++++++++++++------
net/sched/sch_choke.c | 14 +++-------
net/sched/sch_fq_codel.c | 11 ++------
net/sched/sch_hhf.c | 19 +-------------
net/sched/sch_sfb.c | 24 ++++++-----------
net/sched/sch_sfq.c | 27 ++------------------
8 files changed, 92 insertions(+), 86 deletions(-)
--
1.8.1
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists