On Tue, 25 Jul 2017 13:04:20 -0700 Stephen Hemminger <step...@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 <sthem...@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.