Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 15236
b: refs/heads/master
c: 9bffc4a
h: refs/heads/master
v: v3
  • Loading branch information
Neil Horman authored and David S. Miller committed Dec 19, 2005
1 parent 283dde2 commit 209b60c
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 399c180ac5f0cb66ef9479358e0b8b6bafcbeafe
refs/heads/master: 9bffc4ace1ed875667dbe5b29065d96bec558c62
14 changes: 3 additions & 11 deletions trunk/net/sctp/socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,6 @@ static inline void sctp_set_owner_w(struct sctp_chunk *chunk)
sizeof(struct sk_buff) +
sizeof(struct sctp_chunk);

sk->sk_wmem_queued += SCTP_DATA_SNDSIZE(chunk) +
sizeof(struct sk_buff) +
sizeof(struct sctp_chunk);

atomic_add(sizeof(struct sctp_chunk), &sk->sk_wmem_alloc);
}

Expand Down Expand Up @@ -4426,7 +4422,7 @@ int sctp_inet_listen(struct socket *sock, int backlog)
* tcp_poll(). Note that, based on these implementations, we don't
* lock the socket in this function, even though it seems that,
* ideally, locking or some other mechanisms can be used to ensure
* the integrity of the counters (sndbuf and wmem_queued) used
* the integrity of the counters (sndbuf and wmem_alloc) used
* in this place. We assume that we don't need locks either until proven
* otherwise.
*
Expand Down Expand Up @@ -4833,10 +4829,6 @@ static void sctp_wfree(struct sk_buff *skb)
sizeof(struct sk_buff) +
sizeof(struct sctp_chunk);

sk->sk_wmem_queued -= SCTP_DATA_SNDSIZE(chunk) +
sizeof(struct sk_buff) +
sizeof(struct sctp_chunk);

atomic_sub(sizeof(struct sctp_chunk), &sk->sk_wmem_alloc);

sock_wfree(skb);
Expand Down Expand Up @@ -4920,7 +4912,7 @@ void sctp_write_space(struct sock *sk)

/* Is there any sndbuf space available on the socket?
*
* Note that wmem_queued is the sum of the send buffers on all of the
* Note that sk_wmem_alloc is the sum of the send buffers on all of the
* associations on the same socket. For a UDP-style socket with
* multiple associations, it is possible for it to be "unwriteable"
* prematurely. I assume that this is acceptable because
Expand All @@ -4933,7 +4925,7 @@ static int sctp_writeable(struct sock *sk)
{
int amt = 0;

amt = sk->sk_sndbuf - sk->sk_wmem_queued;
amt = sk->sk_sndbuf - atomic_read(&sk->sk_wmem_alloc);
if (amt < 0)
amt = 0;
return amt;
Expand Down

0 comments on commit 209b60c

Please sign in to comment.