netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gerhard Engleder <gerhard@engleder-embedded.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org, davem@davemloft.net, kuba@kernel.org,
	edumazet@google.com, pabeni@redhat.com
Subject: Re: [PATCH net-next 1/4] tsnep: Throttle interrupts
Date: Fri, 18 Nov 2022 06:50:47 +0100	[thread overview]
Message-ID: <784e1ad7-0110-43f9-342c-abe513123f1a@engleder-embedded.com> (raw)
In-Reply-To: <Y3aatP+384keCkpN@lunn.ch>

On 17.11.22 21:33, Andrew Lunn wrote:
> On Thu, Nov 17, 2022 at 09:14:37PM +0100, Gerhard Engleder wrote:
>> Without interrupt throttling, iperf server mode generates a CPU load of
>> 100% (A53 1.2GHz). Also the throughput suffers with less than 900Mbit/s
>> on a 1Gbit/s link. The reason is a high interrupt load with interrupts
>> every ~20us.
> 
> Not my area of expertise, but is NAPI working correctly? It should be
> that you disable interrupts while NAPI is polling, and only re-enable
> interrupts when polling has stopped. If you are receiving at near line
> rate at 100% load, i would of thought that NAPI would be polling most
> of the time and interrupts would be mostly disabled?

I disable and re-enable interrupts in the driver, but I don't know
exactly under which conditions interrupts will be disabled mostly. At
least during my XDP tests with minimum size packets the interrupt rate
dropped significantly. Here the CPU had also 100% load but packet rate
was much higher with ~880000 pkt/s.

I compared the performance and the interrupt rate with the macb driver
on the same CPU and the results were similar.

> Interrupt coalescence makes a lot of sense thought, so the patch
> itself is useful.

Thanks!

Gerhard

  reply	other threads:[~2022-11-18  5:50 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-17 20:14 [PATCH net-next 0/4] tsnep: Throttle irq, rotten pkts, RX buffer alloc and ethtool_get_channels() Gerhard Engleder
2022-11-17 20:14 ` [PATCH net-next 1/4] tsnep: Throttle interrupts Gerhard Engleder
2022-11-17 20:33   ` Andrew Lunn
2022-11-18  5:50     ` Gerhard Engleder [this message]
2022-11-19  1:24   ` Jakub Kicinski
2022-11-19 20:46     ` Gerhard Engleder
2022-11-17 20:14 ` [PATCH net-next 2/4] tsnep: Fix rotten packets Gerhard Engleder
2022-11-17 20:39   ` Andrew Lunn
2022-11-18  6:13     ` Gerhard Engleder
2022-11-19  1:26   ` Jakub Kicinski
2022-11-19 20:47     ` Gerhard Engleder
2022-11-17 20:14 ` [PATCH net-next 3/4] tsnep: Add ethtool get_channels support Gerhard Engleder
2022-11-17 20:14 ` [PATCH net-next 4/4] tsnep: Rework RX buffer allocation Gerhard Engleder

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=784e1ad7-0110-43f9-342c-abe513123f1a@engleder-embedded.com \
    --to=gerhard@engleder-embedded.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).