patch-pre2.0.5 linux/include/net/sock.h

Next file: linux/include/net/tcp.h
Previous file: linux/include/net/netlink.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file pre2.0.4/linux/include/net/sock.h linux/include/net/sock.h
@@ -195,8 +195,8 @@
 	struct sock		*next;
 	struct sock		*prev; /* Doubly linked chain.. */
 	struct sock		*pair;
-	struct sk_buff		* volatile send_head;
-	struct sk_buff		* volatile send_tail;
+	struct sk_buff		* send_head;
+	struct sk_buff		* send_tail;
 	struct sk_buff_head	back_log;
 	struct sk_buff		*partial;
 	struct timer_list	partial_timer;
@@ -211,33 +211,34 @@
 	unsigned short		max_unacked;
 	unsigned short		window;
 	__u32                   lastwin_seq;    /* sequence number when we last updated the window we offer */
-	volatile unsigned long  ato;            /* ack timeout */
-	volatile unsigned long  lrcvtime;       /* jiffies at last rcv */
+	__u32			high_seq;	/* sequence number when we did current fast retransmit */
+	unsigned long		ato;            /* ack timeout */
+	unsigned long		lrcvtime;       /* jiffies at last rcv */
 	unsigned short		bytes_rcv;
 /*
  *	mss is min(mtu, max_window) 
  */
 	unsigned short		mtu;       /* mss negotiated in the syn's */
-	volatile unsigned short	mss;       /* current eff. mss - can change */
-	volatile unsigned short	user_mss;  /* mss requested by user in ioctl */
-	volatile unsigned short	max_window;
+	unsigned short		mss;       /* current eff. mss - can change */
+	unsigned short		user_mss;  /* mss requested by user in ioctl */
+	unsigned short		max_window;
 	unsigned long 		window_clamp;
+	unsigned int		ssthresh;
 	unsigned short		num;
-	volatile unsigned short	cong_window;
-	volatile unsigned short	cong_count;
-	volatile unsigned short	ssthresh;
-	volatile unsigned short	packets_out;
-	volatile unsigned short	shutdown;
-	volatile unsigned long	rtt;
-	volatile unsigned long	mdev;
-	volatile unsigned long	rto;
+	unsigned short		cong_window;
+	unsigned short		cong_count;
+	unsigned short		packets_out;
+	unsigned short		shutdown;
+	unsigned long		rtt;
+	unsigned long		mdev;
+	unsigned long		rto;
 
 /*
  *	currently backoff isn't used, but I'm maintaining it in case
  *	we want to go back to a backoff formula that needs it
  */
  
-	volatile unsigned short	backoff;
+	unsigned short		backoff;
 	int			err, err_soft;	/* Soft holds errors that don't
 						   cause failure but are the cause
 						   of a persistent failure not just
@@ -412,7 +413,7 @@
 
 static inline void lock_sock(struct sock *sk)
 {
-#if 1
+#if 0
 /* debugging code: the test isn't even 100% correct, but it can catch bugs */
 /* Note that a double lock is ok in theory - it's just _usually_ a bug */
 	if (sk->users) {
@@ -428,7 +429,7 @@
 static inline void release_sock(struct sock *sk)
 {
 	barrier();
-#if 1
+#if 0
 /* debugging code: remove me when ok */
 	if (sk->users == 0) {
 		__label__ here;
@@ -437,7 +438,7 @@
 here:
 	}
 #endif
-	if (!--sk->users)
+	if ((sk->users = sk->users-1) == 0)
 		__release_sock(sk);
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this