Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!usc!acsc.com!acsc.com!jerry From: jerry@acsc.com (Jerry Chen) Newsgroups: comp.os.386bsd.development Subject: Has anybody tried to add B_ORDER in UFS and disk device driver? Date: 18 Oct 1993 22:21:41 GMT Organization: Advanced Computing Systems Company Lines: 21 Distribution: world Message-ID: <29v4tl$9er@acsc.com> NNTP-Posting-Host: cpuserver.acsc.com The paper by Larry McVoy and Steve Kleiman "Extent-like Performance from a UNXI File System", USENIX winter '91 mentions that if we add a flag B_ORDER in the buf struct and the disk device driver does not reorder the bufs upon seeing this flag, then we do not have to always write synchronously in certain directory operations. That is, if we always put the read/write request at the end of the request queue in the disk device driver when we see this flag (which can be part of the b_flags in buf struct) turned on, then, we do not have to have so many bwrite() in UFS. This should improve the performance for commands like 'rm *'. In terms of the implementation, we only need to modify the c code in such routines as wddisksort() and disksort() before changing bwrite() to bawrite(B_ORDER) in UFS. This seems a good idea to me. Has anybody implemented this? What is the difference in terms of the performance? Of course, I realize that every disk driver must support this feature before we can change the code in UFS. Jerry JyhRen Chen