Yes, it appears that it is telling me that deadline is being used by both 
/sys/block/...  and in lsblk-t , but the workaround to the bug in 3.0.34 and 
above is to specify elevator=deadline in the parms.     Why would I need to 
specify it if it already being used according to the queries?    And why did 
SuSE say that there is a known issue with cfq and i/o and that the work around 
is to use elevator=deadline?     Did the default change?  Or perhaps tried to 
change but wasn't changed correctly? 

Marcy 


This message may contain confidential and/or privileged information. If you are 
not the addressee or authorized to receive this for the addressee, you must not 
use, copy, disclose, or take any action based on this message or any 
information herein. If you have received this message in error, please advise 
the sender immediately by reply e-mail and delete this message. Thank you for 
your cooperation.


-----Original Message-----
From: Linux on 390 Port [mailto:LINUX-390@VM.MARIST.EDU] On Behalf Of Sebastian 
Ott
Sent: Wednesday, October 24, 2012 10:32 AM
To: LINUX-390@VM.MARIST.EDU
Subject: Re: [LINUX-390] I/O scheduler on sles 11 sp2 on z

Hi,

On Wed, 24 Oct 2012, Marcy Cortes wrote:
> Hello listers,
>
> We've hit a pretty nasty bug in SLES 11 SP2 kernel at 3.0.34 and higher.   
> Basically the I/O goes crazy - like 4000-6000 i/o per sec - and the server 
> becomes unresponsive.  It's highly creatable by running a WebSphere deploy or 
> starting WMB sw.     SuSE says there is a bug in cfq and the work around for 
> now is to set elevator=deadline in the kernel parameters.  This does seem to 
> mitigate the problem.
>
> It's got me wondering though what is the current recommendation is for z on 
> ECKD DS8700.   This doc 
> http://doc.opensuse.org/products/draft/SLES/SLES-tuning_sd_draft/cha.tuning.io.html
>    says "On IBM System z the default I/O scheduler for a storage device is 
> set by the device driver", but trying to query what it is seems to indicate 
> that everything is deadline already (but it must not be or the parm wouldn't 
> have helped).  Trying to query with  cat /sys/block/dasd*/queue/scheduler 
> comes back always with [deadline] being the default, even if elevator= isn't 
> specified in the parms.   Is there another way to query it?
>
> This IBM presentation seems to indicate that deadline is the default on z 
> (but maybe it's not now as of kernel 3.0.34?)   
> http://people.redhat.com/bhinson/pdfs/BestPractices_IBM.pdf
>
>
> And some older doc seems to indicate that noop is the best choice with 
> intelligent disk subsystems like DS8xxx.
>
> Any insight would be most helpful!

The default IO scheduler for SLES11SP2 on z is deadline (set during compile 
time via CONFIG_DEFAULT_IOSCHED). You can overwrite this at IPL time via the 
elevator= kernel parameter. The DASD driver does not use the default but always 
sets deadline at block device creation time.

To query the IO scheduler per block device read from 
/sys/block/<bdev>/queue/scheduler or with a current userspace via "lsblk -t".

You can change the scheduler per block device at runtime by writing to 
/sys/block/<bdev>/queue/scheduler.

Regards,
Sebastian

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions, send email to 
lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit http://wiki.linuxvm.org/

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to