Jason Baron <jbaron@xxxxxxxxxx> wrote: > On 02/09/2015 11:49 PM, Eric Wong wrote: > > Do you have a userland use case to share? > > I've been trying to describe the use case, maybe I haven't been doing a good > job :( Sorry, I meant if you had any public code. Anyways, I've restarted work on another project which I'll hopefully be able to share in a few weeks which might be a good public candidate for epoll performance testing. > > Did you try my suggestion of using a dedicated thread (or thread pool) > > which does nothing but loop on accept() + EPOLL_CTL_ADD? > > > > Those dedicated threads could do its own round-robin in userland to pick > > a different epollfd to call EPOLL_CTL_ADD on. > > Thanks for your suggestion! I'm not actively working on the user-space > code here, but I will pass it along. > > I would prefer though not to have to context switch the 'accept' thread > on and off the cpu every time there is a new connection. So the approach > suggested here essentially moves this dedicated thread (threads), down > into the kernel and avoids the creation of these threads entirely. For cmogstored, I stopped using TCP_DEFER_ACCEPT when using the dedicated thread. This approach offloads to epoll and ends up giving similar behavior to what used to be infinite in TCP_DEFER_ACCEPT in Linux <= 2.6.31 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html