Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2081611imu; Wed, 28 Nov 2018 22:03:20 -0800 (PST) X-Google-Smtp-Source: AFSGD/UlUQhKdlk71XPte6cFmMep4Zce/Vx9Xw7IQ1fAlieo6VkTvNThDyBA/anD91Fs4ov8YeFQ X-Received: by 2002:a17:902:280b:: with SMTP id e11mr184369plb.269.1543471400749; Wed, 28 Nov 2018 22:03:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543471400; cv=none; d=google.com; s=arc-20160816; b=Q9llU6Xaf5n5lMMZho3TziKA5esC+zfs6vb3ZToVWZyuIkYqC0mhsuCGjKjerkwdgp acah4udTbkP8kfYx8NlA6GClNllu/I4ZEadqDdfeH9ayays5K9pb/UB5TAQRtFpI98Xq o9iAg7qpdpYQsy5j7XTdLSxSJC5bPQ6D9+16mC3psBjEUqdkvJk8ZQ0U4thNN+xrNIN1 rSMO6B4ZHSXFHdDCNf+e5mqUL8v5TKUe51HrpWHCUvrAt4djuw6Jh+Av2r/hdmhbmiS9 frF3JPuwvBlaPhB1E30vBYEJLk9Q9S82nD0foxiFLje1Zt3ajZWuDvWPDydgNDF1bk5y SRVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=uIyXsdLuYr2VSW0jIf11fT1OPl0XDr65C4SXu0gP62Q=; b=K9oM5bIg5Q4mCqkmw4ONXBXeGWj/RXuO2DeESLLLlsYvBsyIOk7lphQwa+5ms2m3mx KZdtV24LHGk1kLmr2fSheKvO8IdGestwAP9fRV59zCPeT7OCpH3JkWoXV/a5AMAoVKiQ 2qx6yU2gwqICOFAFxIsmnOk6+fcNwjrB/3Ht1SwJQ2c7/AnNKIzO4twaxBGt0a+9UhkJ X/nFjD8DL9ur/Xcx9s4KH+JulfZqCGElAgJMhybhPJiRL4SdtCfTbKnoPanirpPsvhNf yqgr4q6wPQDb+wrRa/IkTITt0xGyKPzwMvVc/smlgLTYaS8OVyQkCJ6ma4OLVNd4hOIG Ptxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jcDPZx5l; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d69si962111pga.184.2018.11.28.22.03.05; Wed, 28 Nov 2018 22:03:20 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jcDPZx5l; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729169AbeK2REr (ORCPT + 99 others); Thu, 29 Nov 2018 12:04:47 -0500 Received: from mail.kernel.org ([198.145.29.99]:39614 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728072AbeK2REr (ORCPT ); Thu, 29 Nov 2018 12:04:47 -0500 Received: from sasha-vm.mshome.net (unknown [37.142.5.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 55B3921104; Thu, 29 Nov 2018 06:00:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543471236; bh=9vMIX1bgse4wUDGz7mvxAxSIu4G3V4CmnaT1rgGYmk8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jcDPZx5led4CxLFYEa4hDsfyUy+//FCBS42LocKGFu2R/f+lzFo4VQeRk6J91U2xY UCx9aGFJ4Na0/6Z199KYhWbfvAcWOBZHd74T1ybaKB1+f7I4PrnbRV1/5woUmy8hGz nNghEzUk0lxca0AVge84F+PrWsmrfyTkXe6h7SqI= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Tal Gilboa , "David S . Miller" , Sasha Levin Subject: [PATCH AUTOSEL 4.19 59/68] net/dim: Update DIM start sample after each DIM iteration Date: Thu, 29 Nov 2018 00:55:50 -0500 Message-Id: <20181129055559.159228-59-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181129055559.159228-1-sashal@kernel.org> References: <20181129055559.159228-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tal Gilboa [ Upstream commit 0211dda68a4f6531923a2f72d8e8959207f59fba ] On every iteration of net_dim, the algorithm may choose to check for the system state by comparing current data sample with previous data sample. After each of these comparison, regardless of the action taken, the sample used as baseline is needed to be updated. This patch fixes a bug that causes DIM to take wrong decisions, due to never updating the baseline sample for comparison between iterations. This way, DIM always compares current sample with zeros. Although this is a functional fix, it also improves and stabilizes performance as the algorithm works properly now. Performance: Tested single UDP TX stream with pktgen: samples/pktgen/pktgen_sample03_burst_single_flow.sh -i p4p2 -d 1.1.1.1 -m 24:8a:07:88:26:8b -f 3 -b 128 ConnectX-5 100GbE packet rate improved from 15-19Mpps to 19-20Mpps. Also, toggling between profiles is less frequent with the fix. Fixes: 8115b750dbcb ("net/dim: use struct net_dim_sample as arg to net_dim") Signed-off-by: Tal Gilboa Reviewed-by: Tariq Toukan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- include/linux/net_dim.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h index c79e859408e6..fd458389f7d1 100644 --- a/include/linux/net_dim.h +++ b/include/linux/net_dim.h @@ -406,6 +406,8 @@ static inline void net_dim(struct net_dim *dim, } /* fall through */ case NET_DIM_START_MEASURE: + net_dim_sample(end_sample.event_ctr, end_sample.pkt_ctr, end_sample.byte_ctr, + &dim->start_sample); dim->state = NET_DIM_MEASURE_IN_PROGRESS; break; case NET_DIM_APPLY_NEW_PROFILE: -- 2.17.1