Skip to content

Commit

Permalink
plugin_net: handle cqe-mode-rx ethtool option
Browse files Browse the repository at this point in the history
Parsing ethtool output has been broken for several years, since `ethtool -c`
started producing a line resembling `CQE mode RX: n/a  TX: n/a`.
This prevents setting any [net] coalesce= options, which log
`tuned.plugins.plugin_net: unknown coalesce parameter(s): {'CQE mode RX'}`.

Substituting `cqe-mode-rx:` for `CQE mode RX:` resolves the issue,
although there is a conflict with the `adaptive-tx` workaround
which prevents us from supporting `cqe-mode-tx` directly.
Do not attempt to address that issue as part of this change.

Fixes #726.

Signed-off-by: Ryan Zoeller <[email protected]>
  • Loading branch information
rtzoeller committed Jan 22, 2025
1 parent 7480983 commit cbaec70
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions tuned/plugins/plugin_net.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,7 @@ def _get_config_options_coalesce(cls):
return {
"adaptive-rx": None,
"adaptive-tx": None,
"cqe-mode-rx": None,
"rx-usecs": None,
"rx-frames": None,
"rx-usecs-irq": None,
Expand Down Expand Up @@ -437,6 +438,7 @@ def _parse_device_parameters(self, value):
value = self._cmd.multiple_re_replace({
"Adaptive RX:": "adaptive-rx:",
"\\s+TX:": "\nadaptive-tx:",
"CQE mode RX:": "cqe-mode-rx:",
"rx-frame-low:": "rx-frames-low:",
"rx-frame-high:": "rx-frames-high:",
"tx-frame-low:": "tx-frames-low:",
Expand Down

0 comments on commit cbaec70

Please sign in to comment.