tech-kern archive

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

Re: Raidframe and disk strategy

On Wed, 17 Oct 2012 11:26:12 -0700 (Brian Buhrow) wrote:

> On Oct 17, 12:03pm, Edgar =?iso-8859-1?B?RnXf?= wrote:
> } Subject: Re: Raidframe and disk strategy
> } Two more questions on the subject:
> } 
> } > sets the strategy of raidframe to the default strategy for the
> system, } > rather than fcfs.
> } How does that play with the usual ``fifo 100'' in the ``START
> queue'' section? } 
> } > you can easily test various disk sorting strategies
> } Where can I find a description/discussion of the different
> strategies? } 
> } Probably your patch is the cause for our occasional NFS hangs
> having decreased } from thirty seconds to a few seconds.
> >-- End of excerpt from Edgar =?iso-8859-1?B?RnXf?=
>       In answering your question, I find I have a couple for Greg.
> Depending on his comments to my notes below, you may have a couple of
> knobs you can tweak for performance to the raidframe system to get
> even more efficiency out of the system.
>       It looks like you can select a number of disk queuing
> strategies within raidframe itself, something I didn't realize.
> There seem to be  5 choices: fifo, cvscan, sstf, scan and cscan.
> Fifo is the one we've been using for years, but the others appear to
> be compiled into the system.  Unless my understanding is completely
> wrong, cscan is the algorithm which most closely aligns with the
> priocscan buffer queue strategy and scan  matches the traditional BSD
> disksort buffer queue strategy.  To set a new disk queueing strategy
> for a given raid set, try the following:

See more below about the next 6 steps...

> 1.  If the raid set is configured by  startup scripts at boot time,
> then edit your raid.conf file for that raid set and change the word
> "fifo" in the start queue section to one of the other choices listed
> above.
> 2.  Unconfigure the raid and reconfigure it.
> 3.  If your raid set is configured automatically by the kernel,
> construct a raid.conf file that matches the characteristics of your
> raid set, if you don't already have one, and change the word "fifo"
> in the start queue section to one of the choices listed above.
> 4.  Turn off autoconfigure with raidctl -A no on the indicated raid
> set.
> 5.  Unconfigure and reconfigure the raid set as you did in step 2
> above.
> 6.  Turn on autoconfigure again with raidctl -A yes or raidctl -A root
> depending on whether your raid set is a root filesystem or just a
> raid set On the system.
>       For greg:
> Have you played with any of these disk queueing strategies? 

Not in any meaningful way, and not in years.

> Do you know if they work or, more importantly, if they contain 
> huge disk eating bugs? 

My understanding is that they all work, though, again, I've not done
anything resembling exhaustive testing.

> Have you done any bench marking to compare their relative performance?


The other unfortunate thing is that your 6 steps above won't be
permanent -- the component labels don't have a record of what the
queuing strategy currently is.  We probably need another 'raidctl'
option to set raidPtr->qType to whatever type is desired.... (if you'd
like to write this, you basically need to make sure all IO is quiesced,
do the switch, and then allow IO to happen again.  There is existing
code that does this start/stop, IIRC.)

I'm happy to look over any code additions folks might propose :) 


Greg Oster

Home | Main Index | Thread Index | Old Index