raw/ioat: fix config script queue size calculation

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: 01863b9d2354 ("raw/ioat: include example configuration script")
Cc: stable@dpdk.org

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>
This commit is contained in:
Kevin Laatz 2021-07-16 13:21:55 +00:00 committed by David Marchand
parent de8606bf73
commit 9cf9ac48b1

View File

@ -63,7 +63,7 @@ def configure_dsa(dsa_id, queues, prefix):
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:
@ -82,7 +82,7 @@ def configure_dsa(dsa_id, queues, prefix):
"mode": "dedicated",
"name": f"{prefix}_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}"})