* aio-stress throughput regressions from 2.6.11 to 2.6.12
@ 2005-07-01 7:56 Suparna Bhattacharya
2005-07-01 14:25 ` Benjamin LaHaise
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Suparna Bhattacharya @ 2005-07-01 7:56 UTC (permalink / raw)
To: linux-aio, linux-fsdevel; +Cc: linux-kernel
Has anyone else noticed major throughput regressions for random
reads/writes with aio-stress in 2.6.12 ?
Or have there been any other FS/IO regressions lately ?
On one test system I see a degradation from around 17+ MB/s to 11MB/s
for random O_DIRECT AIO (aio-stress -o3 testext3/rwfile5) from 2.6.11
to 2.6.12. It doesn't seem filesystem specific. Not good :(
BTW, Chris/Ben, it doesn't look like the changes to aio.c have had an impact
(I copied those back to my 2.6.11 tree and tried the runs with no effect)
So it is something else ...
Ideas/thoughts/observations ?
Regards
Suparna
--
Suparna Bhattacharya (suparna@in.ibm.com)
Linux Technology Center
IBM Software Lab, India
--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to majordomo@kvack.org. For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: aio-stress throughput regressions from 2.6.11 to 2.6.12 2005-07-01 7:56 aio-stress throughput regressions from 2.6.11 to 2.6.12 Suparna Bhattacharya @ 2005-07-01 14:25 ` Benjamin LaHaise 2005-07-06 4:30 ` Suparna Bhattacharya 2005-07-05 14:00 ` Chris Mason 2005-07-11 7:43 ` aio-stress throughput regressions from 2.6.11 to 2.6.12 Sébastien Dugué 2 siblings, 1 reply; 9+ messages in thread From: Benjamin LaHaise @ 2005-07-01 14:25 UTC (permalink / raw) To: Suparna Bhattacharya; +Cc: linux-aio, linux-fsdevel, linux-kernel On Fri, Jul 01, 2005 at 01:26:00PM +0530, Suparna Bhattacharya wrote: > On one test system I see a degradation from around 17+ MB/s to 11MB/s > for random O_DIRECT AIO (aio-stress -o3 testext3/rwfile5) from 2.6.11 > to 2.6.12. It doesn't seem filesystem specific. Not good :( What sort of io subsystem does it have? Also, does changing the elevator make any difference? I'm away for the long weekend, but will help look into this next week. -ben ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: aio-stress throughput regressions from 2.6.11 to 2.6.12 2005-07-01 14:25 ` Benjamin LaHaise @ 2005-07-06 4:30 ` Suparna Bhattacharya 2005-07-08 17:58 ` Benjamin LaHaise 0 siblings, 1 reply; 9+ messages in thread From: Suparna Bhattacharya @ 2005-07-06 4:30 UTC (permalink / raw) To: Benjamin LaHaise; +Cc: linux-aio, linux-fsdevel, linux-kernel On Fri, Jul 01, 2005 at 10:25:55AM -0400, Benjamin LaHaise wrote: > On Fri, Jul 01, 2005 at 01:26:00PM +0530, Suparna Bhattacharya wrote: > > On one test system I see a degradation from around 17+ MB/s to 11MB/s > > for random O_DIRECT AIO (aio-stress -o3 testext3/rwfile5) from 2.6.11 > > to 2.6.12. It doesn't seem filesystem specific. Not good :( > > What sort of io subsystem does it have? Also, does changing the aic7xxx. > elevator make any difference? I'm away for the long weekend, but will I tried switching to the noop elevator - the regression was still there. > help look into this next week. Do you see the regression as well, or is it just me ? Regards Suparna > > -ben -- Suparna Bhattacharya (suparna@in.ibm.com) Linux Technology Center IBM Software Lab, India ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: aio-stress throughput regressions from 2.6.11 to 2.6.12 2005-07-06 4:30 ` Suparna Bhattacharya @ 2005-07-08 17:58 ` Benjamin LaHaise 0 siblings, 0 replies; 9+ messages in thread From: Benjamin LaHaise @ 2005-07-08 17:58 UTC (permalink / raw) To: Suparna Bhattacharya; +Cc: linux-aio, linux-fsdevel, linux-kernel On Wed, Jul 06, 2005 at 10:00:56AM +0530, Suparna Bhattacharya wrote: > Do you see the regression as well, or is it just me ? Throughput for me on an ICH6 SATA system using O_DIRECT seems to remain pretty constant across 2.6.11-something-FC3 to 2.6.13-rc2 around 31MB/s. 2.6.11 proper hangs for me, though. -ben -- "Time is what keeps everything from happening all at once." -- John Wheeler -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: aio-stress throughput regressions from 2.6.11 to 2.6.12 2005-07-01 7:56 aio-stress throughput regressions from 2.6.11 to 2.6.12 Suparna Bhattacharya 2005-07-01 14:25 ` Benjamin LaHaise @ 2005-07-05 14:00 ` Chris Mason 2005-07-05 16:12 ` Benjamin LaHaise 2005-07-06 10:37 ` Suparna Bhattacharya 2005-07-11 7:43 ` aio-stress throughput regressions from 2.6.11 to 2.6.12 Sébastien Dugué 2 siblings, 2 replies; 9+ messages in thread From: Chris Mason @ 2005-07-05 14:00 UTC (permalink / raw) To: suparna; +Cc: linux-aio, linux-fsdevel, linux-kernel On Friday 01 July 2005 03:56, Suparna Bhattacharya wrote: > Has anyone else noticed major throughput regressions for random > reads/writes with aio-stress in 2.6.12 ? > Or have there been any other FS/IO regressions lately ? > > On one test system I see a degradation from around 17+ MB/s to 11MB/s > for random O_DIRECT AIO (aio-stress -o3 testext3/rwfile5) from 2.6.11 > to 2.6.12. It doesn't seem filesystem specific. Not good :( > > BTW, Chris/Ben, it doesn't look like the changes to aio.c have had an > impact (I copied those back to my 2.6.11 tree and tried the runs with no > effect) So it is something else ... > > Ideas/thoughts/observations ? Lets try to narrow it down a bit: aio-stress -o 3 -d 1 will set the depth to 1, (io_submit then wait one request at a time). This doesn't take the aio subsystem out of the picture, but it does make the block layer interaction more or less the same as non-aio benchmarks. If this is slow, I would suspect something in the block layer, and iozone -I -i 2 -w -f testext3/rwfile5 should also show the regression. If it doesn't regress, I would suspect something in the aio core. My first attempts at the context switch reduction patches caused this kind of regression. There was too much latency in sending the events up to userland. Other options: Try different elevators Try O_SYNC aio random writes Try aio random reads Try buffers random reads -chris -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: aio-stress throughput regressions from 2.6.11 to 2.6.12 2005-07-05 14:00 ` Chris Mason @ 2005-07-05 16:12 ` Benjamin LaHaise 2005-07-06 10:37 ` Suparna Bhattacharya 1 sibling, 0 replies; 9+ messages in thread From: Benjamin LaHaise @ 2005-07-05 16:12 UTC (permalink / raw) To: Chris Mason; +Cc: suparna, linux-aio, linux-fsdevel, linux-kernel On Tue, Jul 05, 2005 at 10:00:24AM -0400, Chris Mason wrote: > If it doesn't regress, I would suspect something in the aio core. My first > attempts at the context switch reduction patches caused this kind of > regression. There was too much latency in sending the events up to userland. AIO will by its very nature have a higher rate of context switches unless the subsystem in question does its completion from the interrupt handler. There are a few optimizations in this area that we can do to improve things for some of the common usage models: when sleeping in read_events() we can do iocb runs in the sleeping task instead of switching to the aio helper daemon. That might help for Oracle's usage model of aio, and it should also help aio-stress. There are also other ways of reducing the overhead of the context switches. O_DIRECT operations could take note of the mm they are operating on and do its get_user_pages() on the mm without the tlb being flushed. -ben -- "Time is what keeps everything from happening all at once." -- John Wheeler -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: aio-stress throughput regressions from 2.6.11 to 2.6.12 2005-07-05 14:00 ` Chris Mason 2005-07-05 16:12 ` Benjamin LaHaise @ 2005-07-06 10:37 ` Suparna Bhattacharya 2005-07-06 12:10 ` aio-stress regressions in 2.6.12 narrowed down to AIC7xxx Suparna Bhattacharya 1 sibling, 1 reply; 9+ messages in thread From: Suparna Bhattacharya @ 2005-07-06 10:37 UTC (permalink / raw) To: Chris Mason; +Cc: linux-aio, linux-fsdevel, linux-kernel On Tue, Jul 05, 2005 at 10:00:24AM -0400, Chris Mason wrote: > On Friday 01 July 2005 03:56, Suparna Bhattacharya wrote: > > Has anyone else noticed major throughput regressions for random > > reads/writes with aio-stress in 2.6.12 ? > > Or have there been any other FS/IO regressions lately ? > > > > On one test system I see a degradation from around 17+ MB/s to 11MB/s > > for random O_DIRECT AIO (aio-stress -o3 testext3/rwfile5) from 2.6.11 > > to 2.6.12. It doesn't seem filesystem specific. Not good :( > > > > BTW, Chris/Ben, it doesn't look like the changes to aio.c have had an > > impact (I copied those back to my 2.6.11 tree and tried the runs with no > > effect) So it is something else ... > > > > Ideas/thoughts/observations ? > > Lets try to narrow it down a bit: > > aio-stress -o 3 -d 1 will set the depth to 1, (io_submit then wait one request This doesn't regress - the problem really happens when we don't wait one at a time. > at a time). This doesn't take the aio subsystem out of the picture, but it > does make the block layer interaction more or less the same as non-aio > benchmarks. If this is slow, I would suspect something in the block layer, > and iozone -I -i 2 -w -f testext3/rwfile5 should also show the regression. > > If it doesn't regress, I would suspect something in the aio core. My first > attempts at the context switch reduction patches caused this kind of > regression. There was too much latency in sending the events up to userland. > > Other options: > > Try different elevators Still regresses (I tried noop instead of as) > Try O_SYNC aio random writes > Try aio random reads > Try buffers random reads Again all these end up waiting one at a time with mainline because it forces buffered AIO to be synchronous, so we the regression doesn't show up. But, when I apply my patches to make buffered fsAIO async, so we aren't waiting one at a time -- there is a similar regression. In fact it was this regression that made me go back and check if it was happening with AIO-DIO as well. Regards Suparna > > -chris -- Suparna Bhattacharya (suparna@in.ibm.com) Linux Technology Center IBM Software Lab, India -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: aio-stress regressions in 2.6.12 narrowed down to AIC7xxx 2005-07-06 10:37 ` Suparna Bhattacharya @ 2005-07-06 12:10 ` Suparna Bhattacharya 0 siblings, 0 replies; 9+ messages in thread From: Suparna Bhattacharya @ 2005-07-06 12:10 UTC (permalink / raw) To: Chris Mason; +Cc: linux-aio, linux-fsdevel, linux-kernel, linux-scsi OK, I think I have narrowed it down to aic7xxx driver, because when I specify CONFIG_SCSI_AIC7XXX_OLD, it does not regress. The regression occurs from 2.6.11 to 2.6.12 (from 17MB/s it goes down to 11MB/s) The regression is still there in 2.6.13-rc1 + the "speed fix" patch(discussed in the recent aic7xxx regression thread on linux-scsi) Recreate by running: aio-stress -O -o3 <1 GB testfile> Config options: CONFIG_SCSI_AIC7XXX=y CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIC7XXX_DEBUG_ENABLE=y CONFIG_AIC7XXX_DEBUG_MASK=0 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y Comparing dmesg outputs On 2.6.11 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7896/97 Ultra2 SCSI adapter> aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) Vendor: IBM-ESXS Model: ST318305LC !# Rev: B245 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:0:0: Tagged Queuing enabled. Depth 32 (scsi0:A:1): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) Vendor: IBM-ESXS Model: ST318305LC !# Rev: B245 ... On 2.6.12 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7896/97 Ultra2 SCSI adapter> aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs Vendor: IBM-ESXS Model: ST318305LC !# Rev: B245 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:0:0: Tagged Queuing enabled. Depth 32 target0:0:0: Beginning Domain Validation WIDTH IS 1 (scsi0:A:0): 6.600MB/s transfers (16bit) (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) target0:0:0: Ending Domain Validation Vendor: IBM-ESXS Model: ST318305LC !# Rev: B245 ... On 2.6.13-rc1 + "speed fix" scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7896/97 Ultra2 SCSI adapter> aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs target0:0:0: asynchronous. Vendor: IBM-ESXS Model: ST318305LC !# Rev: B245 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:0:0: Tagged Queuing enabled. Depth 32 target0:0:0: Beginning Domain Validation target0:0:0: wide asynchronous. target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 63) target0:0:0: Ending Domain Validation target0:0:1: asynchronous. Vendor: IBM-ESXS Model: ST318305LC !# Rev: B245 ... Regards Suparna On Wed, Jul 06, 2005 at 04:07:29PM +0530, Suparna Bhattacharya wrote: > On Tue, Jul 05, 2005 at 10:00:24AM -0400, Chris Mason wrote: > > On Friday 01 July 2005 03:56, Suparna Bhattacharya wrote: > > > Has anyone else noticed major throughput regressions for random > > > reads/writes with aio-stress in 2.6.12 ? > > > Or have there been any other FS/IO regressions lately ? > > > > > > On one test system I see a degradation from around 17+ MB/s to 11MB/s > > > for random O_DIRECT AIO (aio-stress -o3 testext3/rwfile5) from 2.6.11 > > > to 2.6.12. It doesn't seem filesystem specific. Not good :( > > > > > > BTW, Chris/Ben, it doesn't look like the changes to aio.c have had an > > > impact (I copied those back to my 2.6.11 tree and tried the runs with no > > > effect) So it is something else ... > > > > > > Ideas/thoughts/observations ? > > > > Lets try to narrow it down a bit: > > > > aio-stress -o 3 -d 1 will set the depth to 1, (io_submit then wait one request > This doesn't regress - the problem really happens when we don't wait one > at a time. > > > at a time). This doesn't take the aio subsystem out of the picture, but it > > does make the block layer interaction more or less the same as non-aio > > benchmarks. If this is slow, I would suspect something in the block layer, > > and iozone -I -i 2 -w -f testext3/rwfile5 should also show the regression. > > > > If it doesn't regress, I would suspect something in the aio core. My first > > attempts at the context switch reduction patches caused this kind of > > regression. There was too much latency in sending the events up to userland. > > > > Other options: > > > > Try different elevators > > Still regresses (I tried noop instead of as) > > > Try O_SYNC aio random writes > > Try aio random reads > > Try buffers random reads > > Again all these end up waiting one at a time with mainline because it > forces buffered AIO to be synchronous, so we the regression doesn't > show up. But, when I apply my patches to make buffered fsAIO async, > so we aren't waiting one at a time -- there is a similar regression. > In fact it was this regression that made me go back and check if it > was happening with AIO-DIO as well. > > Regards > Suparna > > > > > -chris > > -- > Suparna Bhattacharya (suparna@in.ibm.com) > Linux Technology Center > IBM Software Lab, India > > -- > To unsubscribe, send a message with 'unsubscribe linux-aio' in > the body to majordomo@kvack.org. For more info on Linux AIO, > see: http://www.kvack.org/aio/ > Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a> -- Suparna Bhattacharya (suparna@in.ibm.com) Linux Technology Center IBM Software Lab, India ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: aio-stress throughput regressions from 2.6.11 to 2.6.12 2005-07-01 7:56 aio-stress throughput regressions from 2.6.11 to 2.6.12 Suparna Bhattacharya 2005-07-01 14:25 ` Benjamin LaHaise 2005-07-05 14:00 ` Chris Mason @ 2005-07-11 7:43 ` Sébastien Dugué 2 siblings, 0 replies; 9+ messages in thread From: Sébastien Dugué @ 2005-07-11 7:43 UTC (permalink / raw) To: suparna; +Cc: linux-aio, linux-fsdevel, linux-kernel On Fri, 2005-07-01 at 13:26 +0530, Suparna Bhattacharya wrote: > Has anyone else noticed major throughput regressions for random > reads/writes with aio-stress in 2.6.12 ? > Or have there been any other FS/IO regressions lately ? > > On one test system I see a degradation from around 17+ MB/s to 11MB/s > for random O_DIRECT AIO (aio-stress -o3 testext3/rwfile5) from 2.6.11 > to 2.6.12. It doesn't seem filesystem specific. Not good :( > > BTW, Chris/Ben, it doesn't look like the changes to aio.c have had an impact > (I copied those back to my 2.6.11 tree and tried the runs with no effect) > So it is something else ... > > Ideas/thoughts/observations ? > > Regards > Suparna > I'm too seeing a regression, but between 2.6.10 and 2.6.12 and using sysbench + MySQL (with POSIX AIO). The difference is roughly 8% slower for 2.6.12. I'm currently trying to trace it. aio-stress shows no difference so it probably does not come from kernel AIO. Sébastien. -- ------------------------------------------------------ Sébastien Dugué BULL/FREC:B1-247 phone: (+33) 476 29 77 70 Bullcom: 229-7770 mailto:sebastien.dugue@bull.net Linux POSIX AIO: http://www.bullopensource.org/posix ------------------------------------------------------ -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a> ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2005-07-11 7:43 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-07-01 7:56 aio-stress throughput regressions from 2.6.11 to 2.6.12 Suparna Bhattacharya 2005-07-01 14:25 ` Benjamin LaHaise 2005-07-06 4:30 ` Suparna Bhattacharya 2005-07-08 17:58 ` Benjamin LaHaise 2005-07-05 14:00 ` Chris Mason 2005-07-05 16:12 ` Benjamin LaHaise 2005-07-06 10:37 ` Suparna Bhattacharya 2005-07-06 12:10 ` aio-stress regressions in 2.6.12 narrowed down to AIC7xxx Suparna Bhattacharya 2005-07-11 7:43 ` aio-stress throughput regressions from 2.6.11 to 2.6.12 Sébastien Dugué
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).