[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <TYWP286MB2300E219495E608BEEB9A2F8F5DA9@TYWP286MB2300.JPNP286.PROD.OUTLOOK.COM>
Date: Mon, 6 Feb 2023 19:27:35 +0800
From: Eddy Tao <taoyuan_eddy@...mail.com>
To: Eelco Chaudron <echaudro@...hat.com>
Cc: netdev@...r.kernel.org, dev@...nvswitch.org,
linux-kernel@...r.kernel.org, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
"David S. Miller" <davem@...emloft.net>
Subject: Re: [ovs-dev] [PATCH net-next v8 1/1] net: openvswitch: reduce
cpu_used_mask memory
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@...mail.com>
> The changes look good to me. Hopefully this is the last revision ;)
>
> Acked-by: Eelco Chaudron <echaudro@...hat.com>
>
Powered by blists - more mailing lists