From: David Miller <davem@davemloft.net>
To: noamc@ezchip.com
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
Alexey.Brodkin@synopsys.com, vgupta@synopsys.com,
talz@ezchip.com
Subject: Re: [v1 0/6] *** nps_enet fixups ***
Date: Mon, 17 Aug 2015 10:36:07 -0700 (PDT) [thread overview]
Message-ID: <20150817.103607.1737876155019074073.davem@davemloft.net> (raw)
In-Reply-To: <1439791119-26892-1-git-send-email-noamc@ezchip.com>
From: Noam Camus <noamc@ezchip.com>
Date: Mon, 17 Aug 2015 08:58:33 +0300
> This patch set is a bunch of fixes to make nps_enet work correctly with
> all platforms, i.e. real device, emulation system, and simulation system.
> The main trigger for this patch set was that in our emulation system
> the TX end interrupt is "edge-sensitive" and therefore we cannot use the
> cause register since it is not sticky.
> Also:
> TX is handled during HW interrupt context and not NAPI job.
> race with TX done was fixed.
> added acknowledge for TX when device is "level sensitive".
> enable drop of control frames which is not needed for regular usage.
>
> So most of this patch set is about TX handling, which is now more complete.
You should not move TX completion out of NAPI handling, NAPI poll is
exactly where it belongs.
If you handle it in hardware interrupt context you have to use
dev_kfree_skb_irq() which defers the operation to software interrupt
context anyways and is thus expensive.
Whereas if you keep TX completion in your NAPI handler the kfree is
handled synchronously and efficiently, as well as making SKB's
potentially available for RX reclaim.
I'm not applying this series, you are doing with TX handling exactly
what we tell people not to do.
next prev parent reply other threads:[~2015-08-17 17:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-17 5:58 [v1 0/6] *** nps_enet fixups *** Noam Camus
2015-08-17 5:58 ` [v1 1/6] NET: nps_enet: replace use of cause register Noam Camus
2015-08-17 5:58 ` [v1 2/6] NET: nps_enet: reduce processing latency Noam Camus
2015-08-17 5:58 ` [v1 3/6] NET: nps_enet: TX done race condition Noam Camus
2015-08-17 5:58 ` [v1 4/6] NET: nps_enet: drop control frames Noam Camus
2015-08-17 5:58 ` [v1 5/6] NET: nps_enet: TX done acknowledge Noam Camus
2015-08-17 5:58 ` [v1 6/6] NET: nps_enet: minor namespace cleanup Noam Camus
2015-08-17 17:36 ` David Miller [this message]
2015-08-18 5:04 ` [v1 0/6] *** nps_enet fixups *** Noam Camus
2015-08-18 5:26 ` David Miller
2015-08-20 5:00 ` [v2 0/5] " Noam Camus
2015-08-20 5:00 ` [v2 1/5] NET: nps_enet: replace use of cause register Noam Camus
2015-08-20 5:00 ` [v2 2/5] NET: nps_enet: TX done race condition Noam Camus
2015-08-20 5:00 ` [v2 3/5] NET: nps_enet: drop control frames Noam Camus
2015-08-20 5:00 ` [v2 4/5] NET: nps_enet: TX done acknowledge Noam Camus
2015-08-20 5:00 ` [v2 5/5] NET: nps_enet: minor namespace cleanup Noam Camus
2015-08-23 23:09 ` [v2 0/5] *** nps_enet fixups *** David Miller
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=20150817.103607.1737876155019074073.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=Alexey.Brodkin@synopsys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=noamc@ezchip.com \
--cc=talz@ezchip.com \
--cc=vgupta@synopsys.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).