Hi Hanlin, 

Stephen and Ping have made a lot of progress with Envoy and VCL, but I’ll let 
them comment on that. 

Regards, 
Florin

> On Oct 31, 2019, at 9:44 PM, wanghanlin <[email protected]> wrote:
> 
> OK,I got it. Thanks a lot.
> By the way, can VCL adapt to envoy or any progress about this?
> 
> Regards,
> Hanlin
>       
> wanghanlin
> 
> [email protected]
>  
> <https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=wanghanlin&uid=wanghanlin%40corp.netease.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22wanghanlin%40corp.netease.com%22%5D&logoUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyeicon%2F209a2912f40f6683af56bb7caff1cb54.png>
> 签名由 网易邮箱大师 <https://mail.163.com/dashi/dlpro.html?from=mail81> 定制
> On 11/1/2019 12:07,Florin Coras<[email protected]> 
> <mailto:[email protected]> wrote: 
> Hi Hanlin, 
> 
> If a worker’s mq uses eventfds for notifications, we could nest it in 
> libc_epfd, i.e.,the epoll fd we create for the linux fds. So, if an app's 
> worker calls epoll_wait, in ldp we can epoll_wait on libc_epfd and if we get 
> an event on the mq’s eventfd, we can call vls_epoll_wait with a 0 timeout to 
> drain the events from vcl. 
> 
> Having said that, keep in mind that we typically recommend that people use 
> vcl because ldp, through vls, enforces a rather strict locking policy. That 
> is needed in order to avoid invalidating vcl’s assumption that sessions are 
> owned by only one vcl worker. Moreover, we’ve tested ldp only against a 
> limited set of applications. 
> 
> Regards, 
> Florin
> 
>> On Oct 31, 2019, at 7:58 PM, wanghanlin <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Do you mean, if just use eventfds only, then I needn't set timeout  to 0 in 
>> ldp_epoll_pwait?
>> If so, then how to process unhandled_evts_vector in vppcom_epoll_wait 
>> timely? What I'm saying is,  another thread add event to 
>> unhandled_evts_vector during epoll_wait, or unhandled_evts_vector not 
>> process completely because of reaching maxevents.
>> 
>> Regards,
>> Hanlin
>> 
>>      
>> wanghanlin
>> 
>> [email protected]
>>  
>> <https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=wanghanlin&uid=wanghanlin%40corp.netease.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22wanghanlin%40corp.netease.com%22%5D&logoUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyeicon%2F209a2912f40f6683af56bb7caff1cb54.png>
>> 签名由 网易邮箱大师 <https://mail.163.com/dashi/dlpro.html?from=mail81> 定制
>> On 10/31/2019 23:34,Florin Coras<[email protected]> 
>> <mailto:[email protected]> wrote: 
>> Hi, 
>> 
>> use_mq_eventfd will help with vcl but as you’ve noticed it won’t help for 
>> ldp because there we need to poll both vcl and linux fds. Because 
>> mutex-condvar notifications can’t be epolled we have to constantly switch 
>> between linux and vcl epolled fds. One option going forward would be to 
>> change ldp to detect if vcl is using mutex-condvars or eventfds and in case 
>> of the latter poll linux fds and the mq’s eventfd in a linux epoll. 
>> 
>> Regards,
>> Florin
>> 
>>> On Oct 31, 2019, at 5:54 AM, wanghanlin <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> hi ALL,
>>> I found app using VCL "epoll_wait" still occupy 70% cpu with 
>>> "use_mq_eventfd" configuration even if very little traffic.
>>> Then I investigate code in ldp_epoll_pwait, vls_epoll_wait is called with 
>>> timeout equal to 0.
>>> Then I have two questions:
>>> 1. What problems can "use_mq_eventfd" solve?
>>> 2.Any other way to decrease cpu usage?
>>> Thanks!
>>> 
>>> code in  ldp_epoll_pwait:
>>> do
>>>     {
>>>       if (!ldpw->epoll_wait_vcl)
>>>     {
>>>       rv = vls_epoll_wait (ep_vlsh, events, maxevents, 0);
>>>       if (rv > 0)
>>>         {
>>>           ldpw->epoll_wait_vcl = 1;
>>>           goto done;
>>>         }
>>>       else if (rv < 0)
>>>         {
>>>           errno = -rv;
>>>           rv = -1;
>>>           goto done;
>>>         }
>>>     }
>>>       else
>>>     ldpw->epoll_wait_vcl = 0;
>>> 
>>>       if (libc_epfd > 0)
>>>     {
>>>       rv = libc_epoll_pwait (libc_epfd, events, maxevents, 0, sigmask);
>>>       if (rv != 0)
>>>         goto done;
>>>     }
>>>     }
>>>   while ((timeout == -1) || (clib_time_now (&ldpw->clib_time) < max_time));
>>>     
>>> wanghanlin
>>> 
>>> [email protected]
>>>  
>>> <https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=wanghanlin&uid=wanghanlin%40corp.netease.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22wanghanlin%40corp.netease.com%22%5D&logoUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyeicon%2F209a2912f40f6683af56bb7caff1cb54.png>
>>> 签名由 网易邮箱大师 <https://mail.163.com/dashi/dlpro.html?from=mail81> 定制
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> 
>>> View/Reply Online (#14413): https://lists.fd.io/g/vpp-dev/message/14413 
>>> <https://lists.fd.io/g/vpp-dev/message/14413>
>>> Mute This Topic: https://lists.fd.io/mt/40123765/675152 
>>> <https://lists.fd.io/mt/40123765/675152>
>>> Group Owner: [email protected] <mailto:[email protected]>
>>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub 
>>> <https://lists.fd.io/g/vpp-dev/unsub>  [[email protected] 
>>> <mailto:[email protected]>]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> 
>> View/Reply Online (#14448): https://lists.fd.io/g/vpp-dev/message/14448 
>> <https://lists.fd.io/g/vpp-dev/message/14448>
>> Mute This Topic: https://lists.fd.io/mt/40351193/675152 
>> <https://lists.fd.io/mt/40351193/675152>
>> Group Owner: [email protected] <mailto:[email protected]>
>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub 
>> <https://lists.fd.io/g/vpp-dev/unsub>  [[email protected] 
>> <mailto:[email protected]>]
>> -=-=-=-=-=-=-=-=-=-=-=-
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#14452): https://lists.fd.io/g/vpp-dev/message/14452
Mute This Topic: https://lists.fd.io/mt/40393103/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to