* No pmtu probing on retransmits?
@ 2008-02-03 12:37 Andi Kleen
2008-02-03 14:04 ` John Heffner
0 siblings, 1 reply; 2+ messages in thread
From: Andi Kleen @ 2008-02-03 12:37 UTC (permalink / raw)
To: jheffner, netdev
Hallo,
While looking for something else in tcp_output.c I noticed that
MTU probing seems to be only done in tcp_write_xmit (when
packets come directly from process context), but not via the timer
driven timer retransmit path (tcp_retransmit_skb). Is that intentional?
It looks quite weird. I would normally assume PMTU blackholes get usually
detected on retransmit timeouts. Or do I miss something?
You seem to have assumed interrupt context at least
because tcp_mtu_probe() uses GFP_ATOMIC which is only needed for
interrupts. Currently it is only called in process context I think.
-Andi
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: No pmtu probing on retransmits?
2008-02-03 12:37 No pmtu probing on retransmits? Andi Kleen
@ 2008-02-03 14:04 ` John Heffner
0 siblings, 0 replies; 2+ messages in thread
From: John Heffner @ 2008-02-03 14:04 UTC (permalink / raw)
To: Andi Kleen; +Cc: netdev
Andi Kleen wrote:
> Hallo,
>
> While looking for something else in tcp_output.c I noticed that
> MTU probing seems to be only done in tcp_write_xmit (when
> packets come directly from process context), but not via the timer
> driven timer retransmit path (tcp_retransmit_skb). Is that intentional?
> It looks quite weird. I would normally assume PMTU blackholes get usually
> detected on retransmit timeouts. Or do I miss something?
MTU probing occurs only when everything is going fine. We are probing
a larger size than currently in use. In the case of a timeout, we
want to retransmit with the safe smaller size.
> You seem to have assumed interrupt context at least
> because tcp_mtu_probe() uses GFP_ATOMIC which is only needed for
> interrupts. Currently it is only called in process context I think.
I'm pretty sure it'll get called on ACK processing in softirq, f.e.:
tcp_mtu_probe()
tcp_write_xmit()
__tcp_push_pending_frames()
tcp_data_snd_check()
tcp_rcv_established()
Am I missing something?
-John
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-02-03 14:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-03 12:37 No pmtu probing on retransmits? Andi Kleen
2008-02-03 14:04 ` John Heffner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).