From patchwork Mon Nov 27 05:28:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suman Ghosh X-Patchwork-Id: 169972 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp2866319vqx; Sun, 26 Nov 2023 21:32:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IFvV+V4MsmTfggTVLI0i+wKaGo1tbt6FMxlDcv/SU3OX8GPW1gWbyfbFzcbatjsfLt4gzKX X-Received: by 2002:a05:6a20:e112:b0:187:bc51:de6e with SMTP id kr18-20020a056a20e11200b00187bc51de6emr12944592pzb.26.1701063158592; Sun, 26 Nov 2023 21:32:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701063158; cv=none; d=google.com; s=arc-20160816; b=uDIbscFyQNdAZQ/7XnhJQd5Lazwk0FV7oLKmdFLwUk/1mTGyzKsPRakqQDu40dNGVv nR6NxdI1JH86fpDsDLjWakhOHqqoPwolYTOJcaGAYLlL+jqhp9SiJoYFxNL67n3tgXMS MRPllj7qvb/UhQL95SJAmNpx214N6Z0n5Fu+pDkVu8EHzcslROKiXjPUnUYJlzMeRdim r/MveDgcujq3qN4ivtqLNykD6ynaw2UTX+txKSwwmfE4KGdEXPTU4C+IeZiekFfUOcgP oFr1gYSd66qPgID/6fBBeI3XDOxvC6ifvUHgLio7yoxjlWclXJTALCyY4QqeN+CCsi5m ulTw== 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=q5szC/F22pcSSZhCOj8XosgUIJngumAH1ob9ajR4/Y4=; fh=2uMkRVCSrTY9kSij+0ehFNLK9SOC7CF8rQHlhM9dNaQ=; b=g/qyoDqwm/z63kho3wnwRXi8AxmvOI8O4r3ufMOKEGCNEoSYBz2SqfvIbHda8q/aav Pl4g4aN/+UHlKB07SajnkYENVEJUkb85PaOZ8eLH8vaYOlVhCzf4bpZbsMNnjkW/0aoE R+Ugzu0UklXrqxPYG97jXHglZVeu9uHMSXyjHhmOrEHcMUkkVsggHvFnD127lr7/nhzp VRIUUBunaQig+QNVkP5YUqqTRg97qYJ5dP/Zvm2W/2hjmgy4EWEmzx4ZmI9Sa0IogN2e 9oCmC/8WG1VtOT/3O9qdzUEQxaMvl8x63E8nmZrhB4NmWBWwKrhYAJ5LY9HEafbUoZO/ tfhA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b=MLSC2TOA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id c8-20020a170902d48800b001cfc3563badsi2946919plg.629.2023.11.26.21.32.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Nov 2023 21:32:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b=MLSC2TOA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (Postfix) with ESMTP id E56DB805A7EA; Sun, 26 Nov 2023 21:32:08 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229514AbjK0F2W (ORCPT + 99 others); Mon, 27 Nov 2023 00:28:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229450AbjK0F2V (ORCPT ); Mon, 27 Nov 2023 00:28:21 -0500 Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AF2AEE3; Sun, 26 Nov 2023 21:28:27 -0800 (PST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AR5KIr9017906; Sun, 26 Nov 2023 21:28:20 -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=q5szC/F22pcSSZhCOj8XosgUIJngumAH1ob9ajR4/Y4=; b=MLSC2TOADqzRuYKiNxVdusfknd20Mvs4WtUVPb5ZKXU4aeCeXwPezkDWSW0LcwzGcDOJ FHh9myqC0o4VSBS6rFrx/22TQ5RHSWFFAKY3Y50CD0G//+bDdmC+3zwupA09+pp7xAq6 NQKknVQ0f0ovvI4P/MuIYx+N/vsO4hAYys2NGyk/q2dVpAtwh0KSkvVxj8v815Hr3SRP ndhHW4mF4O7iX9IZD0LVTRqQYQkrNpXgnr78uyrUmT21EVH6ZUCBp9CuRvx8khFMOUFh fSkZqZEYQc5X3H7hKfRxU49jk4PL4SolXMTl6BY89xfxs9BH3Fh61YIFXpRNfueYsryQ xg== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3ukhaukg1p-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 26 Nov 2023 21:28:20 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Sun, 26 Nov 2023 21:28:18 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Sun, 26 Nov 2023 21:28:18 -0800 Received: from localhost.localdomain (unknown [10.28.36.166]) by maili.marvell.com (Postfix) with ESMTP id 85F2D3F70A2; Sun, 26 Nov 2023 21:28:14 -0800 (PST) From: Suman Ghosh To: , , , , , , , , , , , , , Subject: [net PATCH] octeontx2-pf: Fix updation of adaptive interrupt coalescing Date: Mon, 27 Nov 2023 10:58:11 +0530 Message-ID: <20231127052811.3779132-1-sumang@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: BKANiDfE5NlcWLKmDKIiPfPi7EodFTLX X-Proofpoint-GUID: BKANiDfE5NlcWLKmDKIiPfPi7EodFTLX 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 howler.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 (howler.vger.email [0.0.0.0]); Sun, 26 Nov 2023 21:32:09 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783694002567204678 X-GMAIL-MSGID: 1783694002567204678 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. Signed-off-by: Naveen Mamindlapalli --- .../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;