[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6DD009AA16@AcuExch.aculab.com>
Date: Wed, 18 Oct 2017 11:04:59 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Thomas Falcon' <tlfalcon@...ux.vnet.ibm.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: [PATCH net-next 1/3] ibmvnic: Enable scatter-gather support
From: Thomas Falcon
> Sent: 17 October 2017 18:37
> This patch enables scatter gather support. Since there is no
> HW/FW scatter-gather support at this time, the driver needs to
> loop through each fragment and copy it to a contiguous, pre-mapped
> buffer entry.
...
> offset = index * adapter->req_mtu;
> dst = tx_pool->long_term_buff.buff + offset;
You should be able to treat the pre-allocated data area as a
big ring buffer.
So it can hold a lot of small frames or a few big ones.
This slightly complicates the 'is there enough space for
this packet' check since you need buffer space as well
as a ring entry.
You also really want to align each tx buffer on a 4n+2
boundary so that most of the copy is aligned.
> memset(dst, 0, adapter->req_mtu);
Seems unnecessary.
David
Powered by blists - more mailing lists