|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Wed, 19 Apr 2006
Kevent based AIO sendfile.
Noone need an excuse to rewrite something.
So I decided to change aio_sendfile() design.
It will not significantly change from what was
described
before, exception is that repeatedly called from keventd context kevent's
main processing function will populate pages into VFS cache, and then send them
over the net without temporary caching them in kevent's private structure.
Small note: do not mix kevent
and keventd. The former is a mechanims of delivering edge and level triggered events
to userspace, the latter is a kernel thread in which context workqueues work.
So with aio_sendfile() I just move the work from userspace process' context
to keventd context and slighlty change the way pages are inserted into VFS cache and
processed. Yes, I'm lazy boom slacker, but it is the simplest way to combine completely different
execution contexts of network, VFS and block layer processings.
:: Link / Comments ()
|