Re: servers advise (dell r515 or supermicro ....)

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

 



The S3700 does not need stuff like this. It internally ignores flushes.

Also there is an upstream one:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=39c60a0948cc06139e2fbfe084f83cb7e7deae3b

Stefan


Am 15.01.2014 15:47, schrieb Ирек Фасихов:
Kernel Patch for Intel S3700, Intel 530...

diff --git a/drivers/scsi/sd.c b/drivers//scsi/sd.c

--- a/drivers/scsi/sd.c 2013-09-14 12:53:21.000000000 +0400

+++ b/drivers//scsi/sd.c        2013-12-19 21:43:29.000000000 +0400

@@ -137,6 +137,7 @@

        char *buffer_data;

        struct scsi_mode_data data;

        struct scsi_sense_hdr sshdr;

+      static const char temp[] = "temporary ";

        int len;

        if (sdp->type != TYPE_DISK)

@@ -144,6 +145,13 @@

                 * can do it, but there's probably so many exceptions

                 * it's not worth the risk */

                return -EINVAL;

+

+       if(strncmp(buf,temp,sizeof(temp) - 1 ) == 0) {

+               buf += sizeof(temp) - 1;

+               sdkp->cache_override = 1;

+       } else {

+               sdkp->cache_override = 0;

+       }

        for (i = 0; i < ARRAY_SIZE(sd_cache_types); i++) {

                const int len = strlen(sd_cache_types[i]);

@@ -157,6 +165,13 @@

                return -EINVAL;

        rcd = ct & 0x01 ? 1 : 0;

        wce = ct & 0x02 ? 1 : 0;

+

+       if(sdkp->cache_override){

+               sdkp->WCE = wce;

+               sdkp->RCD = rcd;

+               goto out;

+       }

+

        if (scsi_mode_sense(sdp, 0x08, 8, buffer, sizeof(buffer),
SD_TIMEOUT,

                            SD_MAX_RETRIES, &data, NULL))

                return -EINVAL;

@@ -174,6 +189,7 @@

                        sd_print_sense_hdr(sdkp, &sshdr);

                return -EINVAL;

        }

+out:

        revalidate_disk(sdkp->disk);

        return count;

}

@@ -1995,6 +2011,9 @@

        int old_wce = sdkp->WCE;

        int old_rcd = sdkp->RCD;

        int old_dpofua = sdkp->DPOFUA;

+

+       if(sdkp->cache_override)

+               return;

        if (sdp->skip_ms_page_8)

                goto defaults;

@@ -2416,6 +2435,7 @@

        sdkp->capacity = 0;

        sdkp->media_present = 1;

        sdkp->write_prot = 0;

+      sdkp->cache_override = 0;

        sdkp->WCE = 0;

        sdkp->RCD = 0;

        sdkp->ATO = 0;

diff -u a/drivers/scsi/sd.h b/drivers//scsi/sd.h

--- a/drivers/scsi/sd.h 2013-09-14 12:52:43.000000000 +0400

+++ b/drivers//scsi/sd.h        2013-12-19 16:52:25.000000000 +0400

@@ -71,6 +71,7 @@

        u8              provisioning_mode;

        unsigned        previous_state : 1;

        unsigned        ATO : 1;        /* state of disk ATO bit */

+      unsigned        cache_override : 1; /* temp override of WCE,RCD*/

        unsigned        WCE : 1;        /* state of disk WCE bit */

        unsigned        RCD : 1;        /* state of disk RCD bit, unused */

        unsigned        DPOFUA : 1;     /* state of disk DPOFUA bit */




2014/1/15 Mark Nelson <mark.nelson@xxxxxxxxxxx
<mailto:mark.nelson@xxxxxxxxxxx>>

    On 01/15/2014 08:03 AM, Robert van Leeuwen wrote:

            Power-Loss Protection:  In the rare event that power fails
            while the
            drive is operating, power-loss protection helps ensure that
            data isn’t
            corrupted.


        Seems that not all power protected SSDs are created equal:
        http://lkcl.net/reports/ssd___analysis.html
        <http://lkcl.net/reports/ssd_analysis.html>

        The m500 is not tested but the m4 is.

        Up to now it seems that only Intel seems to have done his homework.
        In general they *seem* to be the most reliable SSD provider.


    Even at that, there has been some concern on the list (and lkml)
    that certain older Intel drives without super-capacitors are
    ignoring ATA_CMD_FLUSH, making them very fast (which I like!) but
    potentially dangerous (boo!).  The 520 in particular is a drive I've
    used for a lot of Ceph performance testing but I'm afraid that if
    it's not properly handling CMD FLUSH requests, it may not be
    indicative of the performance folks would see on other drives that do.

    On the third hand, if drives with supercaps like the Intel DC S3700
    can safely ignore CMD_FLUSH and maintain high performance (even when
    there are a lot of O_DSYNC calls, ala the journal), that potentially
    makes them even more attractive (and that drive already has
    relatively high sequential write performance and high write endurance).



        Cheers,
        Robert van Leeuwen

        _________________________________________________
        ceph-users mailing list
        ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx>
        http://lists.ceph.com/__listinfo.cgi/ceph-users-ceph.__com
        <http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com>


    _________________________________________________
    ceph-users mailing list
    ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx>
    http://lists.ceph.com/__listinfo.cgi/ceph-users-ceph.__com
    <http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com>




--
С уважением, Фасихов Ирек Нургаязович
Моб.: +79229045757


_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com





[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux