linux/net
Gerrit Renker c5a1ae9a4c [DCCP] ccid3: Perform history operations only after packet has been sent
This migrates all packet history operations into the routine
 ccid3_hc_tx_packet_sent, thereby removing synchronization problems
 that occur when, as before, the operations are spread over multiple
 routines.
 The following minor simplifications are also applied:
  * several simplifications now follow from this change - several tests
    are now no longer required
  * removal of one unnecessary variable (dp)

Justification:

 Currently packet history operations span two different routines,
 one of which is likely to pass through several iterations of sleeping
 and awakening.
 The first routine, ccid3_hc_tx_send_packet, allocates an entry and
 sets a few fields. The remaining fields are filled in when the second
 routine (which is not within a sleeping context), ccid3_hc_tx_packet_sent,
 is called. This has several strong drawbacks:
  * it is not necessary to split history operations - all fields can be
    filled in by the second routine
  * the first routine is called multiple times, until a packet can be sent,
    and sleeps meanwhile - this causes a lot of difficulties with regard to
    keeping the list consistent
  * since both routines do not have a producer-consumer like synchronization,
    it is very difficult to maintain data across calls to these routines
  * the fact that the routines are called in different contexts (sleeping, not
    sleeping) adds further problems

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2006-12-11 14:34:54 -08:00
..
802 [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
8021q [PATCH] Finish annotations of struct vlan_ethhdr 2006-10-10 16:15:34 -07:00
appletalk [PATCH] severing skbuff.h -> highmem.h 2006-12-04 02:00:29 -05:00
atm [PATCH] struct path: convert atm 2006-12-08 08:28:44 -08:00
ax25 [AX.25]: Fix default address and broadcast address initialization. 2006-12-08 17:19:26 -08:00
bluetooth [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
bridge Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-12-07 09:05:15 -08:00
core [NETPOLL]: Make sure TX lock is taken with BH disabled. 2006-12-11 14:34:36 -08:00
dccp [DCCP] ccid3: Perform history operations only after packet has been sent 2006-12-11 14:34:54 -08:00
decnet [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
econet [NET]: Conversions from kmalloc+memset to k(z|c)alloc. 2006-07-21 14:51:30 -07:00
ethernet [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
ieee80211 [PATCH] workstruct: fix ieee80211-softmac compile problem 2006-12-10 09:55:39 -08:00
ipv4 [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
ipv6 [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
ipx [IPX]: Annotate and fix IPX checksum 2006-11-05 14:11:25 -08:00
irda [PATCH] tty: switch to ktermios and new framework 2006-12-08 08:28:56 -08:00
key audit: Add auditing to ipsec 2006-12-06 20:14:22 -08:00
lapb [LAPB]: Fix windowsize check 2006-08-05 21:15:58 -07:00
llc [LLC]: anotations 2006-12-02 21:21:23 -08:00
netfilter Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-12-07 09:05:15 -08:00
netlabel NetLabel: convert to an extensibile/sparse category bitmap 2006-12-02 21:31:36 -08:00
netlink [PATCH] struct path: convert netlink 2006-12-08 08:28:48 -08:00
netrom [NETROM]: Use kmemdup 2006-12-02 21:24:02 -08:00
packet [NET]: Memory barrier cleanups 2006-12-07 00:11:33 -08:00
rose [ROSE] rose_add_loopback_node: propagate -E 2006-12-02 22:17:48 -08:00
rxrpc [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
sched [NET_SCHED] sch_htb: turn intermediate classes into leaves 2006-12-08 17:19:32 -08:00
sctp [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
sunrpc [PATCH] struct path: convert sunrpc 2006-12-08 08:28:50 -08:00
tipc [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
unix [PATCH] struct path: convert unix 2006-12-08 08:28:50 -08:00
wanrouter [WANROUTER]: Kill kmalloc debugging code. 2006-12-07 00:18:22 -08:00
x25 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
xfrm Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-12-07 09:05:15 -08:00
compat.c [NET]: File descriptor loss while receiving SCM_RIGHTS 2006-10-11 23:59:48 -07:00
Kconfig [NETFILTER]: remove the reference to ipchains from Kconfig 2006-12-02 21:31:35 -08:00
Makefile [NetLabel]: core NetLabel subsystem 2006-09-22 14:53:34 -07:00
nonet.c
socket.c [PATCH] struct path: convert net 2006-12-08 08:28:48 -08:00
sysctl_net.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
TUNABLE