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

From: Stephen Hemminger <[email-masked]>
Date: Tue, 25 Jul 2017 14:07:57 -0700

On Tue, 25 Jul 2017 13:04:20 -0700
Stephen Hemminger <[email-masked]> 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 <[email-masked]>

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.