linux/arch/m68k/include/asm
Neil Horman 3b885787ea net: Generalize socket rx gap / receive queue overflow cmsg
Create a new socket level option to report number of queue overflows

Recently I augmented the AF_PACKET protocol to report the number of frames lost
on the socket receive queue between any two enqueued frames.  This value was
exported via a SOL_PACKET level cmsg.  AFter I completed that work it was
requested that this feature be generalized so that any datagram oriented socket
could make use of this option.  As such I've created this patch, It creates a
new SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a
SOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue
overflowed between any two given frames.  It also augments the AF_PACKET
protocol to take advantage of this new feature (as it previously did not touch
sk->sk_drops, which this patch uses to record the overflow count).  Tested
successfully by me.

Notes:

1) Unlike my previous patch, this patch simply records the sk_drops value, which
is not a number of drops between packets, but rather a total number of drops.
Deltas must be computed in user space.

2) While this patch currently works with datagram oriented protocols, it will
also be accepted by non-datagram oriented protocols. I'm not sure if thats
agreeable to everyone, but my argument in favor of doing so is that, for those
protocols which aren't applicable to this option, sk_drops will always be zero,
and reporting no drops on a receive queue that isn't used for those
non-participating protocols seems reasonable to me.  This also saves us having
to code in a per-protocol opt in mechanism.

