Zbr's days.

About :: TODO :: Blog :: RSS :: Old blog :: Projects :: GIT :: Gallery :: Notes

Mon, 08 Jan 2007

New kevent 'take31' release.


Short changelog:

  • AIO state machine
  • aio_sendfile() implementation
  • moved kevent_user_get/kevent_user_put into header
  • use *zalloc where needed
aio_sendfile() is implemented as described here, except destructor callbacks, which are essentially the same, except that they reschedule AIO processing.

Benchmarks of simple sendfile() vs. aio_sendfile() did not show noticeble win of any approach, but I want to notice, that my receiving side is not that best in my case (I managed to create a test where usual sendfile() stuck until signal received, the same hapend with aio_sendfile() too, but the latter can be buggy).
It would be good to use it in lighttpd (I will create a patch after some feedback received and approach will be considered as good.

AIO state machine is a base for network AIO (which becomes quite trivial), but I will not start implementation until roadback of kevent as a whole and AIO implementation become more clear.

Patches and userspace test application are available in archive from kevent homepage.

/devel/kevent :: Link / Comments ()