ramips: Rework ramips_eth to not require irqsave locking anymore
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 17 Jan 2012 11:23:11 +0000 (11:23 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 17 Jan 2012 11:23:11 +0000 (11:23 +0000)
commit03810204dcdd5c4bc9ee3aff100f27bff59eac8c
treef4364900a198534942330354141f0de06ad47261
parent34abf48cb85fa311303e2710387584b9c0edab72
ramips: Rework ramips_eth to not require irqsave locking anymore

Previously the tx housekeeping was done in a spin_lock_irqsave critical
section which causes irqs to be disabled during that time. Since the
housekeeping is already prepared to be scheduled as a tasklet process
the housekeeping only in softirq context and revise the locking between
the tx path and the housekeeping tasklet by using a normal spin_lock
which in most situations will be a NOP anyway.

This makes sure that interrupts are only disabled for a short time
since in the worst case the housekeeping might have to free up to 256
skbs.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29762 3c298f89-4303-0410-b956-a3cf2f4a3e73
target/linux/ramips/files/drivers/net/ramips.c
This page took 0.032624 seconds and 4 git commands to generate.