Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 2015 21:56:54 -0600
From:      Scott Long <scott4long@yahoo.com>
To:        Dan Langille <dan@langille.org>
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: dmesg output not as expected
Message-ID:  <27741F67-95F8-4EEF-B42F-E80626799FCB@yahoo.com>
In-Reply-To: <BFD44FE6-CCF0-4973-8893-86D7E58DF7C9@langille.org>
References:  <5A302DC6-C3EF-4DB1-8AD1-A0314C048A28@langille.org> <BFD44FE6-CCF0-4973-8893-86D7E58DF7C9@langille.org>

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

> On Jul 28, 2015, at 8:18 PM, Dan Langille <dan@langille.org> wrote:
>=20
> After rebooting this server, I see this in /var/run/dmesg.  Why does =
it change?
>=20
> ch0 at mpt0 bus 0 scbus14 target 3 lun 0
> ch0: <COMPAQ MSL5000 Series 0520> Removable Changer SCSI-2 device
> ch0: Serial Number 3G22JJP38S46
> ch0: 20.000MB/s transfers (10.000MHz DT, offset 15, 16bit)
> ch0: 25 slots, 1 drive, 1 picker, 1 portal
> ch0: quirks=3D0x2<NO_DVCID>
>=20
> I was hoping to get more through put on this newer system with a =
different card.  =46rom what I see, my speed is only half of what it =
was.
>=20
> I'm using a PCI-E 3.0 X8 (in X16) slot. Have I missing something?
>=20

The LSI controllers do Domain Validation.  That means that they send a =
series of test commands to each target to try to determine a safe speed =
to negotiate to.  The theory is that these test commands will determine =
whether the target=E2=80=99s speed needs to be downshifted in order to =
avoid problems with bad cables and bad connectors.  It=E2=80=99s part of =
the Ultra320 spec, and I think it was in the Ultra160 spec too, but was =
rarely implemented there.  It=E2=80=99s possible that the DV routine is =
telling the card that these devices need to have their negotiated speed =
reduced, and that the results it gets are a bit on-the-fence at times =
and cause different observed speeds.

It=E2=80=99s been a long time since I worked with DV, so my memory is a =
bit fuzzy.  The Adaptec hardware never did DV other than a really simple =
algorithm in the BIOS for the U320 cards, and I=E2=80=99m pretty sure =
that the Symbios cards pre-date DV all-together.  I think that the MPT =
controllers do DV in the firmware at boot, and the driver just reads the =
results and uses that for the default negotiation settings.  I don=E2=80=99=
t see much in the MPT driver for debugging this, but I recall that the =
DV algorithm that LSI used was pretty naive and overly-aggressive at =
forcing down negotiation.  You might want to look at what options the =
LSI BIOS offers, or if you can use camcontrol to change the negotiation =
up to where you think it should be.

Scott




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?27741F67-95F8-4EEF-B42F-E80626799FCB>