All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: David Miller <davem@davemloft.net>,
	Netdev <netdev@vger.kernel.org>,
	Jamal Hadi Salim <jhs@mojatatu.com>,
	Cong Wang <xiyou.wangcong@gmail.com>,
	mlxsw@mellanox.com, Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@savoirfairelinux.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Michael Chan <michael.chan@broadcom.com>,
	Ganesh Goudar <ganeshgr@chelsio.com>,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
	Saeed Mahameed <saeedm@mellanox.com>,
	Matan Barak <matanb@mellanox.com>,
	Leon Romanovsky <leonro@mellanox.com>,
	idosch@mellanox.com,
	Jakub Kicinski <jakub.kicinski@netronome.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Simon Horman <simon.horman@netronome.com>,
	pieter.jansenvanvuuren@netronome.com, john.hurl
Subject: Re: [patch net-next v2 00/20] net: sched: convert cls ndo_setup_tc offload calls to per-block callbacks
Date: Wed, 25 Oct 2017 10:36:21 +0200	[thread overview]
Message-ID: <20171025083621.GA1971@nanopsycho> (raw)
In-Reply-To: <CAKgT0UeR8t3C82cQo9er4zkQy7PH36H4r84WA7V7HLOavY7RGg@mail.gmail.com>

Tue, Oct 24, 2017 at 06:24:01PM CEST, alexander.duyck@gmail.com wrote:
>On Tue, Oct 24, 2017 at 9:01 AM, Alexander Duyck
><alexander.duyck@gmail.com> wrote:
>> On Fri, Oct 20, 2017 at 7:04 PM, David Miller <davem@davemloft.net> wrote:
>>> From: Jiri Pirko <jiri@resnulli.us>
>>> Date: Thu, 19 Oct 2017 15:50:28 +0200
>>>
>>>> This patchset is a bit bigger, but most of the patches are doing the
>>>> same changes in multiple classifiers and drivers. I could do some
>>>> squashes, but I think it is better split.
>>>>
>>>> This is another dependency on the way to shared block implementation.
>>>> The goal is to remove use of tp->q in classifiers code.
>>>>
>>>> Also, this provides drivers possibility to track binding of blocks to
>>>> qdiscs. Legacy drivers which do not support shared block offloading.
>>>> register one callback per binding. That maintains the current
>>>> functionality we have with ndo_setup_tc. Drivers which support block
>>>> sharing offload register one callback per block which safes overhead.
>>>>
>>>> Patches 1-4 introduce the binding notifications and per-block callbacks
>>>> Patches 5-8 add block callbacks calls to classifiers
>>>> Patches 9-17 do convert from ndo_setup_tc calls to block callbacks for
>>>>              classifier offloads in drivers
>>>> Patches 18-20 do cleanup
>>>
>>> Series applied.
>>
>> We are getting internal reports of regressions being seen with this
>> patch set applied. Specifically the issues below have been pointed out
>> to me. My understanding is that these issues are all being reported on
>> ixgbe:
>>
>> 1.       To offload filter into HW, the hw-tc-offload feature flag has
>> to be turned on before creating the ingress qdisc.
>>
>> Previously, this could also be turned on after the qdisc was created
>> and the filters could still be offloaded. Looks like this is because,
>> previously the offload flag was checked as a part of filter
>> integration in the classifier, and now it is checked as part of qdisc
>> creation (ingress_init). So, if no offload capability is advertised at
>> ingress qdisc creation time then hardware will not be asked to offload
>> filters later if the flag is enabled.
>>
>> 2.       Deleting the ingress qdisc fails to remove filters added in
>> HW. Filters in SW gets deleted.
>>
>> We haven’t exactly root-caused this, the changes being extensive, but
>> our guess is again something wrong with the offload check or similar
>> while unregistering the block callback (tcf_block_cb_unregister) and
>> further to the classifier (CLS_U32/CLS_FLOWER etc.) with the
>> DESTROY/REMOVE command.
>>
>> 3.       Deleting u32 filters using handle fails to remove filter from
>> HW, filter in SW gets deleted.
>>
>> Probably similar reasons, also we see some u32 specific patches as
>> well for remove nodes.
>>
>> We are still digging into this further, but wanted to put this out
>> there so we can address the issues before we go much further down this
>> path.
>>
>> Thanks.
>>
>> - Alex
>
>So a quick update. Item 3 is no longer an issue, it was a
>configuration issue on our side. So only items 1 and 2 are left to be
>addressed.

