Re: [ovs-dev] [PATCH net-next v8 1/1] net: openvswitch: reduce cpu_used_mask memory

From: Eddy Tao
Date: Mon Feb 06 2023 - 06:27:50 EST


Yes, Eelco, this is the last revision and no further comments for revision came in

eddy

On 2023/2/6 19:21, Eelco Chaudron wrote:

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 <taoyuan_eddy@xxxxxxxxxxx>
The changes look good to me. Hopefully this is the last revision ;)

Acked-by: Eelco Chaudron <echaudro@xxxxxxxxxx>