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 8F17CA0093 for ; Thu, 23 Jun 2022 21:03:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0DA274067B; Thu, 23 Jun 2022 21:03:52 +0200 (CEST) Received: from smail.rz.tu-ilmenau.de (smail.rz.tu-ilmenau.de [141.24.186.67]) by mails.dpdk.org (Postfix) with ESMTP id 7D37240146 for ; Thu, 23 Jun 2022 21:03:50 +0200 (CEST) Received: from [192.168.0.10] (unknown [80.88.23.10]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smail.rz.tu-ilmenau.de (Postfix) with ESMTPSA id 223BB580092; Thu, 23 Jun 2022 21:03:50 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------PNREZro2KaJh4tBl6y3WI8sZ" Message-ID: <9a95a560-c7c6-d4fa-1041-836fa400f497@tu-ilmenau.de> Date: Thu, 23 Jun 2022 21:03:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: Large interruptions for EAL thread running on isol core Content-Language: en-US To: users@dpdk.org References: From: Carsten Andrich In-Reply-To: X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org This is a multi-part message in MIME format. --------------PNREZro2KaJh4tBl6y3WI8sZ Content-Type: multipart/alternative; boundary="------------fsxJE1348IXGv1cP40agzwML" --------------fsxJE1348IXGv1cP40agzwML Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I've been working on this issue occasionally for a 2+ years now. Unfortunately, it is not easy to solve and substantiated information on it is also hard to come by. My current, **empirically founded** solution to get interfering interrupts down as much as possible is the following (last tested about a year ago with kernel ~5.10): 1. Don't run anything on CPU 0. It's the boot CPU and may run some Linux voodoo that cannot be transferred to other CPUs. Read this somewhere, but haven't been able to substantiate that. Also, disable SMT or keep the SMT-siblings isolated, too, to avoid contention on cache and memory. May both be superstition, but I don't see any potential down-side to it. 2. Use real-time priority (SCHED_FIFO w/ priority 99) for the DPDK threads and echo -1 > /proc/sys/kernel/sched_rt_runtime_us to disable the runtime limit. With the runtime limit in place, the SCHED_FIFO performance will be significantly worse than SCHED_OTHER. 3. Use the following kernel command line (similar to yours; isolates all but 2 cores on a 12 core machine): isolcpus=nohz,domain,2-11,14-23 nohz_full=2-11,14-23 rcu_nocbs=2-11,14-23 rcu_nocb_poll irqaffinity=0-1,12-13 Note that this only works properly with a NO_HZ kernel. The kernel boot log should contain an error message if above parameters are used on a non-NO_HZ kernel. I compile my kernel with the following config enabled: NO_HZ_FULL, RCU_NOCB_CPU, CONTEXT_TRACKING_FORCE 4. Force remaining interrupts off the isolated CPUs by first stopping all of them and subsequently starting them again (some interrupts may remain on the isolated CPUs regardless of irqaffinit=; mileage may vary): for CPU in $CPU_LIST ;     do echo 0 > /sys/devices/system/cpu/cpu$CPU/online done for CPU in $CPU_LIST ;     do echo 1 > /sys/devices/system/cpu/cpu$CPU/online done 5. Check which interrupts still occur on the isolated CPUs while running your DPDK progam via /proc/interrupts. I've had issues with some hardware drivers' interrupts (e.g., RAID controllers) refusing to be kicked off the isolated CPUs despite all of the above. Try to move your sensitive threads to different CPUs. 6. Despair. Even if you succeed in getting all hardware interrupts disabled, the kernel will still occasionally interrupt your program, e.g., for some accounting business. The last point is where intervention from the kernel side is required. Work on that has been underway for several years [1,2,3], but nothing has been mainlined yet. Hope this helps. We've been able to get worst case packet forwarding jitter down to less than 10 µs, with anything above 3 µs being very rare (see attached histogram; your mileage may vary; measured by comparing TSC values between DPDK rx and tx calls). Best regards, Carsten [1] https://lwn.net/Articles/659490/ [2] https://lwn.net/Articles/816298/ [3] https://lore.kernel.org/lkml/20220315153132.717153751@fedora.localdomain/ On 23.06.22 20:03, Antonio Di Bacco wrote: > I'm running a DPDK thread on an isolated core. I also set some flags > that could help keeping the core at rest on linux like: nosoftlockup > nohz_full rcu_nocbs irqaffinity. > > Unfortunately the thread gets some interruptions that stop the thread > for about 20-30 micro seconds. This seems smal but my application > suffers a lot. > > I also tried to use rte_thread_set_priority that indeed has a strong > effect but unfortunately creates problems to Linux (like network not > working). > > Is there any other knob that could help running the DPDK thread with > minimum or no interruptions at all? --------------fsxJE1348IXGv1cP40agzwML Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

I've been working on this issue occasionally for a 2+ years now. Unfortunately, it is not easy to solve and substantiated information on it is also hard to come by.

My current, **empirically founded** solution to get interfering interrupts down as much as possible is the following (last tested about a year ago with kernel ~5.10):

  1. Don't run anything on CPU 0. It's the boot CPU and may run some Linux voodoo that cannot be transferred to other CPUs. Read this somewhere, but haven't been able to substantiate that. Also, disable SMT or keep the SMT-siblings isolated, too, to avoid contention on cache and memory. May both be superstition, but I don't see any potential down-side to it.
  2. Use real-time priority (SCHED_FIFO w/ priority 99) for the DPDK threads and
    echo -1 > /proc/sys/kernel/sched_rt_runtime_us
    to disable the runtime limit. With the runtime limit in place, the SCHED_FIFO performance will be significantly worse than SCHED_OTHER.
  3. Use the following kernel command line (similar to yours; isolates all but 2 cores on a 12 core machine):
    isolcpus=nohz,domain,2-11,14-23 nohz_full=2-11,14-23 rcu_nocbs=2-11,14-23 rcu_nocb_poll irqaffinity=0-1,12-13
    Note that this only works properly with a NO_HZ kernel. The kernel boot log should contain an error message if above parameters are used on a non-NO_HZ kernel.
    I compile my kernel with the following config enabled: NO_HZ_FULL, RCU_NOCB_CPU, CONTEXT_TRACKING_FORCE
  4. Force remaining interrupts off the isolated CPUs by first stopping all of them and subsequently starting them again (some interrupts may remain on the isolated CPUs regardless of irqaffinit=; mileage may vary):
    for CPU in $CPU_LIST ;
        do echo 0 > /sys/devices/system/cpu/cpu$CPU/online
    done
    for CPU in $CPU_LIST ;
        do echo 1 > /sys/devices/system/cpu/cpu$CPU/online
    done
  5. Check which interrupts still occur on the isolated CPUs while running your DPDK progam via /proc/interrupts. I've had issues with some hardware drivers' interrupts (e.g., RAID controllers) refusing to be kicked off the isolated CPUs despite all of the above. Try to move your sensitive threads to different CPUs.
  6. Despair. Even if you succeed in getting all hardware interrupts disabled, the kernel will still occasionally interrupt your program, e.g., for some accounting business.

The last point is where intervention from the kernel side is required. Work on that has been underway for several years [1,2,3], but nothing has been mainlined yet.

Hope this helps. We've been able to get worst case packet forwarding jitter down to less than 10 µs, with anything above 3 µs being very rare (see attached histogram; your mileage may vary; measured by comparing TSC values between DPDK rx and tx calls).

Best regards,
Carsten

[1] https://lwn.net/Articles/659490/
[2] https://lwn.net/Articles/816298/
[3] https://lore.kernel.org/lkml/20220315153132.717153751@fedora.localdomain/

On 23.06.22 20:03, Antonio Di Bacco wrote:
I'm running a DPDK thread on an isolated core. I also set some  flags
that could help keeping the core at rest on linux like: nosoftlockup
nohz_full rcu_nocbs irqaffinity.

Unfortunately the thread gets some interruptions that stop the thread
for about 20-30 micro seconds. This seems smal but my application
suffers a lot.

I also tried to use  rte_thread_set_priority that indeed has a strong
effect but unfortunately creates problems to Linux (like network not
working).

Is there any other knob that could help running the DPDK thread with
minimum or no interruptions at all?

  


--------------fsxJE1348IXGv1cP40agzwML--

--------------PNREZro2KaJh4tBl6y3WI8sZ
Content-Type: image/png; name="DPDK_isol_rx_tx_delay.png"
Content-Disposition: attachment; filename="DPDK_isol_rx_tx_delay.png"
Content-Transfer-Encoding: base64

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
gg==

--------------PNREZro2KaJh4tBl6y3WI8sZ--