Will look at 1 and 2. Thanks for the report.

>
>Thanks.
>
>- Alex

  parent reply	other threads:[~2017-10-25  8:36 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-19 13:50 [patch net-next v2 00/20] net: sched: convert cls ndo_setup_tc offload calls to per-block callbacks Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 01/20] net: sched: add block bind/unbind notif. and extended block_get/put Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 02/20] net: sched: use extended variants of block_get/put in ingress and clsact qdiscs Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 03/20] net: sched: introduce per-block callbacks Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 04/20] net: sched: use tc_setup_cb_call to call " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 05/20] net: sched: cls_matchall: call block callbacks for offload Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 06/20] net: sched: cls_u32: swap u32_remove_hw_knode and u32_remove_hw_hnode Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 07/20] net: sched: cls_u32: call block callbacks for offload Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 08/20] net: sched: cls_bpf: " Jiri Pirko
2017-11-01  0:44   ` Jakub Kicinski
2017-11-01  8:33     ` Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 09/20] mlxsw: spectrum: Convert ndo_setup_tc offloads to block callbacks Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 10/20] mlx5e: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 11/20] bnxt: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 12/20] cxgb4: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 13/20] ixgbe: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 14/20] mlx5e_rep: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 15/20] nfp: flower: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 16/20] nfp: bpf: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 17/20] dsa: " Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 18/20] net: sched: avoid ndo_setup_tc calls for TC_SETUP_CLS* Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 19/20] net: sched: remove unused classid field from tc_cls_common_offload Jiri Pirko
2017-10-19 13:50 ` [patch net-next v2 20/20] net: sched: remove unused is_classid_clsact_ingress/egress helpers Jiri Pirko
2017-10-21  2:04 ` [patch net-next v2 00/20] net: sched: convert cls ndo_setup_tc offload calls to per-block callbacks David Miller
2017-10-24 16:01   ` Alexander Duyck
2017-10-24 16:24     ` Alexander Duyck
     [not found]       ` <CAJ3xEMgdRBEuv0hb_G43zJXXRy=PWgY2tdHuwDN0Opc2NVF35g@mail.gmail.com>
2017-10-24 17:03         ` Or Gerlitz
2017-10-24 17:22         ` Nambiar, Amritha
2017-10-25  8:36       ` Jiri Pirko [this message]
2017-10-25 12:15     ` Jiri Pirko
     [not found]       ` <aaa66a3d-766b-f758-692a-eba7f5a8702f@mellanox.com>
2017-10-25 13:42         ` Jiri Pirko
2017-10-25 13:48           ` Or Gerlitz
2017-10-26 20:24       ` Nambiar, Amritha
2017-10-27  7:27         ` Jiri Pirko
2017-10-28  0:52           ` Jakub Kicinski
2017-10-28  7:20             ` Jiri Pirko
2017-10-28  7:53               ` Jakub Kicinski
2017-10-28  8:43                 ` Jiri Pirko
2017-10-28 17:17                   ` Jakub Kicinski
2017-10-29  7:26                     ` Jiri Pirko
2017-10-31 10:46                       ` Jiri Pirko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171025083621.GA1971@nanopsycho \
    --to=jiri@resnulli.us \
    --cc=alexander.duyck@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=ganeshgr@chelsio.com \
    --cc=idosch@mellanox.com \
    --cc=jakub.kicinski@netronome.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jhs@mojatatu.com \
    --cc=leonro@mellanox.com \
    --cc=matanb@mellanox.com \
    --cc=michael.chan@broadcom.com \
    --cc=mlxsw@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=pieter.jansenvanvuuren@netronome.com \
    --cc=saeedm@mellanox.com \
    --cc=simon.horman@netronome.com \
    --cc=vivien.didelot@savoirfairelinux.com \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.