[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <trinity-c726d458-78f5-41bf-8d00-ac6d55a03c35-1487260948543@3capp-gmx-bs24>
Date: Thu, 16 Feb 2017 17:02:28 +0100
From: "Lino Sanfilippo" <LinoSanfilippo@....de>
To: "David Laight" <David.Laight@...LAB.COM>
Cc: "Pavel Belous" <Pavel.Belous@...antia.com>,
"David S . Miller" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"Simon Edelhaus" <Simon.Edelhaus@...antia.com>,
"Alexey Andriyanov" <Alexey.Andriyanov@...antia.com>
Subject: Re: RE: [PATCH net-next 11/13] net: ethernet: aquantia: Refactoring
buffers copying.
Hi,
> ...
> > Well, you should really try to avoid copying the tx buffers _at all_.
> > E.g. by passing self->buff_ring to aq_ring_tx_append_buffs() instead of
> > the temporary array.
>
> Copying can help for horridly fragmented frames or when iommu (etc)
> setup is expensive.
> At least some ethernet hardware has minimum fragment lengths.
>
I was referring to the copy of tx descriptors, not the frames/fragments itself.
I wrote "tx buffers" because in this driver a descriptor is represented as
a struct "aq_ring_buff_s". I cannot see a reason why this descriptor copy
should be necessary.
However I agree that there can be circumstances that would justify even the
copy of frame/fragment data.
Regards,
Lino
Powered by blists - more mailing lists