User: Password:
|
|
Subscribe / Log in / New account

Kernel events without kevents

Kernel events without kevents

Posted Mar 15, 2007 19:29 UTC (Thu) by mtaht (guest, #11087)
In reply to: Kernel events without kevents by pphaneuf
Parent article: Kernel events without kevents

Um, er, epoll can call your callback with only a tiny bit of wrapping

see http://boston.conman.org/2007/03/08


(Log in to post comments)

Kernel events without kevents

Posted Mar 15, 2007 21:01 UTC (Thu) by bronson (subscriber, #4806) [Link]

http://svn.u32.net/io/trunk/ works pretty well too but I haven't gotten around to documenting it yet... if ever...

Kernel events without kevents

Posted Mar 16, 2007 7:03 UTC (Fri) by pphaneuf (subscriber, #23480) [Link]

Thanks, it seems interesting, I'll definitely have a look, since I'm in the process of making a similar edge-triggered wrapper like this, but with the added twist of multithreaded (a limited number of threads, so that more events can be handled in a given amount of time, to use multicore systems and such while still being event driven).

Kernel events without kevents

Posted Mar 16, 2007 11:55 UTC (Fri) by bronson (subscriber, #4806) [Link]

I agree, multicore is here to stay. That code lets me run one epoll poller per thread and one thread per core (plus a few maintenance threads). I haven't tried it under serious load yet so there may be a few small bugs left to wiggle out, and the poller selection is utterly hacked (it's a todo item), but it works for me so far.

Feel free to mail me at bronson at domain rinspin.com.

Kernel events without kevents

Posted Mar 16, 2007 6:59 UTC (Fri) by pphaneuf (subscriber, #23480) [Link]

Indeed, and I very much love epoll for that, but for that to work between a library and an application (with the library putting things into the epoll fd, and the application being the one calling epoll_wait()), they pretty much have to use the same tiny bit of wrapping.

After that, it can totally be done, but if you make your library for, say, libevent, and someone tries using it in a Qt program, it's a pain.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds