[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170725140757.5c38ccc0@xeon-e3>
Date: Tue, 25 Jul 2017 14:07:57 -0700
From: Stephen Hemminger <stephen@...workplumber.org>
To: kys@...rosoft.com, haiyangz@...rosoft.com, sthemmin@...rosoft.com
Cc: devel@...uxdriverproject.org, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 3/5] netvsc: optimize receive completions
On Tue, 25 Jul 2017 13:04:20 -0700
Stephen Hemminger <stephen@...workplumber.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@...rosoft.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.
Powered by blists - more mailing lists