linux/include
David S. Miller a0a46196cd [NET]: Add NAPI_STATE_DISABLE.
Create a bit to signal that a napi_disable() is in progress.

This sets up infrastructure such that net_rx_action() can generically
break out of the ->poll() loop on a NAPI context that has a pending
napi_disable() yet is being bombed with packets (and thus would
otherwise poll endlessly and not allow the napi_disable() to finish).

Now, what napi_disable() does is first set the NAPI_STATE_DISABLE bit
(to indicate that a disable is pending), then it polls for the
NAPI_STATE_SCHED bit, and once the NAPI_STATE_SCHED bit is acquired
the NAPI_STATE_DISABLE bit is cleared.  Here, the test_and_set_bit()
provides the necessary memory barrier between the various bitops.

napi_schedule_prep() now tests for a pending disable as it's first
action and won't try to obtain the NAPI_STATE_SCHED bit if a disable
is pending.

As a result, we can remove the netif_running() check in
netif_rx_schedule_prep() because the NAPI disable pending state serves
this purpose.  And, it does so in a NAPI centric manner which is what
we really want.

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-08 23:30:07 -08:00
..
acpi Pull cpuidle into release branch 2007-11-20 01:18:37 -05:00
asm-alpha alpha: build fixes 2007-12-17 19:28:16 -08:00
asm-arm Merge branch 'pxa-fixes' 2007-12-08 14:41:29 +00:00
asm-avr32 [AVR32] Fix copy_to_user_page() breakage 2007-12-07 14:54:47 +01:00
asm-blackfin Blackfin SPI driver: move hard coded pin_req to board file 2007-12-05 09:21:20 -08:00
asm-cris CRIS tlb.h should include linux/pagemap.h 2007-11-14 18:45:47 -08:00
asm-frv frv: Remove bogus NO_IRQ = -1 define 2007-11-09 15:11:44 -08:00
asm-generic Revert quicklist need->flush fix 2007-12-26 22:04:09 -08:00
asm-h8300 asm-h8300: parentheses around definition CLOCK_TICK_RATE 2007-12-10 19:43:54 -08:00
asm-ia64 [IA64] Update Altix BTE error return status patch 2008-01-03 13:18:58 -08:00
asm-m32r m32r: Update sys_rt_sigsuspend 2007-11-28 01:24:04 +09:00
asm-m68k
asm-m68knommu
asm-mips [MIPS] Alchemy: fix PCI resource conflict 2007-12-14 17:34:29 +00:00
asm-parisc [PARISC] print more than one character at a time for pdc console 2007-12-06 09:32:15 -08:00
asm-powerpc [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00
asm-ppc
asm-s390 [S390] pud_present/pmd_present bug. 2007-12-17 16:25:56 +01:00
asm-sh sh: Fix copy_{to,from}_user_page() with cache disabled. 2007-11-19 12:55:51 +09:00
asm-sh64
asm-sparc [SPARC32]: Silence sparc32 warnings on missing syscalls. 2007-12-14 10:59:50 -08:00
asm-sparc64 [SPARC64]: Implement pci_resource_to_user() 2007-12-26 19:33:46 -08:00
asm-um uml: update address space affected by pud_clear 2007-11-14 18:45:37 -08:00
asm-v850
asm-x86 x86: fix asm-x86/msr.h for user-space export 2008-01-01 19:12:15 +01:00
asm-xtensa
crypto
keys
linux [NET]: Add NAPI_STATE_DISABLE. 2008-01-08 23:30:07 -08:00
math-emu
media V4L/DVB (6601): V4L: videobuf-core locking fixes and comments 2007-12-11 18:08:08 -02:00
mtd
net [SCTP]: Fix the name of the authentication event. 2008-01-08 23:30:02 -08:00
pcmcia [AVR32] pcmcia ioaddr_t should be 32 bits on AVR32 2007-11-15 13:47:19 +01:00
rdma
rxrpc
scsi Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" 2008-01-06 10:17:12 -08:00
sound [ALSA] version 1.0.15 2007-11-20 20:16:43 +01:00
video
xen
Kbuild