[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20141001.155009.2277009117294992988.davem@davemloft.net>
Date: Wed, 01 Oct 2014 15:50:09 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: sowmini.varadhan@...cle.com
Cc: raghuram.kothakota@...cle.com, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 0/2] sunvnet: Packet processing in
non-interrupt context.
From: Sowmini Varadhan <sowmini.varadhan@...cle.com>
Date: Wed, 1 Oct 2014 14:56:04 -0400
>
> 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.
I think you want to re-evaluate this considering napi_gro_receive() which
is what you should really be calling in a NAPI driver.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists