RE: [PATCH] mptspi : min_period, max_offset,max_width,incorrectlyset, resulting domain validation failing

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

 



On Tuesday, September 19, 2006 7:17 PM, James Bottomley wrote: 

> Well, by standard, I'm supposed to start out negotiation with the
> fastest I can possibly do and the drive modifies this in its 
> reply.  The
> heuristics over DT vs non-DT in the transport class are to cope with
> arguably buggy drives in the field.  I've never come across a 
> DT capable
> drive on an LVD bus that showed a problem in this regard ... have you
> found one?
> 

Yes I have a U160 drive that does that.  Meaning sending a ppr
with factor=0x8, the device returns factor=0xA.  Instead
if you send a factor=0x9, the device returns factor=0x9.  In 
other words, spi transport is short changing nego on U160 devices.
See my proof at the end of this email.

My suggestion is:
the spi transport layer should only negotiate at factor=0x8
when both QAS and IUS are enabled in byte 56 of the inquiry 
data.  When you see both these bits zero, you should start 
your max speed inquiry test at factor=0x9 instead of factor=0x8. 
Yeah, I know that this came out in SPI-3, but there really
are no U160 devices out there that can actually do QAS. 

Also, another problem is you should only enable QAS when all 
the devices on a single bus are U320(excluding safte proc).  
Meaning, if you have mixed mode case, such as U160 mixed with 
U320, you should disable QAS for all the U320 devices.
The problem you will face is the U320 devices with QAS enabled
are going to starve the bus, and the other devices never win 
arbitration.  I've seen in my test bed using current
spi transport.  In my environment, I have two U160 devices,
and one U320 device. Spi transport will enable
QAS for the U320 device.

-----------------------------------------------------------------

Here is my proof.  Here are two scsi bus traces.  

(1) The first trace shows that sending ppr with 
factor=0x8 nego, the device returns with factor=0xA.   
(2) The second trace shows that sending ppr with 
factor=0x9 nego, the device returns with factor=0x9.


Fist Trace:

  129          2_414  Arb
  130          1_316  Arbwin 7
  131          0_788 +Select 7,0
  132         11_878 +Sel/Resel End
  133        178_276 +MsgOut C0 Identify
                             20 Simple Queue
                             01 Tag
                             01 06 04 08 00 7F 01 D3
                       Parallel Protocol Pw:6.25ns,off:127,Width:16
bits,
                       IU=1 DT=1 QAS=0
  134         44_228  MsgIn  01 06 04 0A 00 3F 01 00
                       Parallel Protocol Pw:25ns,off:63,Width:16 bits,
                       IU=0 DT=0 QAS=0
  135        197_962  CMD - Inquiry     
                       12 00 00 00 60 00
  136          1_174  DataIn (W)
                   0h: 00 00 03 02 5B 00 00 3E ....[..>
                   8h: 51 55 41 4E 54 55 4D 20 QUANTUM 
                  10h: 41 54 4C 41 53 20 56 20 ATLAS V 
                  18h: 33 36 20 57 4C 53 20 20 36 WLS  
                  20h: 30 41 30 36 31 34 33 39 0A061439
                  28h: 39 31 31 32 32 30 32 38 91122028
                  30h: 20 20 39 39 31 30 30 37   991007
                  38h: 0C 30 30 30 30 30 30 30 .0000000
                  40h: 30 30 30 30 30 30 30 30 00000000
                  48h: 30 30 30 30 30 30 30 30 00000000
                  50h: 30 30 30 30 30 30 30 30 00000000
                  58h: 30 30 30 30 30 30 30 30 00000000
                      (96 Bytes)
  137         46_262  DEnd  96 Bytes
  138          0_938  Status 00 Good
  139          1_224  MsgIn  00 Cmd Complete
  140         59_330 Bus Free 


Second Trace:

  128        730_298 Bus Free
  129          2_412  Arb
  130          1_314  Arbwin 7
  131          0_790 +Select 7,0
  132         12_830 +Sel/Resel End
  133        161_576 +MsgOut C0 Identify
                             20 Simple Queue
                             01 Tag
                             01 06 04 09 00 7F 01 02
                       Parallel Protocol Pw:12.5ns,off:127,Width:16
bits,
                       IU=0 DT=1 QAS=0
  134         45_576  MsgIn  01 06 04 09 00 3F 01 02
                       Parallel Protocol Pw:12.5ns,off:63,Width:16 bits,
                       IU=0 DT=1 QAS=0
  135        201_852  CMD - Inquiry     
                       12 00 00 00 60 00
  136          0_644  DataIn (DT)
                   0h: 00 00 03 02 5B 00 00 3E ....[..>
                   8h: 51 55 41 4E 54 55 4D 20 QUANTUM 
                  10h: 41 54 4C 41 53 20 56 20 ATLAS V 
                  18h: 33 36 20 57 4C 53 20 20 36 WLS  
                  20h: 30 41 30 36 31 34 33 39 0A061439
                  28h: 39 31 31 32 32 30 32 38 91122028
                  30h: 20 20 39 39 31 30 30 37   991007
                  38h: 0C 30 30 30 30 30 30 30 .0000000
                  40h: 30 30 30 30 30 30 30 30 00000000
                  48h: 30 30 30 30 30 30 30 30 00000000
                  50h: 30 30 30 30 30 30 30 30 00000000
                  58h: 30 30 30 30 30 30 30 30 00000000
                      (96 Bytes)
  137         30_054  DEnd  96 Bytes
  138          0_938  Status 00 Good
  139          1_204  MsgIn  00 Cmd Complete
  140         88_910 Bus Free
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux