linux/include
Herbert Xu 5d38a079ce gro: Add page frag support
This patch allows GRO to merge page frags (skb_shinfo(skb)->frags)
in one skb, rather than using the less efficient frag_list.

It also adds a new interface, napi_gro_frags to allow drivers
to inject page frags directly into the stack without allocating
an skb.  This is intended to be the GRO equivalent for LRO's
lro_receive_frags interface.

The existing GSO interface can already handle page frags with
or without an appended frag_list so nothing needs to be changed
there.

The merging itself is rather simple.  We store any new frag entries
after the last existing entry, without checking whether the first
new entry can be merged with the last existing entry.  Making this
check would actually be easy but since no existing driver can
produce contiguous frags anyway it would just be mental masturbation.

If the total number of entries would exceed the capacity of a
single skb, we simply resort to using frag_list as we do now.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-01-04 16:13:40 -08:00
..
acpi ACPI: don't cond_resched() when irqs_disabled() 2008-12-19 04:38:33 -05:00
asm-arm
asm-frv
asm-generic Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-12-28 12:33:21 -08:00
asm-h8300
asm-m32r
asm-m68k m68k: use the new byteorder headers 2008-12-28 20:00:07 +01:00
asm-mn10300 MN10300: Fix __put_user_asm8() 2008-12-10 13:34:33 -08:00
asm-xtensa
crypto crypto: aes - Precompute tables 2008-12-25 11:05:13 +11:00
drm drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
keys
linux gro: Add page frag support 2009-01-04 16:13:40 -08:00
math-emu
media
mtd
net ipv6: Fix sporadic sendmsg -EINVAL when sending to multicast groups. 2009-01-04 16:04:39 -08:00
pcmcia
rdma
rxrpc
scsi [SCSI] fc_transport: fix old bug on bitflag definitions 2008-11-21 17:30:53 +09:00
sound Merge branch 'topic/udev-id-rename' into to-push 2008-12-25 11:40:34 +01:00
trace sched, trace: update trace_sched_wakeup() 2008-12-25 13:10:21 +01:00
video video: sh_mobile_lcdcfb deferred io support 2008-12-22 18:44:48 +09:00
xen xen: clean up asm/xen/hypervisor.h 2008-12-16 21:50:31 +01:00
Kbuild