Thread (11 messages) 11 messages, 4 authors, 2021-12-06

Re: [PATCH net-next 0/4] net/mlx5: Memory optimizations

flat view

From: Jiri Pirko <jiri@resnulli.us>
Date: 2021-12-06 08:18:43
Also in: lkml

Fri, Dec 03, 2021 at 02:28:03AM CET, kuba@kernel.org wrote:
On Thu, 2 Dec 2021 18:55:37 +0000 Saeed Mahameed wrote:
quoted
On Thu, 2021-12-02 at 09:31 -0800, Jakub Kicinski wrote:
quoted
On Wed, 1 Dec 2021 10:22:17 +0200 Shay Drory wrote:  
quoted
EQ resides in the host memory. It is RO for host driver, RW by
device.
When interrupt is generated EQ entry is placed by device and read
by driver.
It indicates about what event occurred such as CQE, async and more.  
I understand that. My point was the resource which is being consumed
here is _host_ memory. Is there precedent for configuring host memory
consumption via devlink resource?
it's a device resource size nonetheless, devlink resource API makes
total sense.
I disagree. Devlink resources were originally written to partition
finite device resources. You're just sizing a queue here.
quoted
quoted
I'd even question whether this belongs in devlink in the first place.
It is not global device config in any way. If devlink represents the
entire device it's rather strange to have a case where main instance
limits a size of some resource by VFs and other endpoints can still
choose whatever they want.
This resource is per function instance, we have devlink instance per
function, e.g. in the VM, there is a VF devlink instance the VM user
can use to control own VF resources. in the PF/Hypervisor, the only
devlink representation of the VF will be devlink port function (used
for other purposes)

for example:

A tenant can fine-tune a resource size tailored to their needs via the
VF's own devlink instance.
Yeah, because it's a device resource. Tenant can consume their host
DRAM in any way they find suitable.
quoted
An admin can only control or restrict a max size of a resource for a
given port function ( the devlink instance that represents the VF in
the hypervisor). (note: this patchset is not about that)
quoted
quoted
So far no feedback by other vendors.
The resources are implemented in generic way, if other vendors
would
like to implement them.  
Well, I was hoping you'd look around, but maybe that's too much to
ask of a vendor.  
We looked, eq is a common object among many other drivers.
and DEVLINK_PARAM_GENERIC_ID_MAX_MACS is already a devlink generic
param, and i am sure other vendors have limited macs per VF :) .. 
so this applies to all vendors even if they don't advertise it.
Yeah, if you're not willing to model the Event Queue as a queue using
params seems like a better idea than abusing resources.
I think you are right. On second thought, param look like a better fit.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help