mps target difference between FreeBSD 9 and 9.1 RC

Jason Keltz jas at cse.yorku.ca
Mon Sep 24 14:38:52 UTC 2012


Hi Kashyap,

Thanks for your reply.  I had seen mention of this different between 
"enclosure slot mapping" and "device mapping" before, but I can't find 
any "enclosure slot mapping" or "device mapping" option on the LSI 
9205-8e card BIOS screen.   Maybe you or someone else can tell me where 
to look for this option in the BIOS?  I'm running the latest IT/non-RAID 
firmware released by LSI for this card.

I did go into the BIOS and write down all the details for the disks and 
match this up with FreeBSD 9.1 daX/target mapping.  At least now, the 
results that I'm getting don't seem so "random".    Here are the details:

Slot,PhyNum,Scan_Order,daX,target
[9205-8e card 1]
5,12,10,da0,33
0,13,11,da1,34
1,14,12,da2,35
2,15,13,da3,36
3,16,14,da4,37
4,17,15,da5,38
6,18,16,da6,39
7,19,17,da7,40
8,20,18,da8,41
11,21,19,da9,42
10,22,20,da10,43
9,23,21,da11,44

[9205-8e card 2]
17,24,10,da12,20
16,25,11,da13,21
15,26,12,da14,22
14,27,13,da15,23
22,28,14,da16,24
23,29,15,da17,25
18,30,16,da18,26
19,31,17,da19,27
13,32,18,da20,28
12,33,19,da21,29
20,34,20,da22,30
21,35,21,da23,31

It appears that the daX devices are enumerated by the new driver in 
either the phy order or scan order.

It's still not clear to me why the first 9205-8e card would always see, 
say, slot 5 first, then 0, 1, 2,...,11,10,9 instead of 0,1,2,3,... but I 
guess it must be a complex timing issue.  If I had different disks in 
the unit that took different time to spin up, I guess the results might 
be different?

It's also not really clear to me why targets start at 20.  In the end, 
it doesn't really matter what the targets are, but I'd like to 
understand why they are the way they are.

I was able to hard-code the targets in /boot/device.hints to make it so 
that da0 was slot 0, da1 was slot 1, etc.  Booting with every other disk 
removed, the mappings remained the same, but this is rather dangerous 
because it relies on the Phy order, and this might change if the disks 
changed, so it's not ultimately a solution.  Ultimately, I need to 
understand how to enable the slot mapping functionality if it's 
available on the 9205-8e card.  This would force the daX devices to be 
enumerated by slot number.

I have a different system using an internal LSI 9211-8i card, also with 
the latest IT firmware,  but it is connected to a Chenbro CK12803 
expander which has 16 internal SATA disks attached.  On that system, in 
the LSI BIOS, I can't see the disks at all - just the Chenbro expander, 
so I can't print all the details of the mappings like I did above, but 
the LSI status screen that displays the disks before going into the 
BIOS  prints all the disks, but reports "ENC SLOT 0" for all of them.  
Here, there's probably some incompatibility with the Chenbro card (even 
though it's listed on the hardware compatibility list of the card).  
Without the 9211-8i seeing the proper slot mapping on this system, I'm 
guessing that enabling slot mapping in the BIOS probably wouldn't help here.

Thanks for any help/feedback,

Jason.

