On 2/12/22 12:51 PM, Olivier Langlois wrote: > On Wed, 2022-02-09 at 11:34 +0800, Hao Xu wrote: >> 在 2022/2/9 上午1:05, Jens Axboe 写道: >>> On 2/8/22 7:58 AM, Olivier Langlois wrote: >>>> Hi, >>>> >>>> I was wondering if integrating the NAPI busy poll for socket fds >>>> into >>>> io_uring like how select/poll/epoll are doing has ever been >>>> considered? >>>> >>>> It seems to me that it could be an awesome feature when used >>>> along with >>>> a io_qpoll thread and something not too difficult to add... >>> >>> Should be totally doable and it's been brought up before, just >>> needs >>> someone to actually do it... Would love to see it. >>> >> We've done some investigation before, would like to have a try. >> > Hao, > > Let me know if I can help you with coding or testing. I have done very > preliminary investigation too. It doesn't seem like it would be very > hard to implement but I get confused with small details. > > For instance, the epoll implementation, unless there is something that > I don't understand, appears to have a serious limitation. It seems > like it would not work correctly if there are sockets associated to > more than 1 NAPI device in the fd set. As far as I am concerned, that > limitation would be ok since in my setup I only use 1 device but if it > was necessary to be better than the epoll implementation, I am not > sure at all how this could be addressed. I do not have enough kernel > dev experience to find easy solutions to those type of issues... > > Worse case scenario, I guess that I could give it a shot creating a > good enough implementation for my needs and show it to the list to get > feedback... That is, in fact, usually the best way to get feedback on a change! I believe there's even a law named for it, though local to Linux I attribute it to akpm. Hence I'd encourage you to do that, best and fastest way to make progress on the solution. -- Jens Axboe