From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2528DC27C79 for ; Thu, 20 Jun 2024 14:41:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id DF57C811FD; Thu, 20 Jun 2024 14:41:10 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ry998r0KBXir; Thu, 20 Jun 2024 14:41:10 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.34; helo=ash.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 0101F8120E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1718894470; bh=S8uzI3WwNNkGqrCD5UJ3CMJdJNFSwchl9XncvLVGA5Y=; h=From:To:In-Reply-To:References:Date:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Cc:From; b=zXlYWlb4bBBBeNBk/RHFBsTWpXs6g5+cDBUGb66cQMFsLmIVE3+oVxTlZMLiHXAsg 0Wpd8uanw1arWMXhKd7ocJXwWBGYOw3CAeSUfZCnT7Qr+zNrHGV7UR6I/m5VfEIC4s EKQd+qSq8AbDTQz4dF0vCVKV/quMyLdAZNIeSu9E+5EZcDXr0eqC4aASd0IgACVa3z 9z6T++X2wNjI71sgg/8EOvTxx66QM6p+Xv87oGFyFRk9ue2XUCtguoLZBjBO9o/DfK 8QLkL5zBWOIM8Ph5Rby2gc8kozxca4c8OKW4TKt9XDAQLJqQZmK36W4O2mtQJTETOH WiCAm9hjtgpow== Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id 0101F8120E; Thu, 20 Jun 2024 14:41:10 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 3B3C51BF293 for ; Thu, 20 Jun 2024 14:41:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 275798120E for ; Thu, 20 Jun 2024 14:41:07 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Q77GNpPAA9D2 for ; Thu, 20 Jun 2024 14:41:05 +0000 (UTC) X-Greylist: delayed 397 seconds by postgrey-1.37 at util1.osuosl.org; Thu, 20 Jun 2024 14:41:05 UTC DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org 41F44811FD DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 41F44811FD Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=193.142.43.55; helo=galois.linutronix.de; envelope-from=kurt@linutronix.de; receiver= Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by smtp1.osuosl.org (Postfix) with ESMTPS id 41F44811FD for ; Thu, 20 Jun 2024 14:41:05 +0000 (UTC) From: Kurt Kanzenbach To: Jesse Brandeburg , Tony Nguyen In-Reply-To: <20240611-igc_irq-v1-1-49763284cb57@linutronix.de> References: <20240611-igc_irq-v1-1-49763284cb57@linutronix.de> Date: Thu, 20 Jun 2024 16:34:23 +0200 Message-ID: <87r0cry974.fsf@kurt.kurt.home> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1718894065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=S8uzI3WwNNkGqrCD5UJ3CMJdJNFSwchl9XncvLVGA5Y=; b=yKPQjSbBT3zxLvQJOM+w/rSEdG9dQkhFIpGMDQstXjXUqGJ49t1Mu9S+d5eAyqXdh3sL0t aCnAXOUfABQ7VHfzDKS8xkZY89jg9nBM2OSbIgbBNem4Bt3zQcQjsoPKbBHtevDNlmX7+H a8s1YpZv+3qANoC30eq6335vMAASz5x97oEQ9XNGp9f3nBovD5D2ByuAI9pw76u3sZgrAQ l43LWa3LzOpyYV3o2GhUocr5IxhigGGt3e8F0+cHl1qUh3LkUhW4HFEn8IDIThahFYZ8qs S6l+X4RR7RQ1+ztljKYpBg84Lfp4vlIGx/Tmu47RcbXDGClJiQXF+SvEeK3ZLg== X-Mailman-Original-DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1718894065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=S8uzI3WwNNkGqrCD5UJ3CMJdJNFSwchl9XncvLVGA5Y=; b=4RREwGbkQBOGL8yDy/PkOVQjSv1leVxAbPPaJLGHSVmjXrlT2wdkV4R4y0JQUmLVkeuI8a QNZJMLRv9DMv9bAw== X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dmarc=pass (p=none dis=none) header.from=linutronix.de X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=linutronix.de header.i=@linutronix.de header.a=rsa-sha256 header.s=2020 header.b=yKPQjSbB; dkim=pass header.d=linutronix.de header.i=@linutronix.de header.a=ed25519-sha256 header.s=2020e header.b=4RREwGbk Subject: Re: [Intel-wired-lan] [PATCH iwl-next] igc: Get rid of spurious interrupts X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Maciej Fijalkowski , Vinicius Costa Gomes , netdev@vger.kernel.org, Sebastian Andrzej Siewior , Eric Dumazet , intel-wired-lan@lists.osuosl.org, Jakub Kicinski , Paolo Abeni , "David S. Miller" Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" --=-=-= Content-Type: text/plain Hi Tony, On Wed Jun 12 2024, Kurt Kanzenbach wrote: > When running the igc with XDP/ZC in busy polling mode with deferral of hard > interrupts, interrupts still happen from time to time. That is caused by > the igc task watchdog which triggers Rx interrupts periodically. > > That mechanism has been introduced to overcome skb/memory allocation > failures [1]. So the Rx clean functions stop processing the Rx ring in case > of such failure. The task watchdog triggers Rx interrupts periodically in > the hope that memory became available in the mean time. > > The current behavior is undesirable for real time applications, because the > driver induced Rx interrupts trigger also the softirq processing. However, > all real time packets should be processed by the application which uses the > busy polling method. > > Therefore, only trigger the Rx interrupts in case of real allocation > failures. Introduce a new flag for signaling that condition. > > [1] - https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/?id=3be507547e6177e5c808544bd6a2efa2c7f1d436 > > Signed-off-by: Kurt Kanzenbach Can you drop this patch from your queue, please? I've found one issue with this if the number of queues is reconfigured e.g., with 'ethtool -L combined 1'. The number of vectors is not necessarily the number of rx rings. I'll update this patch and sent v2. Thanks, Kurt --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJHBAEBCgAxFiEEvLm/ssjDfdPf21mSwZPR8qpGc4IFAmZ0Pe8THGt1cnRAbGlu dXRyb25peC5kZQAKCRDBk9HyqkZzgsnYD/0UBoMz+enu23dV6qrNQ5uHRsgLrj58 wXdzubX9b1yvYVWEbbiqM97mlxt8KO/1ANUPrAF3no77VeusXDzAH/C85yGVMkVI LnZ7yW+783F3mrN/6lZoopGqGiH5gwlJsW44TqeBX5NzEJmmDle15Ny0nSos4x0G VaYFSSwAotJ1+pu9++GNokFDGRM6v5deEBB4c+fCZrKAv1EjaVnmPw/9Ov/BV19F 1hQfLYYc/YOKK5/XHppS+di1wuPTyAsm1gYPGi7N3lF/HUcogs9hbjjxq5h9YTmn BJ5y1xZnW4WBtnD53ZA1bJb3uZbOSVyW+nkaoBwNg3Qv/MQ38lLPHKjv4ET/iood J1v8XjoaD7MiPtub1FzRuwGdJDg4z3kR9iJg7qYP889Wy131VgVctU7AgDA+KBwl sOQG/6zbpPzO8DuOjSIvDQCqE/ktOiUjxnT72PEwj+of3zrcEGtYJVF2yHeuPt9W huy/yzL+t0z2ffJ/WRDDaJw0JaqwqZwkkiW92R4tTNLv9KqcilUJ6Q8mMFgi4iMW MtLqRr4PYIKUKXKolzt58UVe5csf46lLLyBUSH5Gkpz0bm8d4771GQbK1ZNVqZ7a FCwgbpuMRborhy7NpDdNG9n+aTf7Oq+MlyLvP/q1tR5bVVLG5Gi7sTCyPAi+XOXO nBC51jhdFelM6Q== =jCW/ -----END PGP SIGNATURE----- --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 030AF1AE861 for ; Thu, 20 Jun 2024 14:34:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718894068; cv=none; b=QgxeuScyHOcf8tukzefKdFLMDJErn0mICVfyN8GALgRZH3B3lwhbCylsdidlwDvw+XsxdLMZMFB4SgSjnMBWf+YBOz3F0FJtKKIMqqK4NhddNLa3C6XJadqtqm5gi/EeY2bf1oRJ1usEdk4vTys1oUdn+TI4TvNv0lQLFQRb3WA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718894068; c=relaxed/simple; bh=S8uzI3WwNNkGqrCD5UJ3CMJdJNFSwchl9XncvLVGA5Y=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=Kskf38DbXKDWZvNOu6HXhRpkddNOfnXfr0lPMn2SpSg/uAbusUgjsR1vdhaDUZCzqJBEIoXLqUYlgn1OFdW5sOj89IyBPXGnvytaWAjQQ8EWZ6TY1lSJm6ge6Kg0ipfN9A3QoKDjeqWJ3AZk3TGi5mcffM9t+zWq5tG/BFaiGbY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=yKPQjSbB; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=4RREwGbk; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="yKPQjSbB"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="4RREwGbk" From: Kurt Kanzenbach DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1718894065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=S8uzI3WwNNkGqrCD5UJ3CMJdJNFSwchl9XncvLVGA5Y=; b=yKPQjSbBT3zxLvQJOM+w/rSEdG9dQkhFIpGMDQstXjXUqGJ49t1Mu9S+d5eAyqXdh3sL0t aCnAXOUfABQ7VHfzDKS8xkZY89jg9nBM2OSbIgbBNem4Bt3zQcQjsoPKbBHtevDNlmX7+H a8s1YpZv+3qANoC30eq6335vMAASz5x97oEQ9XNGp9f3nBovD5D2ByuAI9pw76u3sZgrAQ l43LWa3LzOpyYV3o2GhUocr5IxhigGGt3e8F0+cHl1qUh3LkUhW4HFEn8IDIThahFYZ8qs S6l+X4RR7RQ1+ztljKYpBg84Lfp4vlIGx/Tmu47RcbXDGClJiQXF+SvEeK3ZLg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1718894065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=S8uzI3WwNNkGqrCD5UJ3CMJdJNFSwchl9XncvLVGA5Y=; b=4RREwGbkQBOGL8yDy/PkOVQjSv1leVxAbPPaJLGHSVmjXrlT2wdkV4R4y0JQUmLVkeuI8a QNZJMLRv9DMv9bAw== To: Jesse Brandeburg , Tony Nguyen Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Sebastian Andrzej Siewior , Maciej Fijalkowski , Vinicius Costa Gomes , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org Subject: Re: [PATCH iwl-next] igc: Get rid of spurious interrupts In-Reply-To: <20240611-igc_irq-v1-1-49763284cb57@linutronix.de> References: <20240611-igc_irq-v1-1-49763284cb57@linutronix.de> Date: Thu, 20 Jun 2024 16:34:23 +0200 Message-ID: <87r0cry974.fsf@kurt.kurt.home> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" --=-=-= Content-Type: text/plain Hi Tony, On Wed Jun 12 2024, Kurt Kanzenbach wrote: > When running the igc with XDP/ZC in busy polling mode with deferral of hard > interrupts, interrupts still happen from time to time. That is caused by > the igc task watchdog which triggers Rx interrupts periodically. > > That mechanism has been introduced to overcome skb/memory allocation > failures [1]. So the Rx clean functions stop processing the Rx ring in case > of such failure. The task watchdog triggers Rx interrupts periodically in > the hope that memory became available in the mean time. > > The current behavior is undesirable for real time applications, because the > driver induced Rx interrupts trigger also the softirq processing. However, > all real time packets should be processed by the application which uses the > busy polling method. > > Therefore, only trigger the Rx interrupts in case of real allocation > failures. Introduce a new flag for signaling that condition. > > [1] - https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/?id=3be507547e6177e5c808544bd6a2efa2c7f1d436 > > Signed-off-by: Kurt Kanzenbach Can you drop this patch from your queue, please? I've found one issue with this if the number of queues is reconfigured e.g., with 'ethtool -L combined 1'. The number of vectors is not necessarily the number of rx rings. I'll update this patch and sent v2. Thanks, Kurt --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJHBAEBCgAxFiEEvLm/ssjDfdPf21mSwZPR8qpGc4IFAmZ0Pe8THGt1cnRAbGlu dXRyb25peC5kZQAKCRDBk9HyqkZzgsnYD/0UBoMz+enu23dV6qrNQ5uHRsgLrj58 wXdzubX9b1yvYVWEbbiqM97mlxt8KO/1ANUPrAF3no77VeusXDzAH/C85yGVMkVI LnZ7yW+783F3mrN/6lZoopGqGiH5gwlJsW44TqeBX5NzEJmmDle15Ny0nSos4x0G VaYFSSwAotJ1+pu9++GNokFDGRM6v5deEBB4c+fCZrKAv1EjaVnmPw/9Ov/BV19F 1hQfLYYc/YOKK5/XHppS+di1wuPTyAsm1gYPGi7N3lF/HUcogs9hbjjxq5h9YTmn BJ5y1xZnW4WBtnD53ZA1bJb3uZbOSVyW+nkaoBwNg3Qv/MQ38lLPHKjv4ET/iood J1v8XjoaD7MiPtub1FzRuwGdJDg4z3kR9iJg7qYP889Wy131VgVctU7AgDA+KBwl sOQG/6zbpPzO8DuOjSIvDQCqE/ktOiUjxnT72PEwj+of3zrcEGtYJVF2yHeuPt9W huy/yzL+t0z2ffJ/WRDDaJw0JaqwqZwkkiW92R4tTNLv9KqcilUJ6Q8mMFgi4iMW MtLqRr4PYIKUKXKolzt58UVe5csf46lLLyBUSH5Gkpz0bm8d4771GQbK1ZNVqZ7a FCwgbpuMRborhy7NpDdNG9n+aTf7Oq+MlyLvP/q1tR5bVVLG5Gi7sTCyPAi+XOXO nBC51jhdFelM6Q== =jCW/ -----END PGP SIGNATURE----- --=-=-=--