Red Hat Bugzilla – Bug 484158
FEAT: feature request. disable iostat collection in gendisk
Last modified: 2010-11-10 06:11:53 EST
Description of problem:
RHEL 5.3 have partition io stats enabled in the kernel (as seen in iostats -x) and caused performance regression in OLTP workload.
Version-Release number of selected component (if applicable):
Test with OLTP workload (TPC-C) in Quad-core Xeon DP system. ~ 1% performance regression.
Steps to Reproduce:
Run OLTP workload in RHEL5.2 (TPC-C) and collect profile. run 5.3 with same workload. 1.3% cycles was attributed to get_partstat()
Feature request. please backport 2.6-git iostat enable/disable queue knob to EL 5.4. this expose a sysfs block device switch(/sys/block/sd<xx>/queue/iostat) that disable iostat collection in kernel.
Author: Jens Axboe <firstname.lastname@example.org>
Date: Fri Jan 23 10:54:44 2009 +0100
block: add sysfs file for controlling io stats accounting
This allows us to turn off disk stat accounting completely, for the cases
where the 0.5-1% reduction in system time is important.
Signed-off-by: Jens Axboe <email@example.com>
Created attachment 332619 [details]
control iostat with sysfs file
RHEL 5.3 has 1.5% OLTP performance regression compare to RHEL5.2. We back-ported Jens Axboe's iostat control patch to RHEL5.2. When iostats was disable using sysfs file, we recovered 1.2% of the regression.
we are looking into getting this patch into 5.4. fyi..
The patch "block: fix oops in blk_queue_io_stat()" (git# fb8ec18c316d869271137c97320dbfd2def56569) has to be backported too in order to avoid NULL pointer dereferencing.
Upstream patch is buggy. It doesn't turn off accounting completely and that may leave io stats in an inconsistent state. I'm working on its correction.
You can download this test kernel from http://people.redhat.com/dzickus/el5
Please do NOT transition this bugzilla state to VERIFIED until our QE team
has sent specific instructions indicating when to do so. However feel free
to provide a comment indicating that this fix has been verified.
~~ Attention - RHEL 5.4 Beta Released! ~~
RHEL 5.4 Beta has been released! There should be a fix present in the Beta release that addresses this particular request. Please test and report back results here, at your earliest convenience. RHEL 5.4 General Availability release is just around the corner!
If you encounter any issues while testing Beta, please describe the issues you have encountered and set the bug into NEED_INFO. If you encounter new issues, please clone this bug to open a new issue and request it be reviewed for inclusion in RHEL 5.4 or a later update, if it is not of urgent severity.
Please do not flip the bug status to VERIFIED. Only post your verification results, and if available, update Verified field with the appropriate value.
Questions can be posted to this bug or your customer or partner representative.
I have verified that RHEL 5.4 beta (2.6.18-155.el5
) has iostat disabling option avaliable under /sys/block/<device>/queue/iostats. Tested with OLTP workload on a Nehalem 2 sockets server with 16 logical CPUs. We saw ~4% increase in performance when iostats is disabled (changed from 1 to 0 ) . This made RHEL 5.4 OLTP peroformance on par with RHEL 5.2.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.