Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp5493781imw; Wed, 20 Jul 2022 06:52:39 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tC2pw2mQCQJUBagxmz5Bi4celQFoot1BFWzEM86FcCVgX+K3ny+SgNoA3u51FMfjfWSm4b X-Received: by 2002:a17:906:99c5:b0:6fe:b069:4ab6 with SMTP id s5-20020a17090699c500b006feb0694ab6mr35247867ejn.436.1658325159610; Wed, 20 Jul 2022 06:52:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658325159; cv=none; d=google.com; s=arc-20160816; b=AUIeb110tYw/RXg/kyBwD/bf3z2Gz/czNnClEXY6EJcy/2cEeNhkUECvWI9VEpIKDS vjGWD5wXFLYcPenI4QK1IEfyRBxQs8g8CHbAkezJeN+P2EjzOKPooqeKEalLLIUfCwuh mnF2t23XZu0jQwMB5JpzW9s2pGRudPm9msBYyEnaGEJkZzJ+Km/veVDwXMr1RHBq0Gk7 lettkutOcnaXCBGDgVzWYcndqFOiR2Cbv0kQOfCvWZxUcgWJ9G6JfgA4L6l9UruXKHrx 1AcjK8MLJyPmSKPuGuv5KyQrwDgSvpAnK5db1n/Zyks0MKsJ+k98ML28VzPTA1JFEfQp V2/g== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=UIzZ7/ex3ZJeQCx5VjVNOiS804gNMomzQaWjNWEz0Sg=; b=It0iSDGc5Mocyy13RKyPs1T6HoC0Vqjoe5H3kbtZ3g8+MAtVnQn8OfuAPqtI+D3tPc iiQ7uyuQw+LOb2HPEQ10PYNsqy+AirtblyeYAzRrOUCiQrw0TCv/m+n56xhxOszXsyk6 ZDt0fY46djZfPcN6ohxv7vl8JJZy66Pc4x2tjAkuwvoDw8Bmq0/gCHxivItGpC4+ecaQ jzUL0sLs479joE8zHi0RLXxKmGLdgY4Nb32sP/R5qbm/u/paVj62gARXVGoODxB3JnkW lDypTn7piUpuJVL8dQlDHdVw5WsOQZsC2nUVsazTFzDGtDbmUyG8LlIdqfT4osYUqrds Xe5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=drCA2Hly; 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=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h19-20020a05640250d300b0043a99ce7f70si1165446edb.22.2022.07.20.06.52.23; Wed, 20 Jul 2022 06:52:39 -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=@quicinc.com header.s=qcppdkim1 header.b=drCA2Hly; 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=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240507AbiGTNvf (ORCPT + 65 others); Wed, 20 Jul 2022 09:51:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45274 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229446AbiGTNve (ORCPT ); Wed, 20 Jul 2022 09:51:34 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3DD2427B03 for ; Wed, 20 Jul 2022 06:51:34 -0700 (PDT) Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26KDSF65029861; Wed, 20 Jul 2022 13:51:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=UIzZ7/ex3ZJeQCx5VjVNOiS804gNMomzQaWjNWEz0Sg=; b=drCA2Hly2As7nGgsANBTlfrzsfR6Vx/naH3h0pqATUNTMWCJ2dgvDil2Hf2uMUyxqGqk WFiAHwRGIJ6aA+eOZdjVe8UYJaFPr3TYo854+vvnK/20/fz/h8+kHdDYvIbqo75Xv6eZ VHCYAk70A7IqN+pcqKiFDUVrQRvOFF6U+56GYg+bwRJyfnxbAXcNEVQUtH6TPqjApfcF coKeTllGSAazFLWIjndxc864Z2FB5Ra0C+Jfya9H6oFmgGdxHIsH3Kt+lZp+jBLKL4sv sdii8/jz1B8BQrSZRXeiyLiz1Q+Tge5vsu1OAVdp6mxxDE38tJV9WS/WNcg3LoK27QEJ 0Q== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3hebams6v5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 Jul 2022 13:51:30 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.47.97.222]) by NALASPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 26KDpUsd023913 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 Jul 2022 13:51:30 GMT Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 20 Jul 2022 06:51:29 -0700 Received: from mpubbise-linux.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 20 Jul 2022 06:51:28 -0700 From: Manikanta Pubbisetty To: CC: , Manikanta Pubbisetty Subject: [PATCH 1/3] ath11k: Enable threaded NAPI on WCN6750 Date: Wed, 20 Jul 2022 19:21:11 +0530 Message-ID: <20220720135113.15755-2-quic_mpubbise@quicinc.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220720135113.15755-1-quic_mpubbise@quicinc.com> References: <20220720135113.15755-1-quic_mpubbise@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: q84qBo1Sbi6w52KnbdkEVsctx0rrrCp- X-Proofpoint-ORIG-GUID: q84qBo1Sbi6w52KnbdkEVsctx0rrrCp- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-20_08,2022-07-20_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 mlxlogscore=715 mlxscore=0 suspectscore=0 phishscore=0 spamscore=0 malwarescore=0 priorityscore=1501 adultscore=1 lowpriorityscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207200057 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS 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 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; } -- 2.35.1