All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: sunvnet NAPIfication
Date: Wed, 15 Oct 2014 10:05:00 -0400	[thread overview]
Message-ID: <20141015140500.GA11183@oracle.com> (raw)
In-Reply-To: <20141003.120802.1213573830649867131.davem@davemloft.net>


I have the NAPIfication-of-sunvnet patch-set ready for 
code review. AFAIK net-next is not currently open
for new features this week, but does it make sense for
me to go ahead and send the patch-set to the list (I'm sure
it will take some time to review) or will that just create
confusion to the netdev maintainers?

--Sowmini

Previously discussed:

> >> For example, you can now move everything into software IRQ context,
> >> just disable the VIO interrupt and unconditionally go into NAPI
> >> context from the VIO event.
> >> No more irqsave/irqrestore.
> >> Then the TX path even can run mostly lockless, it just needs
> >> to hold the VIO lock for a minute period of time.  The caller
> >> holds the xmit_lock of the network device to prevent re-entry
> >> into the ->ndo_start_xmit() path.
> 
> I think you should be able to get rid of all of the in-driver
> locking in the fast paths.
> 
> NAPI ->poll() is non-reentrant, so all RX processing occurs
> strictly in a serialized environment.
> 
> Once you do TX reclaim in NAPI context, then all you have to do is
> take the generic netdev TX queue lock during the evaluation of whether
> to wakeup the TX queue or not.  Worst case you need to hold the
> TX netdev queue lock across the whole TX reclaim operation.
> 
> The VIO lock really ought to be entirely superfluous in the data
> paths.

      parent reply	other threads:[~2014-10-15 14:05 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-01 18:56 [PATCH net-next 0/2] sunvnet: Packet processing in non-interrupt context Sowmini Varadhan
2014-10-01 19:10 ` Eric Dumazet
2014-10-01 19:50 ` David Miller
2014-10-01 19:55   ` Sowmini Varadhan
2014-10-01 20:15     ` David Miller
2014-10-01 20:23       ` Sowmini Varadhan
2014-10-01 20:25         ` David Miller
2014-10-02 20:12           ` Sowmini Varadhan
2014-10-02 20:43             ` David Miller
2014-10-03 14:40               ` Sowmini Varadhan
2014-10-03 19:08                 ` David Miller
2014-10-06 16:04                   ` Sowmini Varadhan
2014-10-06 19:25                     ` David Miller
2014-10-06 19:31                       ` Sowmini Varadhan
2014-10-06 19:37                         ` David Miller
2014-10-10  1:10                         ` Raghuram Kothakota
2014-10-10  4:36                           ` David Miller
2014-10-10  4:56                             ` Raghuram Kothakota
2014-10-10  5:03                               ` David Miller
2014-10-10  5:13                                 ` Raghuram Kothakota
2014-10-15 14:05                   ` Sowmini Varadhan [this message]

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=20141015140500.GA11183@oracle.com \
    --to=sowmini.varadhan@oracle.com \
    --cc=davem@davemloft.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.