I don't yet, but I am planning to use them for an ultra-high-performance
dynamic web server and make-like tool.
The idea is that a dynamic page's cache validity (or the validity of a
subrequest) may depend on a large number of stat() results.
Dnotify can be used, as I understand it, to avoid having to actually do
the stat() calls on each request.
In this way, cached dynamic pages can be served as quickly as static
pages, right down to using the minimum set of system calls.
At the same time, dynamic pages are served perfectly _as if_ they are
recalculated every time from their prerequisite files, including: script
code (Perl, PHP etc.), included files, templates, images, database
files. So with things like setting the width and height of each IMG tag
from scanning the image files, and complex templates such as navigation
bars that you currently remake by hand using "make" -- these things
immediately update as you modify the site's source files.
It makes a pretty nice document editing environment too -- save file
from Emacs, immediately view formatted file in web browser :-)
I can do this at the moment, but with a number of stat() calls on each
request. With dnotify I think I can eliminate those but I haven't got
that far yet.
If dnotify is too buggy as stands then for this project I'd very much
like it to be fixed. Loss of notifications after fork() sounds like a
rather serious bug :-/
cheers,
-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/