On 5 Feb 2023, at 2:35, Eddy Tao wrote:
> Use actual CPU number instead of hardcoded value to decide the size
> of 'cpu_used_mask' in 'struct sw_flow'. Below is the reason.
>
> 'struct cpumask cpu_used_mask' is embedded in struct sw_flow.
> Its size is hardcoded to CONFIG_NR_CPUS bits, which can be
> 8192 by default, it costs memory and slows down ovs_flow_alloc.
>
> To address this:
> Redefine cpu_used_mask to pointer.
> Append cpumask_size() bytes after 'stat' to hold cpumask.
> Initialization cpu_used_mask right after stats_last_writer.
>
> APIs like cpumask_next and cpumask_set_cpu never access bits
> beyond cpu count, cpumask_size() bytes of memory is enough.
>
> Signed-off-by: Eddy Tao <[email protected]>
The changes look good to me. Hopefully this is the last revision ;)
Acked-by: Eelco Chaudron <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev