[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c4796548-5c3b-f3db-a060-1e46fb42970a@gmail.com>
Date: Wed, 8 Jul 2020 18:24:09 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: "YU, Xiangning" <xiangning.yu@...baba-inc.com>,
Eric Dumazet <eric.dumazet@...il.com>,
Linux Kernel Network Developers <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next v2 2/2] net: sched: Lockless Token Bucket (LTB)
qdisc
On 7/8/20 5:58 PM, YU, Xiangning wrote:
>
>
> On 7/8/20 5:08 PM, Eric Dumazet wrote:
>>
>>
>> On 7/8/20 4:59 PM, YU, Xiangning wrote:
>>
>>>
>>> Yes, we are touching a cache line here to make sure aggregation tasklet is scheduled immediately. In most cases it is a call to test_and_set_bit().
>>
>>
>> test_and_set_bit() is dirtying the cache line even if the bit is already set.
>>
>
> Yes. I do hope we can avoid this.
>
>>>
>>> We might be able to do some inline processing without tasklet here, still we need to make sure the aggregation won't run simultaneously on multiple CPUs.
>>
>> I am actually surprised you can reach 8 Mpps with so many cache line bouncing around.
>>
>> If you replace the ltb qdisc with standard mq+pfifo_fast, what kind of throughput do you get ?
>>
>
> Just tried it using pktgen, we are far from baseline. I can get 13Mpps with 10 threads in my test setup.
This is quite low performance.
I suspect your 10 threads are sharing a smaller number of TX queues perhaps ?
Powered by blists - more mailing lists