BPF List
 help / color / mirror / Atom feed
From: "Björn Töpel" <bjorn.topel@intel.com>
To: "Jakub Kicinski" <kuba@kernel.org>,
	"Björn Töpel" <bjorn.topel@gmail.com>
Cc: ast@kernel.org, daniel@iogearbox.net, netdev@vger.kernel.org,
	bpf@vger.kernel.org, magnus.karlsson@intel.com,
	intel-wired-lan@lists.osuosl.org
Subject: Re: [PATCH bpf-next 4/4] ixgbe, xsk: use XSK_NAPI_WEIGHT as NAPI poll budget
Date: Tue, 8 Sep 2020 07:38:38 +0200	[thread overview]
Message-ID: <c8ce6b24-bded-5ed1-bf5c-6d2409972e57@intel.com> (raw)
In-Reply-To: <20200907123241.447371e8@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>

On 2020-09-07 21:32, Jakub Kicinski wrote:
> On Mon,  7 Sep 2020 17:02:17 +0200 Björn Töpel wrote:
>> From: Björn Töpel <bjorn.topel@intel.com>
>>
>> Start using XSK_NAPI_WEIGHT as NAPI poll budget for the AF_XDP Rx
>> zero-copy path.
>>
>> Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
>> ---
>>   drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> index 3771857cf887..f32c1ba0d237 100644
>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> @@ -239,7 +239,7 @@ int ixgbe_clean_rx_irq_zc(struct ixgbe_q_vector *q_vector,
>>   	bool failure = false;
>>   	struct sk_buff *skb;
>>   
>> -	while (likely(total_rx_packets < budget)) {
>> +	while (likely(total_rx_packets < XSK_NAPI_WEIGHT)) {
> 
> I was thinking that we'd multiply 'budget' here, not replace it with a
> constant. Looks like ixgbe dutifully passes 'per_ring_budget' into the
> clean_rx functions, not a complete NAPI budget.
>

Correct, and i40e/ice does the same ("per_ring_budget").

As for budget << XSK_NAPI_MULT vs replacing; Replacing the budget is 
more in line with what the drivers do for the Tx cleanup 
(xxx_clean_tx_irq), where the napi budget is discarded completely; 
Again, with the idea that "this is much cheaper than a "per-packet 
through the stack".

Do you prefer the multiplier way that you describe?


Cheers,
Björn


>>   		union ixgbe_adv_rx_desc *rx_desc;
>>   		struct ixgbe_rx_buffer *bi;
>>   		unsigned int size;
> 

  reply	other threads:[~2020-09-08  5:38 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-07 15:02 [PATCH bpf-next 0/4] xsk: increase NAPI budget for AF_XDP zero-copy path Björn Töpel
2020-09-07 15:02 ` [PATCH bpf-next 1/4] xsk: add XSK_NAPI_WEIGHT define Björn Töpel
2020-09-07 15:02 ` [PATCH bpf-next 2/4] i40e, xsk: use XSK_NAPI_WEIGHT as NAPI poll budget Björn Töpel
2020-09-07 15:02 ` [PATCH bpf-next 3/4] ice, " Björn Töpel
2020-09-07 15:02 ` [PATCH bpf-next 4/4] ixgbe, " Björn Töpel
2020-09-07 19:32   ` Jakub Kicinski
2020-09-08  5:38     ` Björn Töpel [this message]
2020-09-08  9:45   ` Eric Dumazet
2020-09-08 11:49     ` Björn Töpel
2020-09-08 15:12       ` Eric Dumazet
2020-09-08 10:12   ` [Intel-wired-lan] " Paul Menzel
2020-09-08 11:12     ` Björn Töpel
2020-09-08 11:20       ` Paul Menzel
2020-09-08 11:43         ` Björn Töpel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c8ce6b24-bded-5ed1-bf5c-6d2409972e57@intel.com \
    --to=bjorn.topel@intel.com \
    --cc=ast@kernel.org \
    --cc=bjorn.topel@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=kuba@kernel.org \
    --cc=magnus.karlsson@intel.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox