Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jan 2014 06:39:22 +0000
From:      "Desai, Kashyap" <Kashyap.Desai@lsi.com>
To:        Doug Ambrisko <ambrisko@ambrisko.com>, Doug Ambrisko <ambrisko@cisco.com>
Cc:        "scottl@netflix.com" <scottl@netflix.com>, "Radford, Adam" <Adam.Radford@lsi.com>, "Kenneth D. Merry" <ken@kdm.org>, "sean_bruno@yahoo.com" <sean_bruno@yahoo.com>, "Mankani, Krishnaraddi" <Krishnaraddi.Mankani@lsi.com>, "dwhite@ixsystems.com" <dwhite@ixsystems.com>, "Maloy, Joe" <Joe.Maloy@lsi.com>, "jpaetzel@freebsd.org" <jpaetzel@freebsd.org>, "freebsd-scsi@freebsd.org" <freebsd-scsi@freebsd.org>, "McConnell, Stephen" <Stephen.McConnell@lsi.com>
Subject:   RE: LSI - MR-Fusion controller driver <mrsas> patch and man page
Message-ID:  <9751303b9cff49d89dc9dee4d8dda7f1@BN1PR07MB247.namprd07.prod.outlook.com>
In-Reply-To: <20140124185356.GA28724@ambrisko.com>
References:  <08ba2a262fba45f687cdd3225f325110@BN1PR07MB247.namprd07.prod.outlook.com> <20140103211449.GA69721@cisco.com> <8c423414ecc2421fbace3eb9f386be91@BN1PR07MB247.namprd07.prod.outlook.com> <20140106182935.GC93278@cisco.com> <e59396595152456dbcde63d48f70aa8f@BN1PR07MB247.namprd07.prod.outlook.com> <20140107181139.GC2080@cisco.com> <20140124185356.GA28724@ambrisko.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Doug:

This patch looks good and we will work for <mrsas> changes accordingly.=20

We have started checking performance delta between <mfi> and <mrsas> 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 <mrsas> 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.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9751303b9cff49d89dc9dee4d8dda7f1>