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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html