More Adaptec 29320 + Seagate ST336607LW woes
Bruce Evans
bde at zeta.org.au
Sat Dec 6 20:03:42 PST 2003
On Sat, 6 Dec 2003, Nate Lawson wrote:
> On Sat, 6 Dec 2003, Don Lewis wrote:
> >
> > One place where folks have noticed a performance difference between WCE
> > on and WCE off is when using newfs after we got rid of the buffered
> > block devices and forced newfs to use the raw character device. Newfs
> > ...
>
> Great explanation. We should probably add write clustering to newfs at
> some point.
Ugh. We should implement disk devices properly (which requires buffered
block devices), not implement buffering in all applications that might
benefit from using them.
I think fsck would benefit more than newfs from buffering because it
has a similar or more random access pattern (does it?) and it is used
more. The old implementation of buffered block devices was so bad
that nothing except very random accesses benefited much from it, and it
made newfs much slower at least when I tried it 10+ years ago on drives
without tagged queuing (maybe without write caching too). (I stopped
using buffered block devices for newfs after that, but changes in drive
technology may have made buffered devices more useful agin before they
were axed.) The main badnesses in the old implementation were a too-small
non-application-controllable block size of 2K and missing support for
clustering. newfs and fsck are missing the fsync()'s needed to make them
safe to use on buffered devices and regular files, and specfs_fsync()
was buggy.
Bruce
More information about the freebsd-scsi
mailing list