Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check that a NIC supports the needed number of queues #620

Closed
AltraMayor opened this issue Oct 27, 2022 · 1 comment
Closed

Check that a NIC supports the needed number of queues #620

AltraMayor opened this issue Oct 27, 2022 · 1 comment
Labels
Operational demand This issue would make Gatekeeper safer and/or cheaper to operate
Milestone

Comments

@AltraMayor
Copy link
Owner

AltraMayor commented Oct 27, 2022

When lib/net.c:check_port_offloads() is called, its parameter iface already has the needed number of queues for the NICs at fields iface->num_rx_queues and iface->num_tx_queues. And struct rte_eth_dev_info dev_info includes the fields max_rx_queues and max_tx_queues. Thus, the verification can be done in check_port_offloads() to log a more intelligible message to users.

The error log entry should suggest reducing the number of GK or GT instances to boot Gatekeeper with those NICs.

@AltraMayor AltraMayor added the Operational demand This issue would make Gatekeeper safer and/or cheaper to operate label Oct 27, 2022
@AltraMayor AltraMayor added this to the Version 1.2 milestone Oct 27, 2022
AltraMayor added a commit that referenced this issue Jun 25, 2024
While tuning the number of instances of the functional blocks,
the configuration may exceed the maximum number of queues that
the NICs support. When this happens, the error message in the log
is not informative. For example:

Ethdev port_id=0 nb_rx_queues=43 > 8
Main/0 2024-06-25 17:07:22 ERR init_iface(back): failed to configure interface (errno=22): Invalid argument

This commit identifies the problem is gives a helpful error message:

Main/0 2024-06-25 17:38:22 ERR check_if_queues(back): current configuration requires 43 RX queues, but the interface supports at most 8 RX queues. It may be possible to reduce the number of instances of the GK or GT functional block to reduce the number of queues. If not, more capable NICs are needed.
Main/0 2024-06-25 17:38:22 ERR init_iface(back): interface doesn't support a critical hardware capability (errno=28): No space left on device

This commit closes #620.
AltraMayor added a commit that referenced this issue Jun 25, 2024
While tuning the number of instances of the functional blocks,
the configuration may exceed the maximum number of queues that
the NICs support. When this happens, the error message in the log
is not informative. For example:

Ethdev port_id=0 nb_rx_queues=43 > 8
Main/0 2024-06-25 17:07:22 ERR init_iface(back): failed to configure interface (errno=22): Invalid argument

This commit identifies the problem and gives a helpful error message:

Main/0 2024-06-25 17:38:22 ERR check_if_queues(back): the current configuration requires 43 RX queues, but the interface supports at most 8 RX queues. It may be possible to reduce the number of instances of the GK or GT functional block to reduce the number of queues. If not, more capable NICs are needed.
Main/0 2024-06-25 17:38:22 ERR init_iface(back): interface doesn't support a critical hardware capability (errno=28): No space left on device

This commit closes #620.
@AltraMayor
Copy link
Owner Author

Pull request #692 addressed this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Operational demand This issue would make Gatekeeper safer and/or cheaper to operate
Projects
None yet
Development

No branches or pull requests

1 participant