[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080723.141158.99031196.davem@davemloft.net>
Date: Wed, 23 Jul 2008 14:11:58 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: nhorman@...driver.com
Cc: netdev@...r.kernel.org, jgarzik@...ox.com
Subject: Re: [RFC] napi: adding an administrative state & priority
From: Neil Horman <nhorman@...driver.com>
Date: Wed, 23 Jul 2008 15:27:13 -0400
> 1) An administrative state for napi, specifically administratively disabled
> state, on a per-interface basis. When napi was administratively disabled the
> interface would behave as though napi had never been configured on it. I.E.
> netif_rx_schedule would call directly into dev->poll with a budget of 1, so as
> to behave like a legacy interrupt handler. setting of this administrative
> state can be handled through sysfs
It's not going to be the same, by a large margin.
The MMIO operations required by NAPI to disable and enable interrupts
on most hardware is extremely expensive.
The only way to mitigate that cost is a combination of software (NAPI)
and hardware interrupt mitigation.
And therefore...
> My reasoning for these features is common in that I've had occasion to observe
> some workloads where incomming data that is highly sensitive to loss and
> latency, gets lost near the hardware. Most often this happens because the
> latency from the time of interrupt to the time of serving in dev->poll is
> sufficient to overrun a hardware buffer, or the devices ring buffer. While ring
> buffers can be extended, I'm personally loathe to simply try out run the problem
> by adding ring-buffer space. It would be nice if we had a way to drain the
> overrunning queue faster, rather than just making it longer.
this feature is not going to help you reach your objective.
In fact, disabling NAPI by decreasing the quota to 1 is going to
result in more, not less, packet loss under high load.
--
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