[LEDE-DEV] [PATCH] ag71xx: Reorder ring structs for lower cache trashing.
Lucian Cristian
luci at createc.ro
Sat Feb 10 03:03:33 PST 2018
On 10.02.2018 06:11, Rosen Penev wrote:
> On Thu, Feb 1, 2018 at 9:23 AM, Lucian Cristian <luci at createc.ro> wrote:
>> On 30.01.2018 18:14, Rosen Penev wrote:
>>> Based on Qualcomm's upstream code. Reordered a bit different.
>>>
>>> iperf3 speed goes from ~279mbps to ~320mbps.
>>>
>>> Signed-off-by: Rosen Penev <rosenp at gmail.com>
>>> ---
>>> .../files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h | 13
>>> ++++++++-----
>>> 1 file changed, 8 insertions(+), 5 deletions(-)
>>>
>>> diff --git
>>> a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
>>> b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
>>> index a712812..d181240 100644
>>> ---
>>> a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
>>> +++
>>> b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
>>> @@ -106,13 +106,16 @@ struct ag71xx_buf {
>>> };
>>> struct ag71xx_ring {
>>> - struct ag71xx_buf *buf;
>>> - u8 *descs_cpu;
>>> - dma_addr_t descs_dma;
>>> - u16 desc_split;
>>> - u16 order;
>>> + /* "Hot" fields in the data path. */
>>> unsigned int curr;
>>> unsigned int dirty;
>>> +
>>> + /* "Cold" fields - not used in the data path. */
>>> + struct ag71xx_buf *buf;
>>> + u16 order;
>>> + u16 desc_split;
>>> + dma_addr_t descs_dma;
>>> + u8 *descs_cpu;
>>> };
>>> struct ag71xx_mdio {
> Seems this patch got dropped from patchwork for some reason.
>> I can confirm that this one gives a nice performance boost !
>>
>>
>> Regards
>>
>>
>> _______________________________________________
>> Lede-dev mailing list
>> Lede-dev at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/lede-dev
I have
uptime
13:01:41 up 6 days, 22:39, load average: 0.27, 0.10, 0.02
and can't spot any problems in normal functionality of the router
Regards
More information about the Lede-dev
mailing list