Bug 506511
Summary: | performance regression running Iozone with different I/O options on RHEL54 kernels | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Tom Tracy <ttracy> | ||||||
Component: | kernel | Assignee: | Josef Bacik <jbacik> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Red Hat Kernel QE team <kernel-qe> | ||||||
Severity: | high | Docs Contact: | |||||||
Priority: | high | ||||||||
Version: | 5.4 | CC: | bmarson, dshaks, dzickus, esandeen, jtluka, lmcilroy, rwheeler, syeghiay, tatsu-ab1 | ||||||
Target Milestone: | rc | Keywords: | Regression | ||||||
Target Release: | --- | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2009-09-02 08:24:56 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Tom Tracy
2009-06-17 15:23:41 UTC
try -136 and -137 and see what the difference is. If no difference on 136 vs 137 can you guys do a binary chop on released kernels between 128 and 152 to see where the regression was? In an attempt to reduce potential scheduler LCPU hopping issues, this version of the test binds the iozone process to LCPU 0. This was done also due to issues with the the iozone runs for RHEL4.8. The above results are for an Intel based system but we see issues with AMD as well. I'll let ttracy add the AMD based information Barry Links provided above, are for both Intel and AMD. What I am going to test the incache portion of iozone. This test show the following regression with these fields. I will test both the 136/137 kernels. AMD TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1029 292 752 1624 1751 1624 673 1546 1472 1676 288 731 1564 1701 2 ALL 976 274 728 1593 1596 1541 635 1495 1331 1623 270 706 1531 1556 ALL -5.2 -6.3 . . -8.8 -5.1 -5.6 . -9.5 . -6.1 . . -8.5 Intel TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1625 478 923 2954 3155 2746 762 2609 2327 2810 464 924 2830 3085 2 ALL 1603 475 932 2964 2920 2697 750 2635 2267 2827 462 925 2848 2878 ALL . . . . -7.4 . . . . . . . . -6.7 Incache testing shows no regression with 135 kernel. Having a hard time finding the 136 kernel so in the mean time, testing the 137 kernel. IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log FILE 2: results_rhel53U3_2.6.18-135.el5_perf4_4GB_taskset_cpu0_incache/analysis/iozone_incache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1625 478 923 2954 3155 2746 762 2609 2327 2810 464 924 2830 3085 2 ALL 1621 475 926 2897 3140 2738 769 2603 2305 2832 461 926 2824 3104 ALL . . . . . . . . . . . . . . Ok, I found the regression in the 137 kernel. Still can not seem to find the 136 kernel. These results are in line with the 152 kernel. This was found in the Intel platform and will confirm it on the AMD platform IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log FILE 2: results_rhel53U3_2.6.18-137.el5_perf4_4GB_taskset_cpu0_incache/analysis/iozone_incache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1625 478 923 2954 3155 2746 762 2609 2327 2810 464 924 2830 3085 2 ALL 1591 478 924 2911 2861 2695 751 2612 2236 2810 457 921 2835 2858 ALL . . . . -9.3 . . . . . . . . -7.3 sigh, thats what I was afraid of. Its strange that the regression is on the read side since my patches didn't actually touch the read side. Can I get the login for this box and the instructions on how to reproduce so I can start going through and figuring out which patch introduced the regression? Thanks. Josef Let me finish this test then I will hand over the keys. Incache tests shows the regression easily but it is not the only regression in the test suite. Another test which shows this behavior is the outcache portion of iozone. re write and FreWrite also shows this behavior with outcache test. I will send you mail when this test is complete and send you the information needed Tom IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log FILE 2: results_rhel5U4_2.6.18-152.el5_perf4_4GB_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 313 337 343 525 499 83 34 273 3344 119 286 337 560 559 2 ALL 304 330 316 510 490 83 34 276 3219 121 285 292 548 523 ALL . . -7.7 . . . . . . . . -13.3 . -6.4 bugger, well write is more where i would expect the problem to happen, glad to see something makes sense at least. Tom, Be careful on the out of cache test. Remember the first file size is half of memory. If the full analysis shows only that the half of memory file size regressed then you can ignore it. Barry Test AMD with the full suite of tests on both RHEL53 and RHEL54 152 kernel. Do not see the regression I am seeing now on the Intel box. Issue found was irqbalance was on. When turned off, there are actual performance gains depending on the type of tests. Analysis can be found on the link below. Still need to investigate Intel's system to find root cause of regression. http://perf1.lab.bos.redhat.com/perf7/bench_results/rhel5/U4/RHTS_iozone/?C=M;O=D http://perf1.lab.bos.redhat.com/perf7/bench_results/rhel5/U4/RHTS_iozone/rhel53_rhel54_irqbalance_off_iozone_full_analysis.log Rerun full set of tests on both AMD and Intel running the 155 kernel and the reread/freread issue still exists. This was been an issue since the 137 kernel. I tried all sorts of variables to see if the issue goes away on Intel box but nothing worked. I will send Josef the keys to the machines he requested. Full analysis is located here http://perf1/perf7/bench_results/rhel5/U4/RHTS_iozone/results_ext3_perf7_rhel54_2.6.18-155.el5_full_analysis [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 169 79 78 90 93 86 73 95 65 89 300 723 1474 1599 2 ALL 172 79 80 96 101 87 74 97 66 90 308 750 1483 1468 ALL . . +2.4 +6.1 +8.0 . . . . . +2.7 +3.8 . -8.2 [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 442 58 83 1552 1731 1591 63 1495 613 1635 56 82 1553 1697 2 ALL 440 60 87 1579 1600 1543 65 1496 584 1637 58 85 1578 1569 ALL . +2.4 +4.1 . -7.5 . +2.3 . . . +2.9 +3.6 . -7.5 [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 185 174 169 254 247 75 33 192 1624 108 156 172 261 263 2 ALL 189 188 185 246 242 76 37 193 1597 104 166 179 265 258 ALL +2.3 +8.2 +9.8 . . . +13.0 . . . +6.5 +3.9 . . [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1029 292 752 1624 1751 1624 673 1546 1472 1676 288 731 1564 1701 2 ALL 1012 290 779 1660 1616 1556 666 1533 1400 1642 285 750 1570 1563 ALL . . +3.6 +2.2 -7.7 . . . . . . +2.6 . -8.1 [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-155.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ =====---------------------------------------------------------------------------------- 1 ALL 1276 592 917 1259 1315 1279 851 1273 4937 1457 2 ALL 1276 586 905 1259 1317 1273 842 1287 4995 1483 ALL . . . . . . . . . . Ok, just to make sure I'm doing this right, with ./runtest -i i should be comparing those results against the 1'st row in c6 right? If thats the case then fantastic, I've reproduced the regression. IOZONE ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE RUN TYPE IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ ------------------------------------------------------------------------------------------------------------------- In Cache 1590 481 921 2888 2870 2683 747 2586 2269 2797 464 926 2807 2843 Josef You need to analyize your results comparing your kernel to the 128 kernel. After the run is complete, do the following. If you want to keep your results of the result, rename the results directory to something you can recognize Below compares your kernel to the 128 kernel. Note the regression is still there ./analysis-iozone.pl -a results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0_incache_1/analysis/iozone_incache_default_analysis+rawdata.log results/analysis/iozone_incache_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0_incache_1/analysis/iozone_incache_default_analysis+rawdata.log FILE 2: results/analysis/iozone_incache_default_analysis+rawdata.log Tom TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1629 489 922 2944 3144 2743 762 2600 2339 2818 471 927 2830 3075 2 ALL 1590 481 921 2888 2870 2683 747 2586 2269 2797 464 926 2807 2843 ALL . . . . -8.7 . . . . . . . . -7.5 Ok tested the -136 kernel, no regression. I'm starting a git bisect now, there are only 25 patches to test, so it should take 4-5 runs to narrow down which patch introduced the regression. ok found the problem, i'm testing a patch to make sure it fixes the problem. hopefully i will be able to send this to rhkernel list this afternoon. Created attachment 349997 [details]
patch to fix the problem
Ok here's a patch to fix the problem. We weren't marking the page as accessed when writing to it, so we'd flush it out of pagecache too soon, so when we go back to read the page we'd have to read it from disk, which is obviously slower. With this patch we mark the page as accessed so it doesn't get flushed out too soon so when we re-read the pages we've written to we are good. With this patch applied, the test ran with no regressions
FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE
FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ
=====--------------------------------------------------------------------------------------------------------------
1 ALL 1629 489 922 2944 3144 2743 762 2600 2339 2818 471 927 2830 3075
2 ALL 1624 486 911 2958 3162 2752 752 2621 2235 2829 472 912 2852 3135
ALL . . . . . . . . . . . . . .
Josef This is good news. I am starting a complete iozone tests on the box now which will run overnight. Would like to confirm this patch. Is there a way to get an kernel built so I can test it on AMD box thanks Tom yeah i put something through brew tomorrow. Did a complete set of runs last night and now I see regression with the following tests. Really only concerned with the outcache results since that shows the largest regression with theFreWrite. Will test AMD box once I get the new kernel Fsync RECreWrite -5.1% FreWrite -5.0% OutCache ReWrite -7.1% FReWrite -13.7% DirectIO Initial Write -5.1%. Summary analysis http://perf1/perf4/bench_results/rhel5/U4/RHTS_iozone/analysis_results_2.6.18.4_josef_kernel Full analysis http://perf1/perf4/bench_results/rhel5/U4/RHTS_iozone/full_analysis_results_2.6.18.4_josef_kernel here is the brew build http://brewweb.devel.redhat.com/brew/taskinfo?taskID=1870132 No regression found on AMD system running full suite of tests. Going to double check Intel over the holiday. Only concern is the outcache results which is why I will rerun. Results for AMD [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_directio_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_directio_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 169 79 78 90 93 86 73 95 65 89 300 723 1474 1599 2 ALL 173 80 80 94 100 87 74 97 65 90 319 732 1474 1567 ALL . . +2.7 +3.9 +7.5 . . . . . +6.3 . . . [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache+mmap_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache+mmap_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ =====---------------------------------------------------------------------------------- 1 ALL 1276 592 917 1259 1315 1279 851 1273 4937 1457 2 ALL 1274 579 898 1255 1302 1274 837 1303 5042 1481 ALL . . . . . . . +2.3 +2.1 . [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1029 292 752 1624 1751 1624 673 1546 1472 1676 288 731 1564 1701 2 ALL 1021 297 764 1641 1729 1558 669 1503 1405 1622 294 742 1569 1672 ALL . . . . . . . . . . +2.1 . . . [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache+fsync_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache+fsync_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 442 58 83 1552 1731 1591 63 1495 613 1635 56 82 1553 1697 2 ALL 446 61 88 1538 1686 1540 66 1457 613 1623 58 87 1560 1677 ALL . +3.7 +5.4 . . . +4.6 . . . +4.3 +6.3 . . [root@perf7 iozone]# ./analysis-iozone.pl -a results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache+mmap_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_ext3_perf7_rhel53_2.6.18-128.el5_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log FILE 2: results_ext3_perf7_rhel54_2.6.18-156.el5/analysis/iozone_incache+mmap_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ =====---------------------------------------------------------------------------------- 1 ALL 1276 592 917 1259 1315 1279 851 1273 4937 1457 2 ALL 1274 579 898 1255 1302 1274 837 1303 5042 1481 ALL . . . . . . . +2.3 +2.1 . Ok, reruns over the weekends confirms Josef's change fixes the regression. Will this change be in time for RHEL54 release [root@perf4 iozone]# ./analysis-iozone.pl -a results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log results_josef_2.6.18.4_repeat/analysis/iozone_directio_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_directio_default_analysis+rawdata.log FILE 2: results_josef_2.6.18.4_repeat/analysis/iozone_directio_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 337 154 149 223 246 188 123 211 109 198 549 1044 2973 3175 2 ALL 341 152 152 223 242 183 129 210 131 195 529 1032 2994 3178 ALL . . +2.1 . . . +5.2 . +20.4 . . . . . [root@perf4 iozone]# ./analysis-iozone.pl -a results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log results_josef_2.6.18.4_repeat/analysis/iozone_incache+fsync_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache+fsync_default_analysis+rawdata.log FILE 2: results_josef_2.6.18.4_repeat/analysis/iozone_incache+fsync_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 832 129 189 2645 3069 2666 134 2481 985 2746 121 186 2794 3030 2 ALL 832 129 190 2712 3076 2649 131 2501 1009 2743 117 184 2783 3064 ALL . . . +2.5 . . . . +2.4 . . . . . [root@perf4 iozone]# ./analysis-iozone.pl -a results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log results_josef_2.6.18.4_repeat/analysis/iozone_outcache_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_outcache_default_analysis+rawdata.log FILE 2: results_josef_2.6.18.4_repeat/analysis/iozone_outcache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 313 337 343 525 499 83 34 273 3344 119 286 337 560 559 2 ALL 310 330 333 526 508 83 34 274 3276 124 280 309 545 554 ALL . . . . . . +2.3 . . +4.3 . -8.4 . . [root@perf4 iozone]# ./analysis-iozone.pl -a results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log results_josef_2.6.18.4_repeat/analysis/iozone_incache_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache_default_analysis+rawdata.log FILE 2: results_josef_2.6.18.4_repeat/analysis/iozone_incache_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE F FRE F FRE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ WRITE WRITE READ READ =====-------------------------------------------------------------------------------------------------------------- 1 ALL 1625 478 923 2954 3155 2746 762 2609 2327 2810 464 924 2830 3085 2 ALL 1609 464 907 2942 3174 2733 753 2609 2243 2818 453 912 2833 3097 ALL . . . . . . . . . . . . . . [root@perf4 iozone]# ./analysis-iozone.pl -a results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log results_josef_2.6.18.4_repeat/analysis/iozone_incache+mmap_default_analysis+rawdata.log IOZONE Analysis tool V1.4 FILE 1: results_rhel53U3_2.6.18-128.el5_perf4_4GB_taskset_cpu0/analysis/iozone_incache+mmap_default_analysis+rawdata.log FILE 2: results_josef_2.6.18.4_repeat/analysis/iozone_incache+mmap_default_analysis+rawdata.log TABLE: SUMMARY of ALL FILE and RECORD SIZES Results in MB/sec FILE & REC ALL INIT RE RE RANDOM RANDOM BACKWD RECRE STRIDE FILE SIZES (KB) IOS WRITE WRITE READ READ READ WRITE READ WRITE READ =====---------------------------------------------------------------------------------- 1 ALL 1924 904 998 2173 2298 2171 852 2134 7833 2591 2 ALL 1919 905 1000 2162 2249 2171 856 2126 7834 2596 ALL . . . . . . . . . . This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. Adding issue 316510. in kernel-2.6.18-158.el5 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. Well thats not helpful at all. What are these numbers for? Reads? Writes? Re-reads? Going to have to provide more information than a table of numbers. Installed the 158 kernel and running iozone on both Intel/AMD. Will take 2 days to complete. Josef, what do you mean by the comment above? Iozone results? It was in re c31. Testing 158 kernel with Iozone on Intel shows none of the regression characteristics we were seeing in previous rhe54 kernels. Outcache results do show slight regression with rewrite and frewrite but this is completely different than previous test results. Amd iozone testing has been started You see see the full results at the following http://perf1.lab.bos.redhat.com/perf4/bench_results/rhel5/U4/RHTS_iozone/analysis_results_2.6.18.158_kernel No regressions running Iozone on AMD. In fact, performance gains in Reread running DirectIo of 10%. F-Writes also experience performance gains averaging 5% gains on all tests. Full results can be located in the link below http://perf1.lab.bos.redhat.com/perf7/bench_results/rhel5/U4/RHTS_iozone/full_analysis_rhel53_128kernel_rhel54_158_kernel Patch is in -158.el5. Adding SanityOnly. Event posted on 07-21-2009 08:17pm JST by mfuruta Tatsukawa-san, Sorry for delayed response, but could you please elaborate your concern about this as you would mention as below? ---- since it seems that BZ#506511 is different from this issue, could you open a separate bug to track this issue? ---- Thanks in advance, Regards, Masaki Furuta Internal Status set to 'Waiting on Customer' Status set to: Waiting on Client This event sent from IssueTracker by mfuruta issue 316510 Event posted on 07-16-2009 07:07am JST by tatsu.nec.com
> Well thats not helpful at all. What are these numbers for? Reads?
Writes? Re-reads? Going to have to provide more information than a table
of numbers.
These are write performance. Below is from IssueTracker comment.
Summary: File write performance degradation in RHEL5.4 Snapshot1 compared
to RHEL5.3 GA
...
1. Install RHEL5.4 GA Snapshot1.
2. Boot RHEL5.4.
3. Execute iozone and measure the performance by following procedure.
3.1) Extract iozone contents in some directory (for example /home)
ex) # cd /home
# tar zxf iozone*.tar.gz
3.2) Change the directory as follows, and make.
# cd iozone*/src/current
# make linux (case of i386)
3.3) Prepare about 4G of space partition, make an optional partition and
mount.
ex) # mkdir -p /mnt/disk1
# mount /dev/sdb1 /mnt/disk1
3.4) Input to command line as follows, and execute.
# ./iozone -+n -Q -i 0 -i 1 -s 1024m -r 1 -r 2 -r 4 -r 8 -r 16 -r 32
-r 64 -f /mnt/disk1/testfile
4. The result of write and read performance is collected.
5. Install RHEL5.3 GA.
6. Boot RHEL5.3.
7. Execute iozone and measured result like Step 3.
This event sent from IssueTracker by mfuruta
issue 316510
I'm sending summary information from Issue 316510. Sorry for the rather long comment. + Write results from iozone shows large performance drop from RHEL5.3 to RHEL5.4 beta when writing 1GB files with iozone, especially with large record size (measured on server with 16GB memory). ./iozone -+n -Q -i 0 -i 1 -s 1024m -r 1 -r 2 -r 4 -r 8 -r 16 -r 32 -r 64 -f /mnt/disk1/testfile The patch which fixes BZ#506511 does not seem to resolve this issue. Also, the performance degradation seems to be introduced between 136.el5PAE and 138.el5PAE (The binary packages for these two kernels happened to be available when we tried analyzing the problem after beta release). [write result (MB/s)] record size 1kB 2kB 4kB 8kB 16kB 32kB 64kB 128.el5PAE 177.52 300.21 518.14 694.12 825.29 930.80 1002.65 136.el5PAE 168.83 287.14 520.10 695.58 829.76 931.53 1003.23 138.el5PAE 158.69 268.08 384.04 463.74 531.64 576.59 602.55 156.el5PAE 165.51 263.13 374.06 454.43 526.04 574.00 601.36 (-7%) (-12%) (-28%) (-34%) (-36%) (-38%) (-40%) 158.el5PAE 152.60 266.89 380.05 457.33 527.84 573.06 598.81 (-14%) (-11%) (-27%) (-34%) (-36%) (-38%) (-40%) A large number of mm and fs changes were introduced between 136 and 138, so we think that one of the patches might have caused this performance drop (we are guessing linux-2.6-mm-fix-pagecache-write-deadlocks.patch, but it is accompanied by linux-2.6-mm-introduce-new-aops-write_begin-and-write_end.patch which is said to avoid the performance drop from this patch). + Below is the write and rewrite result from iozone (taken from "-a" output), measured with fixed record size of 64k and varying the file size from 1GB to 8GB (on a server with 4GB memory). [write performance] [rewrite performance] 128.el5PAE 156.el5PAE 128.el5PAE 156.el5PAE 1GB 1072293 628430 1557671 1532492 2GB 196562 186001 207761 206808 4GB 58794 57962 64604 63951 8GB 42273 41823 47480 48117 It seems that writes to disk have almost the same performance between RHEL5.3 and RHEL5.4 beta. Also from the rewrite result, writes to existing page cache have not slowed down. If either the page cache gets written back to disk, or reused when containing hot data, the performance should be similar between RHEL5.3 and RHEL5.4 beta. So performance seems to drop only for writes to cold page cache. If such case is unlikey for customer's real workloads, then this problem may not have real customer impact. However we think that small benchmark problems might be affected by this. Ok, so cold-cache performance has dropped. This is not something that is blocker worthy, so create a new bugzilla for this issue and make sure I'm assigned to the new BZ and we'll set it for 5.5 and I'll start looking into it. Please test this on x86_64 to make sure this isn't arch specific. I need to know this to help narrow down where to look for the problem. Thanks. I will shortly have iozone data from a system in RHTS that's testing the -158 kernel and also has collected data for RHEL5.3 run. Preliminary analysis is not showing a problem with initial writes, but the data point tests large record sizes too. Once I do the full analysis, I will be able to determine if we have recreated this. Barry > Ok, so cold-cache performance has dropped. This is not something that is > blocker worthy, so create a new bugzilla for this issue and make sure I'm > assigned to the new BZ and we'll set it for 5.5 and I'll start looking into it. > Please test this on x86_64 to make sure this isn't arch specific. I need to > know this to help narrow down where to look for the problem. Thanks. BZ#513136 is opened for this issue now. It's currently assigned to kernel-mgr Performance on x86_64 also drops, but shows better results compared to i386 [iozone write result for 1GB file with 64kB record size] -128 -156 i386 1002.65 601.36 (-40%) x86_64 1115.91 935.55 (-16%) Can you verify that your testing the with the 158 kernel which has the patch to this bugzilla. We have tested this kernel extensively and do not see the regression you are seeing. The 156 kernel does not have the patch to this bugzilla or is it a typo > Can you verify that your testing the with the 158 kernel which has the patch to > this bugzilla. We have tested this kernel extensively and do not see the > regression you are seeing. The 156 kernel does not have the patch to this > bugzilla or is it a typo Please see Comment #40 and #43. It's a different problem from this bug, and the discussion is going on in bug #513136 now (except for the replies to the comments here). 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. http://rhn.redhat.com/errata/RHSA-2009-1243.html |