From owner-freebsd-scsi@FreeBSD.ORG Mon Jan 27 06:39:28 2014 Return-Path: Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1D82C83A; Mon, 27 Jan 2014 06:39:28 +0000 (UTC) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1lp0153.outbound.protection.outlook.com [207.46.163.153]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8BAB615F3; Mon, 27 Jan 2014 06:39:26 +0000 (UTC) Received: from BN1PR07MB247.namprd07.prod.outlook.com (10.141.64.146) by BN1PR07MB261.namprd07.prod.outlook.com (10.141.64.16) with Microsoft SMTP Server (TLS) id 15.0.859.15; Mon, 27 Jan 2014 06:39:24 +0000 Received: from BN1PR07MB247.namprd07.prod.outlook.com ([169.254.7.198]) by BN1PR07MB247.namprd07.prod.outlook.com ([169.254.7.198]) with mapi id 15.00.0859.020; Mon, 27 Jan 2014 06:39:24 +0000 From: "Desai, Kashyap" To: Doug Ambrisko , Doug Ambrisko Subject: RE: LSI - MR-Fusion controller driver patch and man page Thread-Topic: LSI - MR-Fusion controller driver patch and man page Thread-Index: Ac7ykKZzGPABTpK8R3+D5UAv3TD3WQWOC9SAAHVVybAAG8S5gAAWATMAABupEoADWG5MAAB9D5eA Date: Mon, 27 Jan 2014 06:39:22 +0000 Message-ID: <9751303b9cff49d89dc9dee4d8dda7f1@BN1PR07MB247.namprd07.prod.outlook.com> References: <08ba2a262fba45f687cdd3225f325110@BN1PR07MB247.namprd07.prod.outlook.com> <20140103211449.GA69721@cisco.com> <8c423414ecc2421fbace3eb9f386be91@BN1PR07MB247.namprd07.prod.outlook.com> <20140106182935.GC93278@cisco.com> <20140107181139.GC2080@cisco.com> <20140124185356.GA28724@ambrisko.com> In-Reply-To: <20140124185356.GA28724@ambrisko.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.19.239.250] x-forefront-prvs: 0104247462 x-forefront-antispam-report: SFV:NSPM; SFS:(10019001)(6009001)(377454003)(13464003)(51704005)(24454002)(199002)(189002)(164054003)(31966008)(46102001)(51856001)(80976001)(76786001)(74502001)(47446002)(76796001)(83072002)(81816001)(85852003)(54356001)(53806001)(74662001)(74316001)(74366001)(77096001)(76576001)(81686001)(76482001)(56816005)(90146001)(4396001)(19580395003)(33646001)(19580405001)(83322001)(94316002)(74706001)(47976001)(50986001)(87936001)(92566001)(49866001)(47736001)(74876001)(87266001)(80022001)(66066001)(77982001)(85306002)(79102001)(56776001)(59766001)(54316002)(93516002)(86362001)(93136001)(65816001)(69226001)(63696002)(2656002)(81542001)(81342001)(24736002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN1PR07MB261; H:BN1PR07MB247.namprd07.prod.outlook.com; CLIP:192.19.239.250; FPR:; InfoNoRecordsA:1; MX:1; LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: lsi.com X-Mailman-Approved-At: Mon, 27 Jan 2014 12:24:38 +0000 Cc: "scottl@netflix.com" , "Radford, Adam" , "Kenneth D. Merry" , "sean_bruno@yahoo.com" , "Mankani, Krishnaraddi" , "dwhite@ixsystems.com" , "Maloy, Joe" , "jpaetzel@freebsd.org" , "freebsd-scsi@freebsd.org" , "McConnell, Stephen" X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 06:39:28 -0000 Doug: This patch looks good and we will work for changes accordingly.=20 We have started checking performance delta between and as sug= gested by you. Till now, we have not seen any issue, if we use Spinning drives. We have se= en issue with SSD, but want to confirm if that is configuration or setup is= sue. Are you seeing issue only if you use SSDs ?? We will contact you to underst= and exact scenario, so that we can root cause from our end. Will spawn new = thread to discuss that. Thanks, ` Kashyap > -----Original Message----- > From: Doug Ambrisko [mailto:ambrisko@ambrisko.com] > Sent: Saturday, January 25, 2014 12:24 AM > To: Doug Ambrisko > Cc: Desai, Kashyap; freebsd-scsi@freebsd.org; scottl@netflix.com; > sean_bruno@yahoo.com; dwhite@ixsystems.com; jpaetzel@freebsd.org; > Maloy, Joe; Mankani, Krishnaraddi; McConnell, Stephen; Saxena, Sumit; > Radford, Adam; Kenneth D. Merry > Subject: Re: LSI - MR-Fusion controller driver patch and man page >=20 > On Tue, Jan 07, 2014 at 10:11:39AM -0800, Doug Ambrisko wrote: > [snip] > | Yes, we can probably make the minimal change to mfi to allow mrsas to > | optionally take over. That can probably be done the quickest. >=20 > Here is the patch I propose to mfi(4) to allow mrsas(4) to optionally tak= e > newer cards. >=20 > Index: mfi_pci.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D > --- mfi_pci.c (revision 260231) > +++ mfi_pci.c (working copy) > @@ -112,6 +112,11 @@ > SYSCTL_INT(_hw_mfi, OID_AUTO, msi, CTLFLAG_RDTUN, &mfi_msi, 0, > "Enable use of MSI interrupts"); >=20 > +static int mfi_mrsas_enable =3D 0; > +TUNABLE_INT("hw.mfi.mrsas_enable", &mfi_msi); SYSCTL_INT(_hw_mfi, > +OID_AUTO, mrsas_enable, CTLFLAG_RDTUN, &mfi_mrsas_enable, > + 0, "Allow mrasas to take newer cards"); > + > struct mfi_ident { > uint16_t vendor; > uint16_t device; > @@ -127,11 +132,11 @@ > {0x1000, 0x005b, 0x1028, 0x1f34, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "Dell PERC H710P Mini (monolithics)"}, > {0x1000, 0x005b, 0x1028, 0x1f35, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "Dell PERC H710 Adapter"}, > {0x1000, 0x005b, 0x1028, 0x1f37, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "Dell PERC H710 Mini (blades)"}, > - {0x1000, 0x005b, 0x1028, 0x1f38, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "Dell PERC H710 Mini (monolithics)"}, > - {0x1000, 0x005b, 0x8086, 0x9265, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "Intel (R) RAID Controller RS25DB080"}, > - {0x1000, 0x005b, 0x8086, 0x9285, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "Intel (R) RAID Controller RS25NB008"}, > - {0x1000, 0x005b, 0xffff, 0xffff, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "ThunderBolt"}, > - {0x1000, 0x005d, 0xffff, 0xffff, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT, "Invader"}, > + {0x1000, 0x005b, 0x1028, 0x1f38, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT| MFI_FLAGS_MRSAS, "Dell PERC H710 Mini > (monolithics)"}, > + {0x1000, 0x005b, 0x8086, 0x9265, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT| MFI_FLAGS_MRSAS, "Intel (R) RAID Controller > RS25DB080"}, > + {0x1000, 0x005b, 0x8086, 0x9285, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT| MFI_FLAGS_MRSAS, "Intel (R) RAID Controller > RS25NB008"}, > + {0x1000, 0x005b, 0xffff, 0xffff, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT| MFI_FLAGS_MRSAS, "ThunderBolt"}, > + {0x1000, 0x005d, 0xffff, 0xffff, MFI_FLAGS_SKINNY| > MFI_FLAGS_TBOLT| > +MFI_FLAGS_MRSAS, "Invader"}, > {0x1000, 0x0060, 0x1028, 0xffff, MFI_FLAGS_1078, "Dell PERC 6"}, > {0x1000, 0x0060, 0xffff, 0xffff, MFI_FLAGS_1078, "LSI MegaSAS > 1078"}, > {0x1000, 0x0071, 0xffff, 0xffff, MFI_FLAGS_SKINNY, "Drake Skinny"}, > @@ -178,7 +183,13 @@ >=20 > if ((id =3D mfi_find_ident(dev)) !=3D NULL) { > device_set_desc(dev, id->desc); > - return (BUS_PROBE_DEFAULT); > + > + /* give priority to mrsas if tunable set */ > + TUNABLE_INT_FETCH("hw.mfi.mrsas_enable", > &mfi_mrsas_enable); > + if ((id->flags & MFI_FLAGS_MRSAS) && mfi_mrsas_enable) > + return (BUS_PROBE_LOW_PRIORITY); > + else > + return (BUS_PROBE_DEFAULT); > } > return (ENXIO); > } > Index: mfivar.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D > --- mfivar.h (revision 260231) > +++ mfivar.h (working copy) > @@ -199,6 +199,7 @@ > #define MFI_FLAGS_GEN2 (1<<6) > #define MFI_FLAGS_SKINNY (1<<7) > #define MFI_FLAGS_TBOLT (1<<8) > +#define MFI_FLAGS_MRSAS (1<<9) > // Start: LSIP200113393 > bus_dma_tag_t verbuf_h_dmat; > bus_dmamap_t verbuf_h_dmamap; >=20 > This creates a hw.mfi.mrsas_enable tunable to control it. The method via > hints wasn't the best since for one the unit index was being abused a non= - > unit specfic option. It was also a little strange to have mrsas hint be = in mfi(4). >=20 > Then we need a minor change to mrsas.c >=20 >=20 > --- ../mrsas.orig/mrsas.c 2014-01-03 11:30:28.000000000 -0800 > +++ ./mrsas.c 2014-01-24 10:43:20.000000000 -0800 > @@ -328,25 +328,11 @@ static struct mrsas_ident * mrsas_find_i static in= t > mrsas_probe(device_t dev) { > struct mrsas_ident *id; > - unsigned int force =3D 0, ivar; >=20 > if ((id =3D mrsas_find_ident(dev)) !=3D NULL) { > - if (id->device =3D=3D 0x005b || id->device =3D=3D 0x005d) { > - resource_int_value("mrsas", 0, "fusion_force", &ivar); > - > - if (ivar =3D=3D 0 || ivar =3D=3D 1) > - force =3D ivar; > - > - device_set_desc(dev, id->desc); > - if (force) > - return (BUS_PROBE_DEFAULT); > - //return (BUS_PROBE_SPECIFIC); //give priority to MFI d= river > - else > - return (BUS_PROBE_LOW_PRIORITY); > - } > - else > - device_set_desc(dev, id->desc); > - return (BUS_PROBE_DEFAULT); > + device_set_desc(dev, id->desc); > + /* between BUS_PROBE_DEFAULT and BUS_PROBE_LOW_PRIORITY > */ > + return (-30); > } > return (ENXIO); >=20 > So that its probe part way between mfi(4) results and then it doesn't hav= e to > change. >=20 > If no one has concerns then I'll check in the mfi(4) change. >=20 > Thanks, >=20 > Doug A.