Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1012106.1
Update Date:2009-12-03
Keywords:

Solution Type  Technical Instruction Sure

Solution  1012106.1 :   Ultra[TM] 160/Ultra[TM] 320:Disk performance degradation  


Related Items
  • Sun Fire V240 Server
  •  
  • Sun Fire V250 Server
  •  
  • Sun Fire V440 Server
  •  
  • Sun Fire V210 Server
  •  
  • Sun Fire V1280 Server
  •  
Related Categories
  • GCS>Sun Microsystems>Servers>Entry-Level Servers
  •  

PreviouslyPublishedAs
216661


Description
If Ultra[TM] 160 or Ultra[TM] 320 disk is installed and the default scsi_options mask is overridden by 3rd party storage vendors, then the Ultra160 or Ultra320
disk may not be able to negotiate at its maximum speed.
The default scsi_options, which is a global parameter and is defined in
the driver, allows HBA (Host Bus Adapter) to negotiate at its
maximum transfer speed. However, some 3rd party storage vendors
redefined the scsi_options in /etc/system file to accommodate their
slow disks (earlier models). If scsi_options is set and bit 13
(Ultra 160) or bit 14 (Ultra 320) is not set, then Ultra 160 or Ultra 320
disk won't be able to negotiate with its maximum speed.
As a result the system suffers performance problems. In addition, command timeout and/or
scsi bus resets may happen because the driver is not correctly setting
the transfer speeds.


Steps to Follow
Please complete the following steps.
1.  Check the sync speed in prtpicl

   "target<#>-sync-speed" in prtpicl will show much lower speed.
     - where "#" is the target number.

   For example, if Ultra 320 disk is installed, "320000" should be displayed.
   If the negotiated speed is not 320000 in this case, system will have lower
   performance than expected.

   prtpicl -v -c scsi-2
   <...snip...>
     :target0-sync-speed    320000  <-----
     :target0-wide  1
     :target0-TQ    1
   <...snip...>

If the sync speed is operating at the right level, then you have verified that the device
is negotiating correctly and require no further steps.

2. Check the /var/adm/messages
  
   The /var/adm/messages file will have command timeout or scsi reset messages.
   Note, some systems may not have command timeout or scsi reset messages, but
   performance may not be optimal

     WARNING: /pci@1c,600000/scsi@2 (glm0):
                                 Connected command timeout for Target 0.0
     WARNING: /pci@1c,600000/scsi@2 (glm0):
                                 Target 0 reducing sync. transfer rate
     WARNING: /pci@1c,600000/scsi@2 (glm0):
                                 got SCSI bus reset

     Example error for internal Fujitsu disk:

     WARNING: /ssm@0,0/pci@18,600000/scsi@2 (glm0):
                                host Connected command timeout for Target 0.0
     NOTICE: glm0: fault detected in device; service still available
     NOTICE: glm0: Connected command timeout for Target 0.0

3. Check Solaris patching

       Does not occur in Solaris[TM] 10
                                                                               
        Is resolved with glm patch 114731-07 (Click Here) or later for Solaris[TM] 9
                                                                               
        Is resolved with glm patch 109885-18 (Click Here) (Due Feb/05) or later revision
        for Solaris[TM] 8



4. Check the /etc/system for any scsi_options settings

 grep scsi_options /etc/system


Either:

     1. Remove the scsi_options.

        Note, if Fibre Channel array connection is found and if scsi_options
        setting in /etc/system is being recommended, then check to see if it
        is actually required. Since scsi_options is used to configure
        parallel scsi devices, please consult with the organization which
        believes that such scsi_options setting is required, in order to
        clarify this.

     2. Restore the default scsi_options. Again, default value is platform
        dependent. If you don't have the default scsi_options saved, the
        simpliest way to restore it is to remove the scsi_options line
        from the /etc/system file.

     3. Set the scsi_options mask accordingly.
        - If Ultra160 disk is installed, enable bit 13.
          To enable bit 13, OR the existing scsi_options with 0x2000.
          Example: If scsi_options is 0x1FF8, the new scsi_options becomes:
                      0x1FF8
                   OR 0x2000
                   ---------
                      0x3FF8

        - If Ultra320 disk is installed, enable both bit 13 and 14 since
          Ultra320 can negotiate Ultra160 speed as well.
          To enable bit 13 and 14, OR the existing scsi_options with
          0x6000 (0x2000 OR 0x4000).
          Example: If scsi_options is 0x1FF8, the new scsi_options becomes:
                      0x1FF8
                   OR 0x6000
                   ---------
                      0x7FF8



Product
Sun Fire V440R Server
Sun Fire V440 Server
Sun Fire V250 Server
Sun Fire V240 Server
Sun Fire V210 Server
Sun Fire V1280 Server
Sun StorageTek Ultra320 LVD PCI Low Profile Host Bus Adapter
Sun StorageTek Ultra320 LVD PCI Host Bus Adapter

Internal Comments
See also the workarounds section for bug# 4995568, i.e. should you need to selectively set the scsi options differently for the glm bus(es) to the system wide option.

Bug ID 4995568 ()

For example if the default scsi_options on you system were 0x107ff8 then
to set the scsi_options back to the default within the /kernel/drv/glm.conf
file for a particular target the entry should take this form:


name="glm" parent="/ssm@0,0/pci@18,600000"
     unit-address="2"
     target0-scsi-options=0x107ff8;
SCSI, Ultra160, Ultra320, scsi_options, transfer rate, bus reset, glm
Previously Published As
74480

Change History
Date: 2006-01-23
User Name: 25440
Action: Update Canceled
Comment: *** Restored Published Content *** SSH AUDIT
Version: 0

Date: 2009-12-01
Comment: Reworked description and steps to follow so that there was less redundancy and had a better flow. Removed references to the bug ID and just had the user check for the patches.

Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback