mbox series

[net-next,RESEND,v7,0/2] net: sched: allow user to select txqueue

Message ID 20220107115130.51073-1-xiangxia.m.yue@gmail.com (mailing list archive)
Headers show
Series net: sched: allow user to select txqueue | expand

Message

Tonghao Zhang Jan. 7, 2022, 11:51 a.m. UTC
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>

Patch 1 allow user to select txqueue in clsact hook.
Patch 2 support skbhash, classid, cpuid to select txqueue.

Tonghao Zhang (2):
  net: sched: use queue_mapping to pick tx queue
  net: sched: support hash/classid/cpuid selecting tx queue

 include/linux/netdevice.h              |  3 +
 include/linux/rtnetlink.h              |  1 +
 include/net/tc_act/tc_skbedit.h        |  1 +
 include/uapi/linux/tc_act/tc_skbedit.h |  8 +++
 net/core/dev.c                         | 31 +++++++++-
 net/sched/act_skbedit.c                | 84 ++++++++++++++++++++++++--
 6 files changed, 122 insertions(+), 6 deletions(-)

Comments

Tonghao Zhang Jan. 18, 2022, 1:33 a.m. UTC | #1
On Fri, Jan 7, 2022 at 7:51 PM <xiangxia.m.yue@gmail.com> wrote:
>
> From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>
> Patch 1 allow user to select txqueue in clsact hook.
> Patch 2 support skbhash, classid, cpuid to select txqueue.
>
> Tonghao Zhang (2):
>   net: sched: use queue_mapping to pick tx queue
>   net: sched: support hash/classid/cpuid selecting tx queue
ping, any progress?
>  include/linux/netdevice.h              |  3 +
>  include/linux/rtnetlink.h              |  1 +
>  include/net/tc_act/tc_skbedit.h        |  1 +
>  include/uapi/linux/tc_act/tc_skbedit.h |  8 +++
>  net/core/dev.c                         | 31 +++++++++-
>  net/sched/act_skbedit.c                | 84 ++++++++++++++++++++++++--
>  6 files changed, 122 insertions(+), 6 deletions(-)
>
> --
> v7:
> * 1/2 fix build warn, move pick tx queue into egress_needed_key for
>   simplifing codes.
> v6:
> * 1/2 use static key and compiled when CONFIG_NET_EGRESS configured.
> v5:
> * 1/2 merge netdev_xmit_reset_txqueue(void),
>   netdev_xmit_skip_txqueue(void), to netdev_xmit_skip_txqueue(bool skip).
> v4:
> * 1/2 introduce netdev_xmit_reset_txqueue() and invoked in
>   __dev_queue_xmit(), so ximt.skip_txqueue will not affect
>   selecting tx queue in next netdev, or next packets.
>   more details, see commit log.
> * 2/2 fix the coding style, rename:
>   SKBEDIT_F_QUEUE_MAPPING_HASH -> SKBEDIT_F_TXQ_SKBHASH
>   SKBEDIT_F_QUEUE_MAPPING_CLASSID -> SKBEDIT_F_TXQ_CLASSID
>   SKBEDIT_F_QUEUE_MAPPING_CPUID -> SKBEDIT_F_TXQ_CPUID
> * 2/2 refactor tcf_skbedit_hash, if type of hash is not specified, use
>   the queue_mapping, because hash % mapping_mod == 0 in "case 0:"
> * 2/2 merge the check and add extack
> v3:
> * 2/2 fix the warning, add cpuid hash type.
> v2:
> * 1/2 change skb->tc_skip_txqueue to per-cpu var, add more commit message.
> * 2/2 optmize the codes.
>
> Cc: Jamal Hadi Salim <jhs@mojatatu.com>
> Cc: Cong Wang <xiyou.wangcong@gmail.com>
> Cc: Jiri Pirko <jiri@resnulli.us>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Jonathan Lemon <jonathan.lemon@gmail.com>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Alexander Lobakin <alobakin@pm.me>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Talal Ahmad <talalahmad@google.com>
> Cc: Kevin Hao <haokexin@gmail.com>
> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Kumar Kartikeya Dwivedi <memxor@gmail.com>
> Cc: Antoine Tenart <atenart@kernel.org>
> Cc: Wei Wang <weiwan@google.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> --
> 2.27.0
>