[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