Subject: Re: UVM/other problems for desktop users in current?
To: None <current-users@netbsd.org>
From: Steven M. Bellovin <smb@research.att.com>
List: current-users
Date: 12/18/2002 09:36:35
For what it's worth, I'm *extremely* unhappy with the disk buffering
strategy on NetBSD. Last night, I was dumping my laptop's (1.6) disk
to a drive on my desktop. The desktop (-current, 1.6K) was completely
unusable during that time -- the disk was so busy that the machine
seemed to be unable to page in Mozilla. All the desktop was running
for this backup was 'cat', which isn't that bloated (yet...). It was
writing to one file, so it's not a vnode cache issue.
I'm running with default vm.* sysctls, and softdep on. Here's the
drive info:
# atactl wd0 identify
Model: IBM-DTLA-307075, Rev: TXAOA50C, Serial #: YSDYSFL9921
Device type: ATA, fixed
Cylinders: 16383, heads: 16, sec/track: 63, total sectors: 150136560
Device supports command queue depth of 15
Device capabilities:
ATA standby timer values
IORDY operation
IORDY disabling
Device supports following standards:
ATA-2 ATA-3 ATA-4
Command set support:
NOP command
READ BUFFER command
WRITE BUFFER command
Host Protected Area feature set
release interrupt
look-ahead
write cache
Power Management feature set
Security Mode feature set
SMART feature set
Advanced Power Management feature set
READ/WRITE DMA QUEUED commands
Command sets/features enabled:
look-ahead
write cache
The CPU is a ~750 Mhz Athlon with a VIA chipset and 256M of RAM. And
I'm extremely unhappy with interactive performance these days. (It was
embarrassing, too -- I was trying to order something on the Web for my
son last night, and I had to suspend the backup process to do so. He's
always hearing from me how much better Unix is than Windows at
timesharing...)
Now -- going back 25 years, Unix has never been at its best in the face
of a heavy I/O load, because of the lack of a priority feedback scheme
in the disk scheduler. A process that uses too much CPU is penalized
relative to other processes; the same is not true of I/O. Even if it
were, that wouldn't necessarily help, because stuff is being thrown out
of the buffer cache far too rapidly, causing a lot of unnecessary I/O
bring things back in.
--Steve Bellovin, http://www.research.att.com/~smb (me)
http://www.wilyhacker.com (2nd edition of "Firewalls" book)