netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <jakub.kicinski@netronome.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: Alexander Duyck <alexander.duyck@gmail.com>,
	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, Simon Horman <simon.horman@netronome.com>,
	pieter.jansenvanvuuren@netronome.com, john.hurley@netronome.com,
	"Duyck, Alexander H" <alexander.h.duyck@intel.com>
Subject: Re: [patch net-next 2/4] net: sched: move the can_offload check from binding phase to rule insertion phase
Date: Thu, 26 Oct 2017 13:55:19 -0700	[thread overview]
Message-ID: <20171026135519.6f213c41@cakuba.netronome.com> (raw)
In-Reply-To: <20171026154019.GH1928@nanopsycho.orion>

On Thu, 26 Oct 2017 17:40:19 +0200, Jiri Pirko wrote:
> Thu, Oct 26, 2017 at 05:29:08PM CEST, alexander.duyck@gmail.com wrote:
> >On Wed, Oct 25, 2017 at 11:07 PM, Jiri Pirko <jiri@resnulli.us> wrote:  
> >> Thu, Oct 26, 2017 at 03:01:31AM CEST, davem@davemloft.net wrote:  
> >>>From: Jiri Pirko <jiri@resnulli.us>
> >>>Date: Wed, 25 Oct 2017 16:34:58 +0200
> >>>  
> >>>> From: Jiri Pirko <jiri@mellanox.com>
> >>>>
> >>>> This restores the original behaviour before the block callbacks were
> >>>> introduced. Allow the drivers to do binding of block always, no matter
> >>>> if the NETIF_F_HW_TC feature is on or off. Move the check to the block
> >>>> callback which is called for rule insertion.
> >>>>
> >>>> Reported-by: Alexander Duyck <alexander.duyck@gmail.com>
> >>>> Signed-off-by: Jiri Pirko <jiri@mellanox.com>  
> >>>
> >>>I agree with Jakub's feedback, if every callback has to make this check
> >>>why not just do it in the core where the callback is invoked?  
> >>
> >> We cannot add it to the core. The idea of the block callbacks is to get
> >> independent of the "dev". For the block sharing, driver registers one
> >> block callback for multiple devs. Core has no access to "dev".  
> >
> >If the plan is to have one block represent multiple devices are we
> >then looking at the offload flag potentially being tied together for
> >all those devices then at some point in the future? I assume that
> >means that this workaround will have to eventually go away for some of
> >the Mellanox devices since it wouldn't make sense to have a netdev
> >pointer if the context block supports multiple netdevices. Do I have
> >that right? If so, is the idea to just assume the offload is always-on  
> 
> You do.
> 
> >(fixed) or do you have some other idea in mind for how to deal with a
> >feature that is controlled globally for the device versus a port?  
> 
> I plan to check the offload feature flag for all ports that share the
> block and allow the offload only in case all are on.

Clearly we draw the line between what should the responsibility of the
driver do and what belongs higher in the stack differently :)

> Also, there would be forbidden to turn the offload flag off in case
> there is at least one offloaded rule for the block. This is how mlx5
> does it.

My grep-foo fails me I only see that check in nfp.  I though John
already did that in ixgbe.  And then everyone copied, since it's
sort-of UAPI?  Or at least users may come to expect certain
consistent behaviour.  Same story for phys_port_name for representors,
and OpenStack expect certain names by now.  That copying of behaviour
concerns me, not necessarily multiplication of code.

  reply	other threads:[~2017-10-26 20:55 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-25 14:34 [patch net-next 0/4] net: sched: block callbacks follow-up Jiri Pirko
2017-10-25 14:34 ` [patch net-next 1/4] net: sched: remove unused tc_should_offload helper Jiri Pirko
2017-10-25 14:34 ` [patch net-next 2/4] net: sched: move the can_offload check from binding phase to rule insertion phase Jiri Pirko
2017-10-25 22:09   ` Jakub Kicinski
2017-10-26  1:01   ` David Miller
2017-10-26  6:07     ` Jiri Pirko
2017-10-26 15:29       ` Alexander Duyck
2017-10-26 15:40         ` Jiri Pirko
2017-10-26 20:55           ` Jakub Kicinski [this message]
2017-10-25 14:34 ` [patch net-next 3/4] net: sched: remove tc_can_offload check from egdev call Jiri Pirko
2017-10-25 14:35 ` [patch net-next 4/4] net: sched: remove ndo_setup_tc check from tc_can_offload Jiri Pirko
2017-10-29  9:36 ` [patch net-next 0/4] net: sched: block callbacks follow-up David Miller
2017-10-29 11:17   ` Jiri Pirko
2017-11-01 10:41     ` 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=20171026135519.6f213c41@cakuba.netronome.com \
    --to=jakub.kicinski@netronome.com \
    --cc=alexander.duyck@gmail.com \
    --cc=alexander.h.duyck@intel.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=ganeshgr@chelsio.com \
    --cc=idosch@mellanox.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=john.hurley@netronome.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 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).