[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/lib/libpuffs
Module Name: src
Committed By: pooka
Date: Mon Jan 28 18:35:51 UTC 2008
src/lib/libpuffs: callcontext.c dispatcher.c framebuf.c puffs.3 puffs.c
puffs.h puffs_cc.3 puffs_priv.h requests.c
Implement lazy contexts for file systems using puffs_mainloop().
Previously each request was executed on its own callcontext and
switched to every time the request was being processed. Now requests
borrow the mainloop context and switch only if/when they yield.
This takes two context switches away from a file system request
bringing down the typical amounts 2->0 (e.g. dtfs) and 4->2 (e.g.
The interfaces for manually executing requests changed a bit:
puffs_dispatch_create() and puffs_dispatch_exec() must now be used.
They are not tested, as nothing in-tree wants them and I doubt
anyone else is really interested in them either.
Also do some misc code cleanup related to execution contexts. The
"work-in-progress checkpoint" committed over a year ago was starting
to look slightly weed-infested.
To generate a diff of this commit:
cvs rdiff -r1.19 -r1.20 src/lib/libpuffs/callcontext.c
cvs rdiff -r1.29 -r1.30 src/lib/libpuffs/dispatcher.c
cvs rdiff -r1.26 -r1.27 src/lib/libpuffs/framebuf.c
cvs rdiff -r1.38 -r1.39 src/lib/libpuffs/puffs.3 \
cvs rdiff -r1.88 -r1.89 src/lib/libpuffs/puffs.c
cvs rdiff -r1.104 -r1.105 src/lib/libpuffs/puffs.h
cvs rdiff -r1.10 -r1.11 src/lib/libpuffs/puffs_cc.3
cvs rdiff -r1.20 -r1.21 src/lib/libpuffs/requests.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Main Index |
Thread Index |