From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 21108A0093; Tue, 17 May 2022 20:09:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B357340041; Tue, 17 May 2022 20:09:07 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 7284C4003C for ; Tue, 17 May 2022 20:09:06 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 24HHn6xI011046; Tue, 17 May 2022 11:09:05 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=9d/Sz+D3hrgWLsXp1M/Xr14mmCddagFuafH7XyX+/EA=; b=TO9b6q7mO4vNiPmLX1Hipsmz47ibZ7N/UU5MS3EQE08MHWZBPcM6uV7Kl5Ty2lfcSmwq hAdeGzhrIolzfb9V6sF611oNCK4WDMrFqv5ak57cqofH3l3Pw9yt0unNW3BH9Uz6uUzi M3EocL7BINXX7daWMsKlbHu8rmY7/ammLsdKrcMFzFQz6WeMqDsafNlylRXzJT1qvsR4 aqgZi/5FPdnjwzsQY2mgxUKJhOFAopq/AigdsOcPIc3D7hgclWdsI4BwdnOVv83wE7ql inva7wBlQ/9RQVtcKHvBQWbzLyiXv7VTuxoTXwloat9ShNVaItg4EYgAX4IEa0SseqKN 5A== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3g4a7a1v16-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 17 May 2022 11:09:05 -0700 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.18; Tue, 17 May 2022 11:09:03 -0700 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.18 via Frontend Transport; Tue, 17 May 2022 11:09:03 -0700 Received: from MININT-80QBFE8.corp.innovium.com (unknown [10.193.70.72]) by maili.marvell.com (Postfix) with ESMTP id 555153F706D; Tue, 17 May 2022 11:09:02 -0700 (PDT) From: To: CC: , , , "Pavan Nikhilesh" Subject: [PATCH v2] doc: update Linux core isolation guide Date: Tue, 17 May 2022 23:38:55 +0530 Message-ID: <20220517180856.1139-1-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220502072414.4643-1-pbhagavatula@marvell.com> References: <20220502072414.4643-1-pbhagavatula@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: p0bHMGxLI1jBtNnYH0umbyXC6vnaTxSt X-Proofpoint-ORIG-GUID: p0bHMGxLI1jBtNnYH0umbyXC6vnaTxSt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.874,Hydra:6.0.486,FMLib:17.11.64.514 definitions=2022-05-17_03,2022-05-17_02,2022-02-23_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Pavan Nikhilesh Update Linux core isolation guide to include isolation from timers, rcu processing and IRQs. Signed-off-by: Pavan Nikhilesh --- v2 Changes: - Add references to the parameters used. - Add note about Linux cgroups. doc/guides/linux_gsg/enable_func.rst | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst index 1df3ab0255..d6f3961da7 100644 --- a/doc/guides/linux_gsg/enable_func.rst +++ b/doc/guides/linux_gsg/enable_func.rst @@ -90,16 +90,28 @@ Using Linux Core Isolation to Reduce Context Switches ----------------------------------------------------- While the threads used by a DPDK application are pinned to logical cores on the system, -it is possible for the Linux scheduler to run other tasks on those cores also. -To help prevent additional workloads from running on those cores, -it is possible to use the ``isolcpus`` Linux kernel parameter to isolate them from the general Linux scheduler. +it is possible for the Linux scheduler to run other tasks on those cores. +To help prevent additional workloads, timers, rcu processing and IRQs from running on those cores, it is possible to use +the Linux kernel parameters ``isolcpus``, ``nohz_full``, ``irqaffinity`` to isolate them from the general Linux scheduler tasks. -For example, if DPDK applications are to run on logical cores 2, 4 and 6, +For example, if a given CPU has 0-7 cores and DPDK applications are to run on logical cores 2, 4 and 6, the following should be added to the kernel parameter list: .. code-block:: console - isolcpus=2,4,6 + isolcpus=2,4,6 nohz_full=2,4,6 irqaffinity=0,1,3,5,7 + +.. Note:: + + More detailed information about the above parameters can be found at + https://www.kernel.org/doc/html/latest/timers/no_hz.html + https://www.kernel.org/doc/html/latest/core-api/irq/ + https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html + +.. Note:: + + For more fine grained control over resource management and performance tuning one can look + into ``Linux cgroups``. .. _High_Precision_Event_Timer: -- 2.25.1