[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <F48099A3-ECB3-46AF-8330-B829ED2ADA3F@gmail.com>
Date: Fri, 17 Apr 2020 09:56:06 -0700
From: yunhong-cgl jiang <xintian1976@...il.com>
To: Julian Anastasov <ja@....bg>
Cc: horms@...ge.net.au, netdev@...r.kernel.org,
lvs-devel@...r.kernel.org, Yunhong Jiang <yunhjiang@...y.com>
Subject: Re: Long delay on estimation_timer causes packet latency
Thanks for reply.
Yes, our patch changes the est_list to a RCU list. Will do more testing and send out the patch.
Thanks
—Yunhong
> On Apr 17, 2020, at 12:47 AM, Julian Anastasov <ja@....bg> wrote:
>
>
> Hello,
>
> On Thu, 16 Apr 2020, yunhong-cgl jiang wrote:
>
>> Hi, Simon & Julian,
>> We noticed that on our kubernetes node utilizing IPVS, the estimation_timer() takes very long (>200sm as shown below). Such long delay on timer softirq causes long packet latency.
>>
>> <idle>-0 [007] dNH. 25652945.670814: softirq_raise: vec=1 [action=TIMER]
>> .....
>> <idle>-0 [007] .Ns. 25652945.992273: softirq_exit: vec=1 [action=TIMER]
>>
>> The long latency is caused by the big service number (>50k) and large CPU number (>80 CPUs),
>>
>> We tried to move the timer function into a kernel thread so that it will not block the system and seems solves our problem. Is this the right direction? If yes, we will do more testing and send out the RFC patch. If not, can you give us some suggestion?
>
> Using kernel thread is a good idea. For this to work, we can
> also remove the est_lock and to use RCU for est_list.
> The writers ip_vs_start_estimator() and ip_vs_stop_estimator() already
> run under common mutex __ip_vs_mutex, so they not need any
> synchronization. We need _bh lock usage in estimation_timer().
> Let me know if you need any help with the patch.
>
> Regards
>
> --
> Julian Anastasov <ja@....bg>
Powered by blists - more mailing lists