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>
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:
"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}"})