Skip to content

Commit

Permalink
tcp: Partial hint clearing has again become meaningless
Browse files Browse the repository at this point in the history
Ie., the difference between partial and all clearing doesn't
exists anymore since the SACK optimizations got dropped by
an sacktag rewrite.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ilpo Järvinen authored and David S. Miller committed Sep 21, 2008
1 parent d950f26 commit 64edc27
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 11 deletions.
7 changes: 1 addition & 6 deletions include/net/tcp.h
Original file line number Diff line number Diff line change
Expand Up @@ -1035,19 +1035,14 @@ static inline void tcp_mib_init(struct net *net)
}

/* from STCP */
static inline void tcp_clear_retrans_hints_partial(struct tcp_sock *tp)
static inline void tcp_clear_all_retrans_hints(struct tcp_sock *tp)
{
tp->lost_skb_hint = NULL;
tp->scoreboard_skb_hint = NULL;
tp->retransmit_skb_hint = NULL;
tp->forward_skb_hint = NULL;
}

static inline void tcp_clear_all_retrans_hints(struct tcp_sock *tp)
{
tcp_clear_retrans_hints_partial(tp);
}

/* MD5 Signature */
struct crypto_hash;

Expand Down
5 changes: 2 additions & 3 deletions net/ipv4/tcp_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -1883,7 +1883,7 @@ static void tcp_enter_frto_loss(struct sock *sk, int allowed_segments, int flag)
tp->high_seq = tp->snd_nxt;
TCP_ECN_queue_cwr(tp);

tcp_clear_retrans_hints_partial(tp);
tcp_clear_all_retrans_hints(tp);
}

static void tcp_clear_retrans_partial(struct tcp_sock *tp)
Expand Down Expand Up @@ -1934,12 +1934,11 @@ void tcp_enter_loss(struct sock *sk, int how)
/* Push undo marker, if it was plain RTO and nothing
* was retransmitted. */
tp->undo_marker = tp->snd_una;
tcp_clear_retrans_hints_partial(tp);
} else {
tp->sacked_out = 0;
tp->fackets_out = 0;
tcp_clear_all_retrans_hints(tp);
}
tcp_clear_all_retrans_hints(tp);

tcp_for_write_queue(skb, sk) {
if (skb == tcp_send_head(sk))
Expand Down
4 changes: 2 additions & 2 deletions net/ipv4/tcp_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len,

BUG_ON(len > skb->len);

tcp_clear_retrans_hints_partial(tp);
tcp_clear_all_retrans_hints(tp);
nsize = skb_headlen(skb) - len;
if (nsize < 0)
nsize = 0;
Expand Down Expand Up @@ -1823,7 +1823,7 @@ static void tcp_retrans_try_collapse(struct sock *sk, struct sk_buff *skb,
tp->packets_out -= tcp_skb_pcount(next_skb);

/* changed transmit queue under us so clear hints */
tcp_clear_retrans_hints_partial(tp);
tcp_clear_all_retrans_hints(tp);

sk_wmem_free_skb(sk, next_skb);
}
Expand Down

0 comments on commit 64edc27

Please sign in to comment.