Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp506283imm; Mon, 21 May 2018 09:29:55 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoOkxh74oXmX/qwOAw+lwB1SjjElYmOhiOwcMGEujaNzbrzELYcbPG/S4ZI952ker+qwJFZ X-Received: by 2002:a62:89db:: with SMTP id n88-v6mr20490626pfk.11.1526920195343; Mon, 21 May 2018 09:29:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526920195; cv=none; d=google.com; s=arc-20160816; b=BohVn+Cd2dkGHA/MP9+Tqy2fOTQQCH5gB17Z2nh6Jdcp40BlALYs16F5HpuUpEuvmn iOx+ci5/wma1Q8MKtOLnYeHjJXqldv8Y5rRFUeRMke4grPmLKOTzLoBNdT4cF1YFrWO0 tBS3kyTSXGACNHQmtF9a8xxoP0nWtePFLWNdPR6UsyE96vEPwUu9AIZZ+f5dfGN129wN I6e3yASaE0LLBg+tMB0oWqQWuMX4uMwz84gt97P7RMZgjMc/lOyY26S9E5+uZw6WEDYt 4Ou+YiPM3vJPaYqk49cJdS2g8tf0HjGK+SZoV8b8Cc9fEcLtuuBbqnRP0TWnJJH1e0vs ybXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=4PZxGAGkis0DOlAxzVa0nydfNEMpgpryxwLVzG1pryg=; b=nW0R4Sp0MIXYYfb0WE7/s6KdgzByI/I0GY/2sk3cy32Dqc5BEEV7Y8TsLDppd8mf5s 7gghsNISw/Rd0KOPofAm+nsfyc7vTBM2MNGCqOcGTD6GNCSkQ0ZLiU7cXcSR5Ytz4UXj S5bHaFUMhv6Em4zmjFQtiXJoiYBgACF60kDQQKOpFZP/QSMvLKiYbN4BAw7lgLxr0vLT VW+8dCGmXmvimjMcBZLCu+eZ08KWSZLTsttjUtJKky8cFywoRkWJnmjMxauiQlepBkLH mrq42Ildc77ueIOdWhOqBfrfjHT/FaRnl9Ivi5ULZvGCK/wUC8aaQ0v+rRx9+45Y/SXS 7T6A== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e5-v6si11332373pgs.317.2018.05.21.09.29.40; Mon, 21 May 2018 09:29:55 -0700 (PDT) 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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753221AbeEUQ31 (ORCPT + 99 others); Mon, 21 May 2018 12:29:27 -0400 Received: from mga17.intel.com ([192.55.52.151]:40329 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752882AbeEUQ3Y (ORCPT ); Mon, 21 May 2018 12:29:24 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 May 2018 09:29:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,426,1520924400"; d="scan'208";a="57749291" Received: from jesse-tab.amr.corp.intel.com (HELO localhost) ([10.166.244.182]) by orsmga001.jf.intel.com with ESMTP; 21 May 2018 09:29:23 -0700 Date: Mon, 21 May 2018 09:29:23 -0700 From: Jesse Brandeburg To: Jason Wang Cc: , , , , , jesse.brandeburg@intel.com Subject: Re: [RFC PATCH net-next 02/12] vhost_net: introduce vhost_exceeds_weight() Message-ID: <20180521092923.00005cec@intel.com> In-Reply-To: <1526893473-20128-3-git-send-email-jasowang@redhat.com> References: <1526893473-20128-1-git-send-email-jasowang@redhat.com> <1526893473-20128-3-git-send-email-jasowang@redhat.com> X-Mailer: Claws Mail 3.14.0 (GTK+ 2.24.30; i686-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 21 May 2018 17:04:23 +0800 Jason wrote: > Signed-off-by: Jason Wang > --- > drivers/vhost/net.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c > index 15d191a..de544ee 100644 > --- a/drivers/vhost/net.c > +++ b/drivers/vhost/net.c > @@ -479,6 +479,12 @@ static size_t init_iov_iter(struct vhost_virtqueue *vq, struct iov_iter *iter, > return len; > } > > +static bool vhost_exceeds_weight(int pkts, int total_len) > +{ > + return unlikely(total_len >= VHOST_NET_WEIGHT) || > + unlikely(pkts >= VHOST_NET_PKT_WEIGHT); I was going to say just one unlikely, but then the caller of this function also says unlikely(vhost_exceeds...), so I think you should just drop the unlikely statements here (both of them) > +} > + > /* Expects to be always run from workqueue - which acts as > * read-size critical section for our kind of RCU. */ > static void handle_tx(struct vhost_net *net) > @@ -570,7 +576,6 @@ static void handle_tx(struct vhost_net *net) > msg.msg_control = NULL; > ubufs = NULL; > } > - unrelated whitespace changes? > total_len += len; > if (total_len < VHOST_NET_WEIGHT && > !vhost_vq_avail_empty(&net->dev, vq) && > @@ -600,8 +605,7 @@ static void handle_tx(struct vhost_net *net) > else > vhost_zerocopy_signal_used(net, vq); > vhost_net_tx_packet(net); > - if (unlikely(total_len >= VHOST_NET_WEIGHT) || > - unlikely(++sent_pkts >= VHOST_NET_PKT_WEIGHT)) { > + if (unlikely(vhost_exceeds_weight(++sent_pkts, total_len))) { > vhost_poll_queue(&vq->poll); > break; > } > @@ -887,8 +891,7 @@ static void handle_rx(struct vhost_net *net) > if (unlikely(vq_log)) > vhost_log_write(vq, vq_log, log, vhost_len); > total_len += vhost_len; > - if (unlikely(total_len >= VHOST_NET_WEIGHT) || > - unlikely(++recv_pkts >= VHOST_NET_PKT_WEIGHT)) { > + if (unlikely(vhost_exceeds_weight(++recv_pkts, total_len))) { > vhost_poll_queue(&vq->poll); > goto out; > }