[PATCH net-next 3/5] netvsc: optimize receive completions

Stephen Hemminger stephen at networkplumber.org
Tue Jul 25 21:07:57 UTC 2017


On Tue, 25 Jul 2017 13:04:20 -0700
Stephen Hemminger <stephen at networkplumber.org> wrote:

> Optimize how receive completion ring are managed.
>    * Allocate only as many slots as needed for all buffers from host
>    * Allocate before setting up sub channel for better error detection
>    * Don't need to keep copy of initial receive section message
>    * Only needt keep the transaction id, status doesn't matter
>    * Precompute the watermark for when receive flushing is needed
>    * Replace division with conditional test
>    * Replace atomic per-device variable with per-channel check.
>    * Handle corner case where receive completion send
>      fails if ring buffer to host is full.
> 
> Signed-off-by: Stephen Hemminger <sthemmin at microsoft.com>

I probably pushed the shrinkage too far for now. Hiayang raised the
point that probably need to keep the status value. I dropped storing
it since it was always SUCCESS unless the host sent a bad packet,
or the system was out of skb's.

Will send V2 that keeps the status value for now.


More information about the devel mailing list