Skip to content

Commit

Permalink
raw/ioat: fix config script queue size calculation
Browse files Browse the repository at this point in the history
[ upstream commit 9cf9ac4 ]

The queue size calculation is currently based on "max_tokens" rather than
"max_work_queues_size". This is resulting in the queue size being
incorrectly configured when using the script to configure devices bound to
the IDXD kernel driver.
This patch fixes this miscalculation so devices are configured with
appropriate queue size.

Fixes: 01863b9 ("raw/ioat: include example configuration script")

Reported-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  • Loading branch information
kevin-laatz-intel authored and bluca committed Jul 26, 2021
1 parent 133edc5 commit 1f4a450
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/raw/ioat/dpdk_idxd_cfg.py
Expand Up @@ -37,7 +37,7 @@ def configure_dsa(dsa_id, queues):
max_groups = dsa_dir.read_int("max_groups")
max_engines = dsa_dir.read_int("max_engines")
max_queues = dsa_dir.read_int("max_work_queues")
max_tokens = dsa_dir.read_int("max_tokens")
max_work_queues_size = dsa_dir.read_int("max_work_queues_size")

nb_queues = min(queues, max_queues)
if queues > nb_queues:
Expand All @@ -56,7 +56,7 @@ def configure_dsa(dsa_id, queues):
"mode": "dedicated",
"name": f"dpdk_wq{dsa_id}.{q}",
"priority": 1,
"size": int(max_tokens / nb_queues)})
"size": int(max_work_queues_size / nb_queues)})

# enable device and then queues
drv_dir.write_values({"bind": f"dsa{dsa_id}"})
Expand Down

0 comments on commit 1f4a450

Please sign in to comment.