Date: Thu, 6 Oct 2016 17:22:11 -0700 From: hiren panchasara <hiren@strugglingcoder.info> To: transport@FreeBSD.org Cc: lstewart@FreeBSD.org Subject: Exiting from loss recovery Message-ID: <20161007002211.GO50669@strugglingcoder.info>
next in thread | raw e-mail | index | archive | help
--S0GG+JvAI2G0KxBG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In tcp_do_segment(): /* * If the congestion window was inflated to account * for the other side's cached packets, retract it. */ if (IN_FASTRECOVERY(tp->t_flags)) { if (SEQ_LT(th->th_ack, tp->snd_recover)) { if (tp->t_flags & TF_SACK_PERMIT) tcp_sack_partialack(tp, th);=20 else tcp_newreno_partial_ack(tp, th);=20 } else=20 cc_post_recovery(tp, th);=20 } Here, if we get an ack that marks recovery from loss i.e. >=3D snd_recovery, we call cc_post_recovery() which in-turn calls CC specific post_recovery routine. But we don't reset TF_FASTRECOVERY | TF_CONGRECOVERY flags by calling EXIT_RECOVERY()=20 Later in the code we do this check again in 'process_ACK:' /* XXXLAS: Can this be moved up into cc_post_recovery? */ if (IN_RECOVERY(tp->t_flags) && SEQ_GEQ(th->th_ack, tp->snd_recover)) { EXIT_RECOVERY(tp->t_flags); } And as it can be seen, Lawrence marked it as something that could possibly be done here and at the end of cc_post_recovery().=20 So, should we do it? i.e call EXIT_RECOVERY() at the end of cc_post_recovery() and remove the block from 'process_ACK' section? or there is something subtle I am not seeing? Cheers, Hiren --S0GG+JvAI2G0KxBG Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQF8BAABCgBmBQJX9uqwXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4 QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/l5TYIAKiIHlBmt622sH0ZSHbMxTZS qxgoQKvTmgTmDchPNix7DFjFq8/mwsbOvj5M9NRnHm+JeSgsl/3fzfVDg4PXsMf4 Z8wBOeZzlK56DY75F122ejfY46v4Ag0G5jLQTLywyztl4jgspV/VxJp7zdbif+Qd YDu9+0AhGmyXuFcOvALsiq4Y5vrR9mDw4qsEBuxB1eLChGAs/8EnOEK5mpeCugu0 oItd0qmsjRQgcVhgSMp0oOupbfinXH65JLGm3PTcAuF6E64UrAl8Y2/odBaNJm0b Zfs4DjKSgZ+q5yLxO2XuKiYhNtFenS6I6HInFX0j/MeILPMjyyIOGrY/OWjflBc= =TUng -----END PGP SIGNATURE----- --S0GG+JvAI2G0KxBG--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161007002211.GO50669>