Vivien Didelot
2019-Dec-10 20:10 UTC
[Bridge] [PATCH net-next] net: bridge: add STP xstats
Hi Nikolay, On Tue, 10 Dec 2019 21:50:10 +0200, Nikolay Aleksandrov <nikolay at cumulusnetworks.com> wrote:> >> Why do you need percpu ? All of these seem to be incremented with the > >> bridge lock held. A few more comments below. > > > > All other xstats are incremented percpu, I simply followed the pattern. > > > > We have already a lock, we can use it and avoid the whole per-cpu memory handling. > It seems to be acquired in all cases where these counters need to be changed.Since the other xstats counters are currently implemented this way, I prefer to keep the code as is, until we eventually change them all if percpu is in fact not needed anymore. The new series is ready and I can submit it now if there's no objection. Thanks, Vivien
Nikolay Aleksandrov
2019-Dec-10 20:15 UTC
[Bridge] [PATCH net-next] net: bridge: add STP xstats
On 10/12/2019 22:10, Vivien Didelot wrote:> Hi Nikolay, > > On Tue, 10 Dec 2019 21:50:10 +0200, Nikolay Aleksandrov <nikolay at cumulusnetworks.com> wrote: >>>> Why do you need percpu ? All of these seem to be incremented with the >>>> bridge lock held. A few more comments below. >>> >>> All other xstats are incremented percpu, I simply followed the pattern. >>> >> >> We have already a lock, we can use it and avoid the whole per-cpu memory handling. >> It seems to be acquired in all cases where these counters need to be changed. > > Since the other xstats counters are currently implemented this way, I prefer > to keep the code as is, until we eventually change them all if percpu is in > fact not needed anymore. > > The new series is ready and I can submit it now if there's no objection. > > > Thanks, > > Vivien >There is a reason other counters use per-cpu - they're incremented without any locking from fast-path. The bridge STP code already has a lock which is acquired in all of these paths and we don't need this overhead and the per-cpu memory allocations. Unless you can find a STP codepath which actually needs per-cpu, I'd prefer you drop it. Thank you, Nik