Source-Changes archive

[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

Modified Files:
        src/lib/libpuffs: callcontext.c dispatcher.c framebuf.c puffs.3 puffs.c
            puffs.h puffs_cc.3 puffs_priv.h requests.c

Log Message:
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.
psshfs).

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 \
    src/lib/libpuffs/puffs_priv.h
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.




Home | Main Index | Thread Index | Old Index