netdev
[Top] [All Lists]

Re: RFC: NAPI packet weighting patch

To: Robert.Olsson@xxxxxxxxxxx
Subject: Re: RFC: NAPI packet weighting patch
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Fri, 03 Jun 2005 13:30:41 -0700 (PDT)
Cc: john.ronciak@xxxxxxxxx, jdmason@xxxxxxxxxx, shemminger@xxxxxxxx, hadi@xxxxxxxxxx, mitch.a.williams@xxxxxxxxx, netdev@xxxxxxxxxxx, ganesh.venkatesan@xxxxxxxxx, jesse.brandeburg@xxxxxxxxx
In-reply-to: <17056.47835.583602.151291@xxxxxxxxxxxx>
References: <468F3FDA28AA87429AD807992E22D07E0450BFE8@orsmsx408> <17056.47835.583602.151291@xxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
From: Robert Olsson <Robert.Olsson@xxxxxxxxxxx>
Date: Fri, 3 Jun 2005 22:17:31 +0200

>  It is possible that a lower weight forced your driver to disable interrupts
>  and do packet reception w/o interrupts often this is more efficient as
>  we get rid intr. latency etc.
> 
>  Again I think weight should only used for fairness and not control the
>  threshold when to disable interrupts.
>  
>  You can test with a new policy in e1000_clean so you schedule for a new 
>  poll if work_done (any pkts received) or tx_cleaned is true.

I don't think this is it.   What's happening is that E1000
pulls up to a full dev->quota of packets off the ring,
and _THEN_ goes back and does RX buffer replenishing.

It is very clear why E1000 runs out of RX descriptors with
this kind of policy.

I outlined a way to fix this in the E1000 driver in another
email.

<Prev in Thread] Current Thread [Next in Thread>