On Tue, 10 Dec 2019 22:52:59 +0200, Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> 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. > >> > >> 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. > > > > Ho ok I understand what you mean now. I'll drop the percpu attribute. > > Great, thanks again. > I think it's clear, but I'll add just in case to avoid extra work - you can drop > the dynamic memory allocation altogether and make the struct part of net_bridge_port. Yup, that's what I've done and it makes the patch shamely small now ;) Thanks, Vivien