Vladislav Bolkhovitin, on 04/02/2009 11:38 AM wrote: > James Bottomley, on 04/02/2009 12:23 AM wrote: >> On Wed, 2009-04-01 at 08:20 -0400, Ross Walker wrote: >>> On Apr 1, 2009, at 2:29 AM, Bart Van Assche <bart.vanassche at gmail.com> >>> wrote: >>> >>>> On Tue, Mar 31, 2009 at 8:43 PM, Ross S. W. Walker >>>> <RWalker at medallion.com> wrote: >>>>> IET just needs to fix how it does it workload with CFQ which >>>>> somehow SCST has overcome. Of course SCST tweaks the Linux kernel to >>>>> gain some extra speed. >>>> I'm not familiar with the implementation details of CFQ, but I know >>>> that one of the changes between SCST 1.0.0 and SCST 1.0.1 is that the >>>> default number of kernel threads of the scst_vdisk kernel module has >>>> been increased to 5. Could this explain the performance difference >>>> between SCST and IET for FILEIO and BLOCKIO ? >>> Thank for the update. IET has used 8 threads per target for ages now, >>> I don't think it is that. >>> >>> It may be how the I/O threads are forked in SCST that causes them to >>> be in the same I/O context with each other. >>> >>> I'm pretty sure implementing a version of the patch that was used for >>> the dump command (found on the LKML) will fix this. >>> >>> But thanks goes to Vlad for pointing this dificiency out so we can fix >>> it to help make IET even better. >> SCST explicitly fiddles with the io context to get this to happen. It >> has a hack to block to export alloc_io_context: >> >> http://marc.info/?t=122893564800003 > > Correct, although I wouldn't call it "fiddle", rather "grouping" ;) > > But that's not the only reason for good performance. Particularly, it > can't explain Bart's tmpfs results from the previous message, where the > majority of I/O done to/from RAM without any I/O scheduler involved. (Or > does I/O scheduler also involved with tmpfs?) Bart has 4GB RAM, if I > remember correctly, i.e. the test data set was 25% of RAM. To remove any suspicions that I'm playing dirty games here I should note that in many cases I can't say what exactly is responsible for good SCST performance. I can say only something like "good design and implementation", but, I guess, it wouldn't be counted too much. SCST/iSCSI-SCST from the very beginning were designed and made with the best performance in mind and that has brought the result. Sorry, but at the moment I can't afford doing any "why it's so good?" kinds of investigations, because I have a lot more important things to do, like SCST procfs -> sysfs interface conversion. Thanks, Vlad -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html |