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 F2699A0544; Thu, 2 Jun 2022 09:48:01 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D83B840694; Thu, 2 Jun 2022 09:48:01 +0200 (CEST) Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by mails.dpdk.org (Postfix) with ESMTP id 73D564021E for ; Thu, 2 Jun 2022 09:48:01 +0200 (CEST) Received: by mail-qt1-f177.google.com with SMTP id x18so4807qtj.3 for ; Thu, 02 Jun 2022 00:48:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=j1yLMGB3VarnuqGxH34Cm9llJ5u3G5CiZbaYqvNidhg=; b=batf/GEh+dnWsUZNa3aReggiLjjrdRiKiTJZFhTxIQb2vJzOxpZ5yiS3UFi6+6bGdi Lqv2u38WAW3MyBr1MUzz3LwERORaJULpfxS7xnIbqxVKZh9LU8z/X6iOHPWfkzOKP56X PmiRkq0v2tXJUSf2V9YBWgz5dVfZvTiFNVWY9ZJfYJYBdW+L959bpdybygJ2t1JidbdT GOiL7QMgWc9QtLJtOXBZ4SIFFiuYla2qaeaAwcXmNk5lqcHiWHXD+byVKDmIhJVvMrGb L57UP0l6C71aIi+7Dwj74y/Y2uw05Tay4o0YdF4JcQ2toX7vUOnaBvK19YcZ17+zXF67 /Clg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=j1yLMGB3VarnuqGxH34Cm9llJ5u3G5CiZbaYqvNidhg=; b=P53qXyUNz8SnWBvD/6LiO/f5ppw0y2kawufHtCLJrOgWtp1gvRmNWWTMouFUTZTmrF ql5upRJFCUObUZ603n1c1gq5q9a6AvEwexSoo4sfDhxdc7+tFAHQoiD+ITZkQS1/buia W0pugN3crlkfM6QgNqf5bEdpm+dE+oPmd0p5+ORFxMGen94hn3LujmwqVSJQ+ENUkueo 4lR9IlfZvnu11HfN6a5m3qqFWTwSB8SA57oieZymHgOU7pdG+bNPhJsvnZ1fBIZgIrUJ w9yw/TdBf69/j6yjy5eM1cK5rPY8ZH9dJ7UvbDEyp7bnHSVNwd6RNzFoxhbvIIJWq15E kzkQ== X-Gm-Message-State: AOAM531fYoVCJY8d/hJB/YfWgt22gFjNKFnKeEmrhsg/6FLI+Ah0pnGG 4NbeWa7/LRgFSA9knhBWAkdkviAXzSZHYTt7cgSLR1i05ts= X-Google-Smtp-Source: ABdhPJzuXqxyiGoJCbf3ibKP7n886RRRWCrxc6bhYQIEAU+abWobZngRnCPYjiZV+Y7EMDhsq6N9+Kex85vSsmIvQaM= X-Received: by 2002:a05:622a:342:b0:304:c7d9:a96 with SMTP id r2-20020a05622a034200b00304c7d90a96mr2598137qtw.458.1654156080835; Thu, 02 Jun 2022 00:48:00 -0700 (PDT) MIME-Version: 1.0 References: <20220517180856.1139-1-pbhagavatula@marvell.com> <20220517195939.1921-1-pbhagavatula@marvell.com> In-Reply-To: <20220517195939.1921-1-pbhagavatula@marvell.com> From: Jerin Jacob Date: Thu, 2 Jun 2022 13:17:34 +0530 Message-ID: Subject: Re: [PATCH v3] doc: update Linux core isolation guide To: Pavan Nikhilesh Cc: Stephen Hemminger , Jerin Jacob , dpdk-dev Content-Type: text/plain; charset="UTF-8" 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 On Wed, May 18, 2022 at 1:30 AM wrote: > > From: Pavan Nikhilesh > > Update Linux core isolation guide to include isolation from > timers, rcu processing and IRQs. rcu-> RCU > > Signed-off-by: Pavan Nikhilesh Acked-by: Jerin Jacob > --- > v3 Changes: > - Add additional information links for Cgroups. > v2 Changes: > - Add references to the parameters used. > - Add note about Linux cgroups. > > doc/guides/linux_gsg/enable_func.rst | 35 ++++++++++++++++++++++++---- > 1 file changed, 30 insertions(+), 5 deletions(-) > > diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst > index 1df3ab0255..c989674422 100644 > --- a/doc/guides/linux_gsg/enable_func.rst > +++ b/doc/guides/linux_gsg/enable_func.rst > @@ -90,16 +90,41 @@ 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 > + > + > +For more fine grained control over resource management and performance tuning one can look > +into ``Linux cgroups``. > + > +Cpusets using cgroups:: > + > + https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html > + > +Systemd (CPUAffinity):: > + > + https://www.freedesktop.org/software/systemd/man/systemd.exec.html > + > +Also, see:: > + > + https://man7.org/linux/man-pages/man7/cpuset.7.html > + https://www.suse.com/c/cpu-isolation-practical-example-part-5/ > + https://www.rcannings.com/systemd-core-isolation/ > > .. _High_Precision_Event_Timer: > > -- > 2.25.1 >