kernel-fxtec-pro1x/include/net
Arnaldo Carvalho de Melo a2e2725541 net: Introduce recvmmsg socket syscall
Meaning receive multiple messages, reducing the number of syscalls and
net stack entry/exit operations.

Next patches will introduce mechanisms where protocols that want to
optimize this operation will provide an unlocked_recvmsg operation.

This takes into account comments made by:

. Paul Moore: sock_recvmsg is called only for the first datagram,
  sock_recvmsg_nosec is used for the rest.

. Caitlin Bestler: recvmmsg now has a struct timespec timeout, that
  works in the same fashion as the ppoll one.

  If the underlying protocol returns a datagram with MSG_OOB set, this
  will make recvmmsg return right away with as many datagrams (+ the OOB
  one) it has received so far.

. Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen
  datagrams and then recvmsg returns an error, recvmmsg will return
  the successfully received datagrams, store the error and return it
  in the next call.

This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg,
where we will be able to acquire the lock only at batch start and end, not at
every underlying recvmsg call.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-12 23:40:10 -07:00
..
9p 9p: Add fscache support to 9p 2009-09-23 13:03:46 -05:00
bluetooth net: mark net_proto_ops as const 2009-10-07 01:10:46 -07:00
irda net: mark read-only arrays as const 2009-08-05 10:42:58 -07:00
iucv af_iucv: Return -EAGAIN if iucv msg limit is exceeded 2009-06-19 00:10:40 -07:00
netfilter Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2009-09-10 18:17:09 -07:00
netns netns: embed ip6_dst_ops directly 2009-09-01 17:40:31 -07:00
phonet Phonet: sockets list through proc_fs 2009-07-23 17:58:19 -07:00
sctp net: Make setsockopt() optlen be unsigned. 2009-09-30 16:12:20 -07:00
tc_act
tipc
act_api.h net: restore gnet_stats_basic to previous definition 2009-08-17 21:33:49 -07:00
addrconf.h bonding: remap muticast addresses without using dev_close() and dev_open() 2009-09-15 02:37:40 -07:00
af_ieee802154.h af_ieee802154: add support for WANT_ACK socket option 2009-08-12 21:54:50 -07:00
af_rxrpc.h
af_unix.h
ah.h
arp.h net: make neigh_ops constant 2009-09-01 17:40:57 -07:00
atmclip.h
ax25.h
ax88796.h ax88796: Add method to take MAC from platform data 2009-03-24 23:32:03 -07:00
cfg80211.h cfg80211: add firmware and hardware version to wiphy 2009-10-07 16:39:46 -04:00
checksum.h
cipso_ipv4.h netlabel: Label incoming TCP connections correctly in SELinux 2009-03-28 15:01:36 +11:00
compat.h net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
datalink.h
dcbnl.h dcbnl: Add support for setapp/getapp to netdev dcbnl_rtnl_ops 2009-09-01 01:24:30 -07:00
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h dsa: add switch chip cascading support 2009-03-21 19:06:54 -07:00
dsfield.h
dst.h netns: embed ip6_dst_ops directly 2009-09-01 17:40:31 -07:00
dst_ops.h netns: embed ip6_dst_ops directly 2009-09-01 17:40:31 -07:00
esp.h
ethoc.h net: Add support for the OpenCores 10/100 Mbps Ethernet MAC. 2009-03-27 00:16:21 -07:00
fib_rules.h net: Remove unused parameter from fill method in fib_rules_ops. 2009-05-20 17:26:23 -07:00
flow.h
garp.h
gen_stats.h pkt_sched: gen_estimator: Dont report fake rate estimators 2009-10-07 01:07:42 -07:00
genetlink.h genetlink: make netns aware 2009-07-12 14:03:27 -07:00
icmp.h
ieee80211_radiotap.h wireless: radiotap updates 2009-03-27 20:12:52 -04:00
ieee802154.h ieee802154: move headers out of extra directory 2009-07-23 17:08:51 +04:00
ieee802154_netdev.h ieee802154: add support for channel pages from IEEE 802.15.4-2006 2009-08-19 23:08:22 +04:00
if_inet6.h ipv6: reorder struct inet6_ifaddr to remove padding on 64 bit builds 2009-03-21 13:29:05 -07:00
inet6_connection_sock.h
inet6_hashtables.h net: skb->dst accessors 2009-06-03 02:51:04 -07:00
inet_common.h
inet_connection_sock.h net: Make setsockopt() optlen be unsigned. 2009-09-30 16:12:20 -07:00
inet_ecn.h
inet_frag.h
inet_hashtables.h net: skb->dst accessors 2009-06-03 02:51:04 -07:00
inet_sock.h Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck 2009-06-16 13:09:51 -07:00
inet_timewait_sock.h net: annotate inet_timewait_sock bitfields 2009-06-15 15:49:32 +02:00
inetpeer.h
ip.h net: Make setsockopt() optlen be unsigned. 2009-09-30 16:12:20 -07:00
ip6_checksum.h
ip6_fib.h xfrm: select sane defaults for xfrm[4|6] gc_thresh 2009-07-30 18:52:15 -07:00
ip6_route.h net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ip6_tunnel.h
ip_fib.h ipv4: fib table algorithm performance improvement 2009-10-05 00:21:56 -07:00
ip_vs.h net: mark read-only arrays as const 2009-08-05 10:42:58 -07:00
ipcomp.h
ipconfig.h
ipip.h ipv6 sit: 6rd (IPv6 Rapid Deployment) Support. 2009-10-07 01:07:37 -07:00
ipv6.h net: Make setsockopt() optlen be unsigned. 2009-09-30 16:12:20 -07:00
ipx.h
iw_handler.h wext: refactor 2009-10-07 16:39:43 -04:00
lapb.h
lib80211.h
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h mac80211: remove ieee80211_rx namespace hack 2009-08-28 14:40:29 -04:00
mip6.h
ndisc.h sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
neighbour.h net: make neigh_ops constant 2009-09-01 17:40:57 -07:00
net_namespace.h wext: refactor 2009-10-07 16:39:43 -04:00
netdma.h
netevent.h
netlabel.h netlabel: Cleanup the Smack/NetLabel code to fix incoming TCP connections 2009-03-28 15:01:37 +11:00
netlink.h netlink: constify nlmsghdr arguments 2009-08-25 16:07:40 +02:00
netrom.h
nexthop.h
nl802154.h ieee802154: add support for channel pages from IEEE 802.15.4-2006 2009-08-19 23:08:22 +04:00
p8022.h
pkt_cls.h
pkt_sched.h pkt_sched: Revert tasklet_hrtimer changes. 2009-09-01 17:59:25 -07:00
protocol.h net: constify struct inet6_protocol 2009-09-14 17:03:05 -07:00
psnap.h snap: use const for descriptor 2009-03-21 19:06:50 -07:00
raw.h
rawv6.h ipv6: Use correct data types for ICMPv6 type and code 2009-06-23 04:31:07 -07:00
red.h
regulatory.h cfg80211: clean up includes 2009-04-22 16:57:17 -04:00
request_sock.h
rose.h NET: ROSE: Don't use static buffer. 2009-07-26 19:11:14 -07:00
route.h net: skb->rtable accessor 2009-06-03 02:51:02 -07:00
rtnetlink.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2009-09-10 18:17:09 -07:00
sch_generic.h pkt_sched: Fix tx queue selection in tc_modify_qdisc 2009-09-15 02:53:07 -07:00
scm.h cleanup: remove unused member in scm_cookie. 2009-07-05 19:16:10 -07:00
slhc_vj.h
snmp.h snmp: add missing counters for RFC 4293 2009-04-27 02:45:02 -07:00
sock.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
stp.h
tcp.h net: Make setsockopt() optlen be unsigned. 2009-09-30 16:12:20 -07:00
tcp_states.h
timewait_sock.h
transp_v6.h inet: inet_connection_sock_af_ops const 2009-09-02 01:03:49 -07:00
udp.h udp: dynamically size hash tables at boot time 2009-10-07 22:00:22 -07:00
udplite.h
wext.h wext: refactor 2009-10-07 16:39:43 -04:00
wimax.h rfkill: rewrite 2009-06-03 14:06:13 -04:00
wpan-phy.h ieee802154: add a sysfs representation of WPAN master devices 2009-08-19 23:08:20 +04:00
x25.h x25: Fix sleep from timer on socket destroy. 2009-06-16 05:40:30 -07:00
x25device.h
xfrm.h xfrm: select sane defaults for xfrm[4|6] gc_thresh 2009-07-30 18:52:15 -07:00