On 09/24/2012 04:48 AM, Desai, Kashyap wrote:
> Jason:
>
> FreeBSD9.0 is very old driver where we don't have "mps_mapping.c". With mps_mapping.c we are supporting different Target ID mapping which is main reason why you are seeing two different target ID behaviors in this case.
>
> We have major two mapping method.
> 1. enclosure slot mapping and
> 2. Device mapping.
>
> Depends upon what you have configured in FW Driver will behave accordingly.
>
> I would suggest to flash your Card completely and start from fresh with only FreeBSD-9.1. do not compare FreeBSD-9.0
>
>
> ` Kashyap
>
>> -----Original Message-----
>> From: owner-freebsd-scsi at freebsd.org [mailto:owner-freebsd-
>> scsi at freebsd.org] On Behalf Of Jason Keltz
>> Sent: Thursday, September 20, 2012 1:38 AM
>> To: freebsd-scsi at freebsd.org
>> Subject: mps target difference between FreeBSD 9 and 9.1 RC
>>
>> I have a Dell R720 and a 24 x 2.5" Dell MD1220 JBOD.   I have added dual
>> LSI 9205-8e, each connected to the same MD1220 array.  Under FreeBSD
>> 9.0, if I do a "camcontrol devlist" (with every other disk removed), I
>> see:
>>
>> <WD WD9001BKHG D1S2>                at scbus0 target 0 lun 0 (pass0,da0)
>> <WD WD9001BKHG D1S2>                at scbus0 target 2 lun 0 (pass1,da1)
>> <WD WD9001BKHG D1S2>                at scbus0 target 4 lun 0 (pass2,da2)
>> <WD WD9001BKHG D1S2>                at scbus0 target 6 lun 0 (pass3,da3)
>> <WD WD9001BKHG D1S2>                at scbus0 target 8 lun 0 (pass4,da4)
>> <WD WD9001BKHG D1S2>                at scbus0 target 10 lun 0 (pass5,da5)
>> <DELL MD1220 1.01>                  at scbus0 target 36 lun 0
>> (pass6,ses0)
>> <WD WD9001BKHG D1S2>                at scbus1 target 12 lun 0 (pass7,da6)
>> <WD WD9001BKHG D1S2>                at scbus1 target 14 lun 0 (pass8,da7)
>> <WD WD9001BKHG D1S2>                at scbus1 target 16 lun 0 (pass9,da8)
>> <WD WD9001BKHG D1S2>                at scbus1 target 18 lun 0
>> (pass10,da9)
>> <WD WD9001BKHG D1S2>                at scbus1 target 21 lun 0
>> (pass11,da10)
>> <WD WD9001BKHG D1S2>                at scbus1 target 22 lun 0
>> (pass12,da11)
>> <DELL MD1220 1.01>                  at scbus1 target 36 lun 0
>> (pass13,ses1)
>> <TEAC DVD-ROM DV-28SW R.2A>         at scbus6 target 0 lun 0 (pass14,cd0)
>>
>> ... which is what I would expect.  If I do the same thing with any
>> pre-release/RC version of 9.1, I see:
>>
>> <WD WD9001BKHG D1S2>                at scbus0 target 34 lun 0 (pass0,da0)
>> <WD WD9001BKHG D1S2>                at scbus0 target 36 lun 0 (pass1,da1)
>> <WD WD9001BKHG D1S2>                at scbus0 target 38 lun 0 (pass2,da2)
>> <WD WD9001BKHG D1S2>                at scbus0 target 39 lun 0 (pass3,da3)
>> <WD WD9001BKHG D1S2>                at scbus0 target 41 lun 0 (pass4,da4)
>> <WD WD9001BKHG D1S2>                at scbus0 target 43 lun 0 (pass5,da5)
>> <DELL MD1220 1.01>                  at scbus0 target 45 lun 0
>> (ses0,pass6)
>> <WD WD9001BKHG D1S2>                at scbus1 target 21 lun 0 (pass7,da6)
>> <WD WD9001BKHG D1S2>                at scbus1 target 23 lun 0 (pass8,da7)
>> <WD WD9001BKHG D1S2>                at scbus1 target 24 lun 0 (pass9,da8)
>> <WD WD9001BKHG D1S2>                at scbus1 target 26 lun 0
>> (pass10,da9)
>> <WD WD9001BKHG D1S2>                at scbus1 target 29 lun 0
>> (pass11,da10)
>> <WD WD9001BKHG D1S2>                at scbus1 target 31 lun 0
>> (pass12,da11)
>> <DELL MD1220 1.01>                  at scbus1 target 32 lun 0
>> (ses1,pass13)
>> <TEAC DVD-ROM DV-28SW R.2A>         at scbus6 target 0 lun 0 (pass14,cd0)
>>
>> In particular, note how the targets are starting at 34.  I wonder if
>> someone might explain why?
>>
>> I was considering using /boot/device.hints to hard-code the daX mapping
>> to avoid the use of "labels" for my volumes,  but I wouldn't expect the
>> targets to change between the two releases.
>>
>> Thanks for any information that you can provide..
>>
>> Jason.
>>
>> _______________________________________________
>> freebsd-scsi at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
>> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"




More information about the freebsd-scsi mailing list