All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: davem@davemloft.net, raghuram.kothakota@oracle.com,
	sowmini.varadhan@oracle.com
Cc: netdev@vger.kernel.org
Subject: [PATCH net-next 0/2] sunvnet: Packet processing in non-interrupt context.
Date: Wed, 1 Oct 2014 14:56:04 -0400	[thread overview]
Message-ID: <20141001185604.GG17706@oracle.com> (raw)


The existing sunvnet implementation does all the packet interception
in LDC interrupt context. Patch 1 of this series moves the data
processing to a bottom-half handler.

Some context for the reasons for choosing a BH handler over NAPI:
   A NAPI (or simple tasklet) based implementation provides softirq
   context, which allows the driver to safely invoke netif_receive_skb()
   to deliver the packet to the IP stack. But in the case of sunvnet,
   we are already receiving multiple packets for a single ldc_rx
   interrupt, so the budget-based softirq-vs-polling infra does not
   provide a significant optimization. Rather, it can get in the way,
   if we constrain the vnet-rx path to a poorly chosen budget, and force
   ourselves to send a STOPPED/START ldc exchange needlessly.

   A BH Rx handler is a simpler way to  avoid the weaknesses of processing
   packets in LDC interrupt context, and also provides Rx load-spreading
   across multiple CPUs.

Note that PATCH 1 is dependant on the functions added as part of the
sparc-next commit "sparc64: Add vio_set_intr() to enable/disable Rx interrupts"
(Cf: http://www.spinics.net/lists/sparclinux/msg12647.html)

PATCH 2 of this series fixes a race-condition between vnet_port_remove()
and vnet_start_xmit().

Sowmini Varadhan (2):
  Process Rx data packets in a BH handler
  vnet_start_xmit() must hold a refcnt on port.

 drivers/net/ethernet/sun/sunvnet.c | 187 +++++++++++++++++++++++++++----------
 drivers/net/ethernet/sun/sunvnet.h |  12 ++-
 2 files changed, 146 insertions(+), 53 deletions(-)

-- 
1.8.4.2

             reply	other threads:[~2014-10-01 18:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-01 18:56 Sowmini Varadhan [this message]
2014-10-01 19:10 ` [PATCH net-next 0/2] sunvnet: Packet processing in non-interrupt context 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                   ` sunvnet NAPIfication Sowmini Varadhan
  -- strict thread matches above, loose matches on Subject: below --
2014-10-01 20:24 [PATCH net-next 0/2] sunvnet: Packet processing in non-interrupt context Sowmini Varadhan

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=20141001185604.GG17706@oracle.com \
    --to=sowmini.varadhan@oracle.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=raghuram.kothakota@oracle.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 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.