Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 May 2020 21:42:50 +0000 (UTC)
From:      Richard Scheffenegger <rscheff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r361348 - head/sys/netinet/cc
Message-ID:  <202005212142.04LLgobu003967@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rscheff
Date: Thu May 21 21:42:49 2020
New Revision: 361348
URL: https://svnweb.freebsd.org/changeset/base/361348

Log:
  DCTCP: update alpha only once after loss recovery.
  
  In mixed ECN marking and loss scenarios it was found, that
  the alpha value of DCTCP is updated two times. The second
  update happens with freshly initialized counters indicating
  to ECN loss. Overall this leads to alpha not adjusting as
  quickly as expected to ECN markings, and therefore lead to
  excessive loss.
  
  Reported by:	Cheng Cui
  Reviewed by:	chengc_netapp.com, rrs, tuexen (mentor)
  Approved by:	tuexen (mentor)
  MFC after:	2 weeks
  Sponsored by:	NetApp, Inc.
  Differential Revision:	https://reviews.freebsd.org/D24817

Modified:
  head/sys/netinet/cc/cc_dctcp.c

Modified: head/sys/netinet/cc/cc_dctcp.c
==============================================================================
--- head/sys/netinet/cc/cc_dctcp.c	Thu May 21 21:33:15 2020	(r361347)
+++ head/sys/netinet/cc/cc_dctcp.c	Thu May 21 21:42:49 2020	(r361348)
@@ -154,10 +154,8 @@ dctcp_ack_received(struct cc_var *ccv, uint16_t type)
 		 * Update the fraction of marked bytes at the end of
 		 * current window size.
 		 */
-		if ((IN_FASTRECOVERY(CCV(ccv, t_flags)) &&
-		    SEQ_GEQ(ccv->curack, CCV(ccv, snd_recover))) ||
-		    (!IN_FASTRECOVERY(CCV(ccv, t_flags)) &&
-		    SEQ_GT(ccv->curack, dctcp_data->save_sndnxt)))
+		if (!IN_FASTRECOVERY(CCV(ccv, t_flags)) &&
+		    SEQ_GT(ccv->curack, dctcp_data->save_sndnxt))
 			dctcp_update_alpha(ccv);
 	} else
 		newreno_cc_algo.ack_received(ccv, type);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005212142.04LLgobu003967>