diff options
| author | Santiago Leon <[email protected]> | 2005-10-26 16:47:08 +0000 |
|---|---|---|
| committer | Jeff Garzik <[email protected]> | 2005-10-28 20:07:30 +0000 |
| commit | e2adbcb480992de8a01acf9218e8bbd9b507fc6f (patch) | |
| tree | 92465e753d0221c0c54862994735a7fe078200fa /drivers/net/ibm_emac/ibm_emac_debug.h | |
| parent | [PATCH] ibmveth fix buffer pool management (diff) | |
| download | kernel-e2adbcb480992de8a01acf9218e8bbd9b507fc6f.tar.gz kernel-e2adbcb480992de8a01acf9218e8bbd9b507fc6f.zip | |
[PATCH] ibmveth fix buffer replenishing
This patch removes the allocation of RX skb's buffers from a workqueue
to be called directly at RX processing time. This change was suggested
by Dave Miller when the driver was starving the RX buffers and
deadlocking under heavy traffic:
> Allocating RX SKBs via tasklet is, IMHO, the worst way to
> do it. It is no surprise that there are starvation cases.
>
> If tasklets or work queues get delayed in any way, you lose,
> and it's very easy for a card to catch up with the driver RX'ing
> packets very fast, no matter how aggressive you make the
> replenishing. By the time you detect that you need to be
> "more aggressive" it is already too late.
> The only pseudo-reliable way is to allocate at RX processing time.
>
Signed-off-by: Santiago Leon <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
Diffstat (limited to 'drivers/net/ibm_emac/ibm_emac_debug.h')
0 files changed, 0 insertions, 0 deletions
