On 2019-12-06 01:26, Venky Venkatesh wrote:
I see that the provision in 18.11 eventdev DSW for maximum number of queues
is
#define DSW_MAX_QUEUES (16)
1. If the number of queues needed is to be increased to 7 bits (i.e.
128) is there any issue (correctness, scale, performance) other than
increased data structure size?
No.
2. I see that it is only used in the following structs:
- struct dsw_evdev: struct dsw_queue queues[DSW_MAX_QUEUES];
sizeof(struct dsw_queue) ~ DSW_MAX_FLOWS. So the total increase
contribution here is (128-16)*DSW_MAX_FLOWS from about 0.5MB to 4MB
- struct dsw_port: uint64_t queue_enqueued[DSW_MAX_QUEUES],
queue_dequeued[DSW_MAX_QUEUES];
This increase is negligible (a few KB at most across all dsw_ports)
On x86_64, the size of the dsw_evdev-struct is increased by ~32 kB per
queue added.
3. So is it enough if I changed the above define? (In other words I hope
there are no other hidden/implicit dependencies on the current value 16
elsewhere in the code). Also I suppose the only way is to directly change
this in the code, rite?
Yes, and yes.
The original reason for having that define was that I thought 16 queues
would be enough for anyone. As so many in the past that has utter such
statements, I might well have been wrong.
/M