tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: posix message queues and multiple receivers



On Sat, Dec 07, 2013 at 12:02:02AM +0000, David Laight wrote:
 > I believe that the disk driver on the server selected the disk transfers
 > using the 'elevator' algorithm. Since the writes were for more or less
 > sequential sectors, as soon as they got out of sequence one of the write
 > requests would have to wait until all the others completed.

(1) this is a bug (nfs should be taking steps to preserve
sequentiality), and (2) elevator is really not a very good disksort
algorithm to begin with.

However, I'll bet a significant part of the problem is/was using
threads in place of queuing I/O requests asynchronously. If you have a
lot of I/O coming in like that and you want things to behave well,
it's important that the requests queue up where scheduling logic
(disksort or others) can see them, rather than piling up on locks
inside the nfs code.

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index