CVSROOT: /cvs Module name: src Changes by: b...@cvs.openbsd.org 2012/10/09 09:36:50
Modified files: sys/kern : kern_bufq.c sys/sys : buf.h Log message: Add nscan as a disk queueing algorithm, and make it the default with n = 128. Nscan is essentially, the disksort() style elevator algorithm for ordering disk io operations. The difference is that we will re-order in chunks of 128 operations before continuing with the rest of the work. This avoids the problem that the basic SCAN (aka elevator algorithm) has where continued inserts can cause starvation, where requests can sit for a long time. This solves problems where usb sticks could be unusable while long sequential writes happened, and systems would become unresponsive while dumping core. hacked upon (and this version largely rewritten by) tedu and myself. Note, can be "backed out" by changing BUFQ_DEFAULT back to disksort in buf.h ok kettenis@, tedu@, krw@