3) This applies cleanly to net-next assuming that commit
977750076d (my af packet cmsg patch) is reverted

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-12 13:26:31 -07:00
..
a.out-core.h
a.out.h
adb_iop.h
amigahw.h
amigaints.h
amigayle.h
amipcmcia.h
anchor.h
apollodma.h
apollohw.h
atafd.h
atafdreg.h
atari_joystick.h
atari_stdma.h
atari_stram.h
atarihw.h m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
atariints.h m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
atarikb.h
atomic_mm.h asm-generic: rename atomic.h to atomic-long.h 2009-06-11 21:02:17 +02:00
atomic_no.h asm-generic: rename atomic.h to atomic-long.h 2009-06-11 21:02:17 +02:00
atomic.h
auxvec.h
bitops_mm.h
bitops_no.h
bitops.h
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
blinken.h
bootinfo.h m68k: use the mmu version of bootinfo.h for m68knommu as well 2009-03-24 15:17:44 +10:00
bootstd.h
bug.h m68k: merge the mmu and non-mmu versions of bug.h 2009-03-24 15:17:44 +10:00
bugs.h m68k: merge the mmu and non-mmu versions of bugs.h 2009-03-24 15:17:45 +10:00
bvme6000hw.h
byteorder.h
cache.h m68k: use the mmu version of cache.h for m68knommu as well 2009-03-24 15:17:44 +10:00
cachectl.h
cacheflush_mm.h
cacheflush_no.h m68knommu: fix cache flushing for the 527x ColdFire processors 2009-01-27 16:42:00 +10:00
cacheflush.h
checksum.h m68k: merge the mmu and non-mmu versions of checksum.h 2009-09-16 09:43:37 +10:00
coldfire.h
commproc.h
contregs.h
cputime.h
current.h m68k: merge the mmu and non-mmu versions of current.h 2009-03-24 15:17:45 +10:00
dbg.h
delay_mm.h
delay_no.h
delay.h
device.h
div64.h m68k: merge the mmu and non-mmu versions of div64.h 2009-03-24 15:17:45 +10:00
dma-mapping.h m68k: swtich non-mmu setups to use the mmu dma-mapping.h 2009-03-24 15:17:41 +10:00
dma.h m68k: clean up comment delimiters in dma.h 2009-09-16 09:43:38 +10:00
dsp56k.h
dvma.h
elf.h m68k: use mmu version of elf.h for non-mmu builds as well 2009-03-24 15:17:42 +10:00
emergency-restart.h
entry_mm.h locking, m68k/asm-offsets: Rename signal defines 2009-09-01 09:38:03 +02:00
entry_no.h locking, m68k/asm-offsets: Rename pt_regs offset defines 2009-08-31 18:08:49 +02:00
entry.h
errno.h
fb.h m68k: merge the mmu and non-mmu versions of fb.h 2009-03-24 15:17:44 +10:00
fbio.h
fcntl.h
flat.h flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
floppy.h
fpu.h m68k: use mmu fpu.h for non-mmu builds as well 2009-03-24 15:17:42 +10:00
ftrace.h tracing: make CALLER_ADDRx overwriteable 2009-03-02 16:49:37 -05:00
futex.h
gpio.h core generic GPIO support for Freescale Coldfire processors. 2009-09-10 12:01:22 +10:00
hardirq_mm.h revert "m68k: convert to asm-generic/hardirq.h" 2009-10-01 16:11:11 -07:00
hardirq_no.h m68knommu: convert to asm-generic/hardirq.h 2009-09-16 09:43:36 +10:00
hardirq.h
hp300hw.h
hw_irq.h m68k: the one hw_irq.h can be used buy all m68k 2009-03-24 15:17:42 +10:00
hwtest.h
ide.h ide: cleanup <asm-m68k/ide.h> 2009-03-27 12:46:23 +01:00
idprom.h
intersil.h
io_mm.h
io_no.h m68knommu: relax IO_SPACE_LIMIT setting 2009-09-16 09:43:55 +10:00
io.h
ioctl.h
ioctls.h
ipcbuf.h
irq_regs.h
irq.h m68k: merge mmu and non-mmu versions of irq.h 2009-09-16 09:43:37 +10:00
Kbuild
kdebug.h
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
linkage.h
local.h
m520xsim.h m68knommu: remove interrupt masking from ColdFire pit timer 2009-09-16 09:43:47 +10:00
m523xsim.h generic GPIO support for the Freescale Coldfire 523x. 2009-09-10 12:01:22 +10:00
m527xsim.h generic GPIO support for the Freescale Coldfire 527x. 2009-09-10 12:01:23 +10:00
m528xsim.h generic GPIO support for the Freescale Coldfire 528x. 2009-09-10 12:01:23 +10:00
m532xsim.h m68knommu: clean up ColdFire 532x CPU timer setup 2009-09-16 09:43:52 +10:00
m5206sim.h m68knommu: simplify ColdFire "timers" clock initialization 2009-09-16 09:43:51 +10:00
m5249sim.h m68knommu: add support for second interrupt controller of ColdFire 5249 2009-09-16 09:43:53 +10:00
m5272sim.h m68knommu: create a speciailized ColdFire 5272 interrupt controller 2009-09-16 09:43:54 +10:00
m5307sim.h m68knommu: simplify ColdFire "timers" clock initialization 2009-09-16 09:43:51 +10:00
m5407sim.h m68knommu: simplify ColdFire "timers" clock initialization 2009-09-16 09:43:51 +10:00
m68360_enet.h
m68360_pram.h
m68360_quicc.h
m68360_regs.h
m68360.h
mac_asc.h
mac_baboon.h
mac_iop.h
mac_mouse.h
mac_oss.h
mac_psc.h
mac_via.h
machdep_mm.h
machdep_no.h
machdep.h
machines.h
machw.h
macintosh.h m68k: mac - Add a new entry in mac_model to identify the floppy controller type. 2009-03-26 21:15:27 +01:00
macints.h
math-emu.h locking, m68k/asm-offsets: Rename pt_regs offset defines 2009-08-31 18:08:49 +02:00
mc146818rtc.h m68k: use the mc146818rtc.h for non-mmu setups as well. 2009-03-24 15:17:41 +10:00
MC68EZ328.h
MC68VZ328.h
MC68328.h
MC68332.h
mcfcache.h
mcfdma.h
mcfgpio.h core generic GPIO support for Freescale Coldfire processors. 2009-09-10 12:01:22 +10:00
mcfintc.h m68knommu: map ColdFire interrupts to correct masking bits 2009-09-16 09:43:52 +10:00
mcfmbus.h
mcfne.h m68knommu: remove special interrupt handling code for ne2k support 2009-09-16 09:43:55 +10:00
mcfpit.h
mcfsim.h m68knommu: move ColdFire INTC definitions to new include file 2009-09-16 09:43:49 +10:00
mcfsmc.h generic GPIO support misc files. 2009-09-10 12:01:24 +10:00
mcftimer.h
mcfuart.h
mcfwdebug.h
md.h
mman.h mm: remove duplicate asm/mman.h files 2009-09-22 07:17:42 -07:00
mmu_context.h m68k: merge the mmu and non-mmu versions of mmu_context.h 2009-03-24 15:17:45 +10:00
mmu.h m68k: merge the mmu and non-mmu versions of mmu.h 2009-03-24 15:17:42 +10:00
mmzone.h
module.h m68k: merge the mmu and non-mmu versions of module.h 2009-03-24 15:17:45 +10:00
motorola_pgalloc.h arch/m68k/include/asm/motorola_pgalloc.h: fix kunmap arg 2009-08-26 23:14:49 +02:00
motorola_pgtable.h
movs.h
msgbuf.h
mutex.h
mvme16xhw.h
mvme147hw.h
nettel.h generic GPIO support misc files. 2009-09-10 12:01:24 +10:00
nubus.h
openprom.h
oplib.h
page_mm.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
page_no.h m68knommu: Make PAGE_SIZE available to assembly files. 2009-09-16 09:43:57 +10:00
page_offset.h m68k: merge the mmu and non-mmu versions of page_offset.h 2009-03-24 15:17:43 +10:00
page.h
param.h m68k: merge the non-MMU and MMU versions of param.h 2009-03-16 17:52:16 +10:00
parport.h
pci.h m68k: use the mmu pci.h for m68knommu as well 2009-03-24 15:17:41 +10:00
percpu.h
pgalloc.h m68k: merge the mmu and non-mmu versions of pgalloc.h 2009-03-24 15:17:43 +10:00
pgtable_mm.h m68k: Fix redefinition of pgprot_noncached 2009-08-26 23:14:49 +02:00
pgtable_no.h m68knommu: mv definition of check_pgt_cache() 2009-03-24 15:17:43 +10:00
pgtable.h
pinmux.h core generic GPIO support for Freescale Coldfire processors. 2009-09-10 12:01:22 +10:00
poll.h
posix_types.h
processor.h m68k: merge mmu and non-mmu versions of processor.h 2009-09-16 09:43:36 +10:00
ptrace.h m68k: merge the non-MMU and MMU versions of ptrace.h 2009-03-17 08:44:42 +10:00
q40_master.h
q40ints.h
quicc_simple.h
raw_io.h
resource.h
rtc.h m68k: Hook up rtc-generic 2009-04-02 01:05:31 +00:00
sbus.h
scatterlist.h m68k: Use dma_addr_t for scatterlist.dma_address 2009-03-24 15:17:43 +10:00
sections.h
segment.h m68k: merge the mmu and non-mmu versions of segment.h 2009-03-24 15:17:44 +10:00
sembuf.h
serial.h
setup.h m68k: use MMU version of setup.h for both MMU and non-MMU 2009-03-17 08:44:41 +10:00
shm.h
shmbuf.h
shmparam.h
sigcontext.h m68k: merge the non-MMU and MMU versions of sigcontext.h 2009-03-16 18:00:25 +10:00
siginfo.h m68k: merge the non-MMU and MMU versions of siginfo.h 2009-03-17 08:47:11 +10:00
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
smp.h
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h
spinlock.h
stat.h
statfs.h
string_mm.h
string_no.h
string.h
sun3_pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
sun3_pgtable.h
sun3-head.h
sun3ints.h
sun3mmu.h
sun3x.h
sun3xflop.h
sun3xprom.h
swab.h headers_check fix: m68k, swab.h 2009-06-11 13:09:11 +10:00
system_mm.h
system_no.h m68knommu: remove obsolete reset code 2009-06-11 13:09:11 +10:00
system.h
termbits.h
termios.h
thread_info_mm.h locking, m68k: Calculate thread_info offset with asm offset 2009-08-31 18:08:49 +02:00
thread_info_no.h sched: INIT_PREEMPT_COUNT 2009-07-10 14:24:05 -07:00
thread_info.h
timex.h m68knommu: fix ColdFire definition of CLOCK_TICK_RATE 2009-09-16 09:43:56 +10:00
tlb.h
tlbflush.h m68k: merge the mmu and non-mmu versions of tlbflush.h 2009-03-24 15:17:45 +10:00
topology.h
traps_mm.h
traps_no.h
traps.h
types.h
uaccess_mm.h
uaccess_no.h
uaccess.h
ucontext.h m68k: merge the mmu and non-mmu versions of ucontext.h 2009-03-24 15:17:43 +10:00
unaligned.h m68k: Restore correct include guards for <asm/unaligned.h> 2009-03-24 15:17:43 +10:00
unistd.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
user.h
virtconvert.h
xor.h
zorro.h