Re: sd incorrectly reports write cache disabled on cache-capable drives/controllers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Friday 25 January 2008 22:33:21 James Bottomley wrote:
> I don't think it would be correct to assume that there actually is a
> problem.  Most RAID controllers habitually lie about having a cache in
> their INQUIRY strings because they don't want to deal with the kernel
> sending SYNCHRONIZE_CACHE commands down.

I just tested this with two various Linux-distributions to verify that that 
the problem is in the inquiry and is not performance related. Unfortunately 
it turns out there's a rather huge performance difference.

When testing this with CentOS, I not only got the "correct" report from the 
kernel that write cache enabled (and no warnings about things being 
disabled), and also saw a three times increase in write performance when 
testing with dd.

The tests, which are far from scientific, I used the following command:
Read test: dd if=/dev/sda of=/dev/zero bs=64k count=10000
Write test: dd if=/dev/zero of/tmp/outfile bs=64k count=10000

CentOS results:
dd READ test 1st run: 64.9MB/s
dd READ test consecutive runs: 2.2 GB/s
dd WRITE test 1st run: 304 MB/s
dd WRITE test consecute runs: 329 MB/s

Other distributions, identical kernel config & initrd setup:
dd READ test 1st run: 65,2MB/s
dd READ test consecutive runs: 3.1 GB/s
dd WRITE test 1st run: 129 MB/s
dd WRITE test consecute runs: 98 MB/s

So to conclude, what I would like to figure out is what LSI Logic / RedHat is 
doing to get such a dramatic increase in Write performance and if that is in 
any way associated with their system reporting that the write cache is 
actually enabled.

Furthermore, I'm highly puzzled to see that the non-RedHat kernels are 
actually faster than RedHat on cached read access. I've tried this over long 
periods with various loads and uptimes on the systems, and the test results 
are quite persistent.

Note that on both setups, the mptfusion drivers are loaded as modules from an 
initrd. No special parameters are passed to these drivers in either setup. I 
have mirrored the kernel .config between the two, and have also gone through 
the patches to the 2.6.18 kernel in RedHat that are relevant to mptfusion 
without finding anything that matches.

I have also tried with the very latest drivers from LSI Logic, just recently 
released, on both systems, and the performance data remain the same.

I'm sorry to open this issue again as I hoped and believed that it was 
resolved as per the description above, but since it turns out to be a very 
real performance difference associated with it, it might be of interest to 
others as well to get to the bottom of it?

The full dmesg, kernel config and other information is available at
http://www.hiawata.com/linux/
(system is still not in production and is therefor available for wild 
experimentation)

Thanks again for your patient and insightful responses
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux