Thread (9 messages) flat view 9 messages, 3 authors, 2021-02-09

Re: [PATCH net-next 0/2] devlink: Add port function attribute to enable/disable roce

From: Saeed Mahameed <saeed@kernel.org>
Date: 2021-02-09 09:42:38

On Wed, 2021-02-03 at 13:26 -0800, Jakub Kicinski wrote:
On Wed, 03 Feb 2021 11:22:44 -0800 Saeed Mahameed wrote:
quoted
On Wed, 2021-02-03 at 10:51 -0800, Jakub Kicinski wrote:
quoted
On Tue, 02 Feb 2021 20:13:48 -0800 Saeed Mahameed wrote:  
quoted
yes, user in this case is the admin, who controls the
provisioned
network function SF/VFs.. by turning off this knob it allows to
create
more of that resource in case the user/admin is limited by
memory.  
Ah, so in case of the SmartNIC this extra memory is allocated on
the
control system, not where the function resides?
most of the memeory are actually allocated from where the function
resides, some are on the management system but it is not as
critical.
SFs for now can only be probed on the management system, so the
main
issue will be on the SmartNIC side for now.
Why not leave the decision whether to allocate that memory or not to
the SF itself? If user never binds the RDMA driver to the SF they
clearly don't care for RDMA. No extra knobs needed.
Sorry about the late response.

But FW is already setup for RDMA weather SW wants it or not for this
specific function.
a system admin may want to deploy a leaner function to the client. we
can disable RoCE in FW before we even instantiate this function.
quoted
quoted
My next question is regarding the behavior on the target system -
what
does "that user" see? Can we expect they will understand that the
limitation was imposed by the admin and not due to some
initialization
failure or SW incompatibility?
the whole thing works with only real HW capabilities, there is no
synthetic SW capabilities. 

when mlx5 instance driver loads, it doesn't assume anything about
underlying HW, and it queries for the advertised FW capability
according to the HW spec before it enables a feature.

so this patch adds the ability for admin to enforce a specific HW
cap
"off" for a VF/SF hca slice.
quoted
quoted
RAW eth QP, i think you already know this one, it is a very
thin
layer
that doesn't require the whole rdma stack.  
Sorry for asking a leading question. You know how we'll feel
about
that one, do we need to talk this out or can we save ourselves
the
battle? :S  
I know, I know :/

So, there is no rdma bit/cap in HW.. to disable non-RoCE commands
we
will have to disable etherent capability. 
It's your driver, you can make it do what you need to. Why does 
the RDMA driver bind successfully to a non-RoCE Ethernet device 
in the first place?
because RDMA people are greedy :), and they can create QPs that are not
RoCE..

this patch is only basic enable/disable RoCE feature on a specific
device slice, how rdma driver initializes itself is not related to this
patch at all, and it is just how rdma works, with or without this
patch.
quoted
The user interface here has no synthetic semantics, all knobs will
eventually be mapped to real HW/FW capabilities to get disabled.

the whole feature is about allowing admin to ship network functions
with different capabilities that are actually enforced by FW/HW.. 
so the user of the VF will see, RDMA/ETH only cards or both.
RDMA-only, ETH-only, RDMA+ETH makes sense to me. Having an ETH-only
device also exposed though rdma subsystem does not.
But this has nothing to do with this patch. this is the rdma driver
implementation.


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help