From patchwork Mon Nov 27 06:05:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suman Ghosh X-Patchwork-Id: 169991 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp2878132vqx; Sun, 26 Nov 2023 22:06:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IFdLp1B6vi+0+X3y83sJkahXWBOW0lLLBiw2T+cR8BK4yI5kMQdxUSwpLK8yvda43OClm2a X-Received: by 2002:a05:6a20:729e:b0:18b:826e:e611 with SMTP id o30-20020a056a20729e00b0018b826ee611mr11730530pzk.40.1701065205653; Sun, 26 Nov 2023 22:06:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701065205; cv=none; d=google.com; s=arc-20160816; b=a2vkzWzNhY05C9O1hGv/mtpLQ5aS+Exz9rW/TJ98vVFMvKfLtmdjvLZfCsymSrzbur WoFVncG7oRin5TQrxVmoqFltzDjuhANXXvChA7RZaoDRRn26IPPwnpZeVvbUqpDSa/H2 Ri2cdqXqceTnu6SAfKGr3Cp3mNXZsQ+AtaumflKixGf+S8B3gpwojaW10MORVNCnLHdT 25nMrYfTKdU2H1p+tP+puZtTgTW3jzNgyfwKtWt8QMBzjSG+t+4bsxc4b+kRttkyhtuk Y7NlDoGh5WL2mt1VH3Fn9RmyRkrntun2m4OSIHNmVBpmo9j0Zdex54DBpKBoxXSrU1Bz wkRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:to:from:dkim-signature; bh=u31IBT9Ogw/i12krm24f2e68EWynIQHq66FbOqTZMEo=; fh=2uMkRVCSrTY9kSij+0ehFNLK9SOC7CF8rQHlhM9dNaQ=; b=xUDRRiUxTUAM0uRDms0uMgWYP2qE6ni3OgG31ILc1NlQjZT+x2LF8Wv8DpRD6NxOio w6izr/rXu5x4+K56QcLLToU9QD+DJwgmU5RwwhbCcLByJPCKCfnxK1riNCqr8ZHT02E8 lKBEE2vIcPZRg7XFuJ94O9AJlyJBDNYojKoXzcQVCc+w0y17Mj5CXQ1bpHmH4v6pWX3f iD2u7arBjNRsSFTgkbyYvphSxtzqJKvL9XsK00WaONbkB9SO/X0Vdx07a+CQZfGUJfS0 yVYE3KswX1wFaPW14ipJ1T07WF4j+DCjTCxPXagdzrZyCYdhrKtPjihmygXAfh+dv3qJ Op4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b="L+dcO/bv"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id i11-20020a17090332cb00b001cfc9894958si2183710plr.379.2023.11.26.22.06.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Nov 2023 22:06:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b="L+dcO/bv"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 535DF803B3A8; Sun, 26 Nov 2023 22:05:57 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230300AbjK0GFr (ORCPT + 99 others); Mon, 27 Nov 2023 01:05:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229565AbjK0GFq (ORCPT ); Mon, 27 Nov 2023 01:05:46 -0500 Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9790E4; Sun, 26 Nov 2023 22:05:52 -0800 (PST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AR0QDrE014892; Sun, 26 Nov 2023 22:05:46 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=u31IBT9Ogw/i12krm24f2e68EWynIQHq66FbOqTZMEo=; b=L+dcO/bvY5ySIoQWcfrnYvG8SQHTyR5wcr8fNT2pHUgLdlUeSNmwJtXDPmwLhpNXDLsj zmfUqzPGXuXHHZQmtNGYXl1eLkLL2fwIZfVOgDqSNOQdWvVp3OCd7pfM/XlSNXRi/zjg r/lZTuSaRGuGbudDn3KWlu4oQFXCmi1B3biXyQZ2KIdZ0DdVvUrk2AvAB0jgXBbTxK3t fL9NXN1eIbXNqzPNggzY56DBOgbniRMf8ZkHDaWTuec+7aWwQ7UOtY1aJ3y8IOpNJr0+ 5Are2Y634lab3pDF13uIY1AzN4enBUzbpiY9VRRG7WlIwQzgUA4Bt51JjWroK0By1/8H BQ== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3ukf5x3s2c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 26 Nov 2023 22:05:46 -0800 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Sun, 26 Nov 2023 22:05:45 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Sun, 26 Nov 2023 22:05:44 -0800 Received: from localhost.localdomain (unknown [10.28.36.166]) by maili.marvell.com (Postfix) with ESMTP id DD9F43F7055; Sun, 26 Nov 2023 22:05:40 -0800 (PST) From: Suman Ghosh To: , , , , , , , , , , , , , Subject: [net PATCH v2] octeontx2-pf: Fix updation of adaptive interrupt coalescing Date: Mon, 27 Nov 2023 11:35:38 +0530 Message-ID: <20231127060538.3780111-1-sumang@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: N2TjlSe4MzvHhydGjJUosqXtlGC1G91C X-Proofpoint-ORIG-GUID: N2TjlSe4MzvHhydGjJUosqXtlGC1G91C X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-27_03,2023-11-22_01,2023-05-22_02 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Sun, 26 Nov 2023 22:05:57 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783694002567204678 X-GMAIL-MSGID: 1783696148946120090 From: Naveen Mamindlapalli The current adaptive interrupt coalescing code updates only rx packet stats for dim algorithm. This patch fixes that and also updates tx packet stats which will be useful when there is only tx traffic. Also moved configuring hardware adaptive interrupt setting to driver dim callback. Fixes: 6e144b47f560 ("octeontx2-pf: Add support for adaptive interrupt coalescing") Signed-off-by: Naveen Mamindlapalli --- v2 changes: - Missed adding the fixes tag in v1. Added the same in v2. .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 9 +++++++++ .../marvell/octeontx2/nic/otx2_txrx.c | 20 +++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c index ba95ac913274..6c0e0e2c235b 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c @@ -1685,6 +1685,14 @@ static void otx2_do_set_rx_mode(struct otx2_nic *pf) mutex_unlock(&pf->mbox.lock); } +static void otx2_set_irq_coalesce(struct otx2_nic *pfvf) +{ + int cint; + + for (cint = 0; cint < pfvf->hw.cint_cnt; cint++) + otx2_config_irq_coalescing(pfvf, cint); +} + static void otx2_dim_work(struct work_struct *w) { struct dim_cq_moder cur_moder; @@ -1700,6 +1708,7 @@ static void otx2_dim_work(struct work_struct *w) CQ_TIMER_THRESH_MAX : cur_moder.usec; pfvf->hw.cq_ecount_wait = (cur_moder.pkts > NAPI_POLL_WEIGHT) ? NAPI_POLL_WEIGHT : cur_moder.pkts; + otx2_set_irq_coalesce(pfvf); dim->state = DIM_START_MEASURE; } diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c index 6ee15f3c25ed..4d519ea833b2 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c @@ -512,11 +512,18 @@ static void otx2_adjust_adaptive_coalese(struct otx2_nic *pfvf, struct otx2_cq_p { struct dim_sample dim_sample; u64 rx_frames, rx_bytes; + u64 tx_frames, tx_bytes; rx_frames = OTX2_GET_RX_STATS(RX_BCAST) + OTX2_GET_RX_STATS(RX_MCAST) + OTX2_GET_RX_STATS(RX_UCAST); rx_bytes = OTX2_GET_RX_STATS(RX_OCTS); - dim_update_sample(pfvf->napi_events, rx_frames, rx_bytes, &dim_sample); + tx_bytes = OTX2_GET_TX_STATS(TX_OCTS); + tx_frames = OTX2_GET_TX_STATS(TX_UCAST); + + dim_update_sample(pfvf->napi_events, + rx_frames + tx_frames, + rx_bytes + tx_bytes, + &dim_sample); net_dim(&cq_poll->dim, dim_sample); } @@ -558,16 +565,9 @@ int otx2_napi_handler(struct napi_struct *napi, int budget) if (pfvf->flags & OTX2_FLAG_INTF_DOWN) return workdone; - /* Check for adaptive interrupt coalesce */ - if (workdone != 0 && - ((pfvf->flags & OTX2_FLAG_ADPTV_INT_COAL_ENABLED) == - OTX2_FLAG_ADPTV_INT_COAL_ENABLED)) { - /* Adjust irq coalese using net_dim */ + /* Adjust irq coalese using net_dim */ + if (pfvf->flags & OTX2_FLAG_ADPTV_INT_COAL_ENABLED) otx2_adjust_adaptive_coalese(pfvf, cq_poll); - /* Update irq coalescing */ - for (i = 0; i < pfvf->hw.cint_cnt; i++) - otx2_config_irq_coalescing(pfvf, i); - } if (unlikely(!filled_cnt)) { struct refill_work *work;