Re: [patch] smptimers, old BH removal, tq-cleanup, 2.5.39

Dipankar Sarma
2002-09-30T04:23:47Z

On Sun, Sep 29, 2002 at 05:20:22PM -0700, David S. Miller wrote:
> From: Dipankar Sarma <dipankar@in.ibm.com>
> Date: Mon, 30 Sep 2002 00:45:59 +0530
>
> > net_bh_lock: i have removed it, since it would synchronize to nothing. The
> > old protocol handlers should still run on UP, and on SMP the kernel prints
> > a warning upon use. Alexey, is this approach fine with you?
>
> The cache line bouncing of global_bh_lock and net_bh_lock in
> run_timer_tasklet() show up in our profiles, so getting rid of
> them is a good thing (TM).
>
> What ancient protocols are you running that make use of this?

I wasn't running any old protocols. It was a problem I faced
with my port of smptimers - I serialized
wrt BHs and old protocols using global_bh_lock and net_bh_lock (exported
it globally) respectively in the per-cpu tasklet that runs timers.
So, the spin_trylock() in run_timer_tasklet() would modify the
lock cache line and hence the bouncing. Getting rid of BHs and
old protocol serialization avoids this as in Ingo's latest patch.

>
> IPv4 and IPv6 both do not use it at all. Even IPX, Appletalk, and
> DecNET layers do not use it

This is the list, I think, by looking at packet_types -

802/psnap.c
appletalk/ddp.c
ax25/af_ax25.c
core/ext8022.c
econet/af_econet.c
irda/irsyms.c
x25/af_x25.c

Thanks
--
Dipankar Sarma <dipankar@in.ibm.com> http://lse.sourceforge.net
Linux Technology Center, IBM Software Lab, Bangalore, India.