Re: WARNING: at net/ipv4/tcp_input.c:2054 tcp_mark_head_lost()

From: Guillaume Chazarain
Date: Sun Mar 02 2008 - 08:16:02 EST


On Sun, Mar 2, 2008 at 1:38 PM, Ilpo JÃrvinen <ilpo.jarvinen@xxxxxxxxxxx> wrote:
> In future, please inline at least the first one of them, if not sure
> where to cut, too much won't hurt... :-)

OK, will do.

> > It does not contain any "KERNEL: assertion (packets <=
> > tp->packets_out) failed at" line, so I'm afraid it's just noise.
>
> At least it catches one bug which could cause that assertion (it is much
> more rigid than the assertion and thus it catched it even though you
> won't see that assertion to ever trigger :-)).

Great :-)

> Could you next figure out what is at:
> [<c02e0f83>] tcp_ack+0x621/0xd2f

tcp_clean_rtx_queue() is automatically inlined into tcp_ack() by gcc.

That's:

tcp_ack():
/* See if we can take anything off of the retransmit queue. */
flag |= tcp_clean_rtx_queue(sk, prior_fackets);

tcp_clean_rtx_queue():
tcp_verify_left_out(tp); <=========== Here

if (skb && (TCP_SKB_CB(skb)->sacked & TCPCB_SACKED_ACKED))
flag |= FLAG_SACK_RENEGING;


Thanks.

--
Guillaume
¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_