mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-26 03:52:41 +00:00
devlink: Support setting max_io_eqs
Many devices send event notifications for the IO queues,
such as tx and rx queues, through event queues.
Enable a privileged owner, such as a hypervisor PF, to set the number
of IO event queues for the VF and SF during the provisioning stage.
example:
Get maximum IO event queues of the VF device::
$ devlink port show pci/0000:06:00.0/2
pci/0000:06:00.0/2: type eth netdev enp6s0pf0vf1 flavour pcivf pfnum 0 vfnum 1
function:
hw_addr 00:00:00:00:00:00 ipsec_packet disabled max_io_eqs 10
Set maximum IO event queues of the VF device::
$ devlink port function set pci/0000:06:00.0/2 max_io_eqs 32
$ devlink port show pci/0000:06:00.0/2
pci/0000:06:00.0/2: type eth netdev enp6s0pf0vf1 flavour pcivf pfnum 0 vfnum 1
function:
hw_addr 00:00:00:00:00:00 ipsec_packet disabled max_io_eqs 32
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Parav Pandit <parav@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
4308811ba9
commit
5af3e3876d
@@ -1602,6 +1602,14 @@ void devlink_free(struct devlink *devlink);
|
||||
* capability. Should be used by device drivers to
|
||||
* enable/disable ipsec_packet capability of a
|
||||
* function managed by the devlink port.
|
||||
* @port_fn_max_io_eqs_get: Callback used to get port function's maximum number
|
||||
* of event queues. Should be used by device drivers to
|
||||
* report the maximum event queues of a function
|
||||
* managed by the devlink port.
|
||||
* @port_fn_max_io_eqs_set: Callback used to set port function's maximum number
|
||||
* of event queues. Should be used by device drivers to
|
||||
* configure maximum number of event queues
|
||||
* of a function managed by the devlink port.
|
||||
*
|
||||
* Note: Driver should return -EOPNOTSUPP if it doesn't support
|
||||
* port function (@port_fn_*) handling for a particular port.
|
||||
@@ -1651,6 +1659,12 @@ struct devlink_port_ops {
|
||||
int (*port_fn_ipsec_packet_set)(struct devlink_port *devlink_port,
|
||||
bool enable,
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*port_fn_max_io_eqs_get)(struct devlink_port *devlink_port,
|
||||
u32 *max_eqs,
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*port_fn_max_io_eqs_set)(struct devlink_port *devlink_port,
|
||||
u32 max_eqs,
|
||||
struct netlink_ext_ack *extack);
|
||||
};
|
||||
|
||||
void devlink_port_init(struct devlink *devlink,
|
||||
|
||||
Reference in New Issue
Block a user