Re: [PATCH net-next v4 1/1] net:openvswitch:reduce cpu_used_mask memory

From: Jiri Pirko
Date: Fri Feb 03 2023 - 03:58:56 EST


Fri, Feb 03, 2023 at 09:40:36AM CET, taoyuan_eddy@xxxxxxxxxxx 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
>
>cpumask 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 <taoyuan_eddy@xxxxxxxxxxx>

Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxx>