Tue, Oct 24, 2017 at 06:24:01PM CEST, alexander.du...@gmail.com wrote: >On Tue, Oct 24, 2017 at 9:01 AM, Alexander Duyck ><alexander.du...@gmail.com> wrote: >> On Fri, Oct 20, 2017 at 7:04 PM, David Miller <da...@davemloft.net> wrote: >>> From: Jiri Pirko <j...@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