Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp1980537rwe; Fri, 2 Sep 2022 06:57:14 -0700 (PDT) X-Google-Smtp-Source: AA6agR6M45+E8ei1S+OGTJK2W2DlqTyzm8TkoL/ImdffV19W3dYkSkKyqepW1wtpbdttzxac0Dwr X-Received: by 2002:a63:5811:0:b0:42c:6b9e:e70d with SMTP id m17-20020a635811000000b0042c6b9ee70dmr13695967pgb.533.1662127033909; Fri, 02 Sep 2022 06:57:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662127033; cv=none; d=google.com; s=arc-20160816; b=ySXmBU4dlxyZHqKLsWr08o/NLVUBI6bpf7GU6ZWKqNWw+jpe8rRK+1n42xtzvQwb2O WtH7knkpJ6n2RfoNpZiHQAPziCMeZDhpjlNyTwTmqFhKW/xy1puilMIbmezweoWBxC8e TY8ejGTWujKouVYuzcKmbQEzPHV131gWBigJ3Vw0PH5Iyt8QlaTgvgl744Y/CupbAPRX 5MNHdNgVWXNX+I0qwHCwxggKPIfZ05k+ZJ9Pp+jXQPD+XBJNh3RP5hJvh/As9yYIju8b sTlfYcK5UuYxR4eNBFJvlKPhw844Yuj0WSmOCXeupimcml7HW6xM+5bOFn0mlhxuA4xy HbLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=MlPQ6RuyQwzcf964BU43ZE1DMT0sZsqlhs/qizrhu04=; b=N/aYhqCGdkEHBN6eaN0X4GWJ9b0AIK00SKgGCMYJbiwUtHxh/WgXwUbhlSVp3CffbT wHXg6HpOnaoo3SyNithaiIhC0H2B+RfQAjBryJ5O2wN+3MpFG6d6XyKACo9QpCCd0Sgq fq4KCX492QxC9gpk0VU85VD6SQID8KEIrJdm8ixh4riQtZ440OkcGNrtDfSjtO6HR3Iu dCGjMx1NATejhEfbBUJEkxf0Gs2imXOMht0AMcmx2MVvt1T4go4LOFESbkFdytjfqSh2 VrdhA9M+VkbFXh0AGKvQqpqu8Ynynoqcj9YJe8Ob7UbAdLA8ZOc6Ab0InCezSbxALnaU f+Hw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sartura.hr header.s=sartura header.b=z+IkFe7d; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=sartura.hr Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y135-20020a62ce8d000000b00539a0cb3d41si2125346pfg.139.2022.09.02.06.57.04; Fri, 02 Sep 2022 06:57:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@sartura.hr header.s=sartura header.b=z+IkFe7d; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=sartura.hr Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238017AbiIBNqP (ORCPT + 64 others); Fri, 2 Sep 2022 09:46:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41306 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237622AbiIBNpW (ORCPT ); Fri, 2 Sep 2022 09:45:22 -0400 Received: from mail-oa1-x29.google.com (mail-oa1-x29.google.com [IPv6:2001:4860:4864:20::29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 507FC12F542 for ; Fri, 2 Sep 2022 06:21:24 -0700 (PDT) Received: by mail-oa1-x29.google.com with SMTP id 586e51a60fabf-11f34610d4aso4586409fac.9 for ; Fri, 02 Sep 2022 06:21:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sartura.hr; s=sartura; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=MlPQ6RuyQwzcf964BU43ZE1DMT0sZsqlhs/qizrhu04=; b=z+IkFe7d/IeTbgkSgmjVb1Qv9BgoxcrrGhvsC4LsYAWYwc8waUmTtyW8PD2LhtfAAS EbvKnrT2PtjTQosdKdEVYkVfcr2HnYW/xN4QRc8WwzHnog3B/8ro4LBKpKUq1pFclorR FkwHghDFT5KKVFzAn13pNuOyGk9TGYsQpgJHZi4smX7DK+SNBCc8VeLDPLo65dOA1sf8 w3ZzRRoquXYwysEp3cri2EdikMGgZGMndTb8BR6rS/sav8MhG6zKs4o4PEoHCN0YtNRz E/6mbGfcbuzg0739Wox+lokafBG6a0kR8nwVFFOoZD3G7o/GAhqgidaSgb/gAu0F/Ggu i11w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=MlPQ6RuyQwzcf964BU43ZE1DMT0sZsqlhs/qizrhu04=; b=rxhWCUGO4LViwcrYXayiMAHtUg7OwzaxxhKs2VCgWQypxvJ/jUjnmdr5KjUyTyxg9r 5q1+1jEU9Lhq/OTkipMoN9pqpPYBLaMKs4UjmGFYadE6S8JrqBO9lk2ofR5/HcO2f8mQ CjrvcbkhozyE/Yjb/zPBJMUy3kNTZ236/7qDap1hHeC/QUT0KBH/ZABmJmzh7chE9UnV V/E9ilRPCUGQRg8YxAPuW9eXqu8ZU1h2FsxygrxD1ooE/XO9eCRsFaHFTVsLIoaSyjN/ PY+I2vqyCaBFyiG6mkqyNpFEkhXUuSDBwY0ABbGRMxE4pgQGgDvpKgzhOohjmcZuJU3R j8uA== X-Gm-Message-State: ACgBeo1d5M7G9SG0Byx7QbQb+a4Y8/E/A6FZX694W84XGXiENDmkEalZ IMjSFk6m0YMcV00EV66WtLQCVnWjJHMwkCHAvcQaDCjRCrApOg== X-Received: by 2002:a05:6870:3398:b0:113:7f43:d0e9 with SMTP id w24-20020a056870339800b001137f43d0e9mr2052975oae.33.1662124822012; Fri, 02 Sep 2022 06:20:22 -0700 (PDT) MIME-Version: 1.0 References: <20220720135113.15755-1-quic_mpubbise@quicinc.com> <20220720135113.15755-2-quic_mpubbise@quicinc.com> <87czceaqng.fsf@kernel.org> In-Reply-To: From: Robert Marko Date: Fri, 2 Sep 2022 15:20:11 +0200 Message-ID: Subject: Re: [PATCH 1/3] ath11k: Enable threaded NAPI on WCN6750 To: Manikanta Pubbisetty Cc: Kalle Valo , ath11k@lists.infradead.org, linux-wireless@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Fri, Sep 2, 2022 at 3:18 PM Manikanta Pubbisetty wrote: > > On 9/2/2022 6:18 PM, Kalle Valo wrote: > > Manikanta Pubbisetty writes: > > > >> Enable threaded NAPI on WCN6750. Unlike traditional NAPI poll which > >> runs in softirq context and on the core which scheduled the NAPI, > >> threaded NAPI makes use of kernel threads which are under direct > >> control of the scheduler and helps in balancing the NAPI processing > >> load across multiple CPUs thereby improving throughput. > >> > >> In the case of WCN6750, enabling threaded NAPI has improved > >> 160 MHz RX throughput by nearly 400 Mbps. This should give similar > >> gains for other ath11k devices as well, therefore enable threaded > >> NAPI on all other devices. > >> > >> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1 > >> > >> Signed-off-by: Manikanta Pubbisetty > >> --- > >> drivers/net/wireless/ath/ath11k/ahb.c | 1 + > >> drivers/net/wireless/ath/ath11k/pcic.c | 1 + > >> 2 files changed, 2 insertions(+) > >> > >> diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c > >> index d7d33d5cdfc5..e44e2f29a88f 100644 > >> --- a/drivers/net/wireless/ath/ath11k/ahb.c > >> +++ b/drivers/net/wireless/ath/ath11k/ahb.c > >> @@ -314,6 +314,7 @@ static void ath11k_ahb_ext_irq_enable(struct ath11k_base *ab) > >> struct ath11k_ext_irq_grp *irq_grp = &ab->ext_irq_grp[i]; > >> > >> if (!irq_grp->napi_enabled) { > >> + dev_set_threaded(&irq_grp->napi_ndev, true); > >> napi_enable(&irq_grp->napi); > >> irq_grp->napi_enabled = true; > >> } > >> diff --git a/drivers/net/wireless/ath/ath11k/pcic.c b/drivers/net/wireless/ath/ath11k/pcic.c > >> index cf12b98c480d..c703db19de51 100644 > >> --- a/drivers/net/wireless/ath/ath11k/pcic.c > >> +++ b/drivers/net/wireless/ath/ath11k/pcic.c > >> @@ -440,6 +440,7 @@ void ath11k_pcic_ext_irq_enable(struct ath11k_base *ab) > >> struct ath11k_ext_irq_grp *irq_grp = &ab->ext_irq_grp[i]; > >> > >> if (!irq_grp->napi_enabled) { > >> + dev_set_threaded(&irq_grp->napi_ndev, true); > >> napi_enable(&irq_grp->napi); > >> irq_grp->napi_enabled = true; > >> } > > > > The commit log claims that this enabled _only_ on WCN6750 but aren't we > > enabling it on all ath11k hardware, or am I missing something? I admit I > > didn't check this very carefully. > > > > (reads the commit log one more time) > > > > Ah, in the last sentence you mention that it's enabled on all hardware. > > That's quite easy to miss and the commit log is quite misleading, please > > emphasise already in the title and the first sentence that this is for > > all hardware. > > My Bad, yes you right. The patch was made initially only for WCN6750 and > was enabled later for all devices. > > > > > Also more testing would be nice. Enabling something like this with > > testing only on one hardware family (WCN7850) can be risky. I always get > > warm fuzzy feelings if a patch is tested with all three hardware > > families we currently support: > > > > * IPQ8074 etc > > * QCA6390 etc > > * WCN7850 > > > > WCN7850 should be an ath12k device If I'm correct. > > Regardless of the chip family, even I feel that the tput changes like > these should be tested on all the chipsets. Availability of the hardware > and time are something which are stopping me in testing the changes on > all supported targets. > > As I said, I had made the changes only to WCN6750 initially (using a > hw_param). Can we take that approach for now and enable this for other > targets only if required & upon thorough testing? I can tell you that on IPQ8074 threaded NAPI really improves perfromance. Regards, Robert > > Thanks, > Manikanta > > -- > ath11k mailing list > ath11k@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/ath11k -- Robert Marko Staff Embedded Linux Engineer Sartura Ltd. Lendavska ulica 16a 10000 Zagreb, Croatia Email: robert.marko@sartura.hr Web: www.sartura.hr