1    Release Notes

This chapter provides information that you must be aware of when working with Tru64 UNIX 4.0F and TCR 1.6 Patch Kit-0002.

1.1    Required Storage Space

The following storage space is required to successfully install this patch kit:

Base Operating System

TruCluster Software products

1.2    New dupatch Features

The following sections describe new features of dupatch.

1.2.1    dupatch-Based Patch Kits for ASE and TCR Patches

Patches for ASE and TCR are now installed, removed, and managed through dupatch. The ASE and TCR patch kits have been converted to dupatch-based patch kits and distributed in the same patch distribution as the applicable operating system.

The multiproduct support within dupatch is most visible when installing or removing patches. dupatch will display a list of the products that are on the system and in the patch kit, allowing the user to select one or more products before proceeding with patch selections.

You must load the new patch tools provided in this patch kit. See the Patch Kit Installation Instructions for more information.

Since all prior ASE and TCR patches have been installed manually, you must set the system patch baseline. See the Patch Kit Installation Instructions for detailed information.

1.2.2    New Cross-Product Patch Dependency Management

The dupatch utility now manages patch dependencies across the Tru 64 UNIX operating system and TCR patch kits. An example of patch cross-product dependency handling for a system with both Tru64 UNIX 4.0F and TCR 1.6 installed follows:

1.2.3    Patch Special Instruction Handling by dupatch

The format and content of the per-patch special instructions has been revised to make it easier to use. You can view the special instructions are now displayed when patches are removed. The per-patch special instructions through the dupatch documentation menu.

1.2.4    Patch Tracking and Documentation Viewing

The patch tracking and documentation viewing features within dupatch can now be used in multi-user mode by nonroot users. See the Patch Kit Installation Instructions for more information.

From the dupatch patch tracking menu you can now list the patch kits from which patches installed on your system originated.

1.2.5    System Patch Baselining

The system patch baselining feature of dupatch has been improved. Phase 4 now reports all missing or unknown system files, regardless of their applicability to the patch kit. This will help you identify the origin of manually changed system files. See the Patch Kit Installation Instructions for more information.

1.2.6    New Command-Line Interface Switches

The dupatch command-line mode contains the following new switches:

Any error on the command line will cause the help information to be displayed on the screen.

If any mandatory switch is missing when using the command-line interface, the command fails with the appropriate usage message. Once you select the command line interface, dupatch will not go into interactive mode. Prompting is no longer mixed with the command-line interface.

1.2.7    Compatibility Between Revisions of dupatch

The new dupatch will work with older revisions of dupatch-based patch kits.

The older revisions of dupatch, however, revision 15 and lower, do not know how to install, remove, or manage patches from the new style patch kits. Please ensure that you load the new patch installation tools when you receive this patch kit. See the Patch Kit Installation Instructions for more information.

1.3    Release Note for NCR810 Controller

A disk attached to a NCR810 controller may experience an ss_perform_timeout error, from which it will then recover. Compaq is investigating this problem and it will be addressed in a future patch kit release of TRU64 UNIX.

1.4    Release Notes for Patch 210.00

This section contains release notes for Patch 210.00.

1.4.1    PCI To Ethernet/Graphics Combo Adapter

This patch provides support for the PCI To Ethernet/Graphics Combo Adapter (3X-DEPVD-AA). If you have a system with this adapter, you will need to reconfigure and rebuild the kernel after installing this patch. To do this:

  1. Shut down the system:

    # /usr/sbin/shutdown -h now

  2. Boot genvmunix to single-user mode:

    >>> boot -fi genvmunix -fl s

  3. After the system boots to single-user mode, mount the file systems, run the update command, and activate the swap partition:

    # /sbin/bcheckrc

    # /sbin/update

    # /sbin/swapon -a

  4. Run doconfig to create a new kernel configuration file and rebuild the kernel:

    # /usr/sbin/doconfig

    Note: Do not specify the -c option to doconfig. If you do, doconfig will use the existing kernel configuration file, which will not have the appropriate controller entry for the PCI To Ethernet/Graphics Combo Adapter.

  5. Save the old /vmunix file and move the new kernel to /vmunix.

  6. Shut down the system:

    # /usr/sbin/shutdown -h now

  7. Boot the new kernel:

    >>> boot

If you remove this patch from your system after you have rebuilt the kernel, to incorporate support for the PCI To Ethernet/Graphics Combo Adapter as previously described, you will need to rebuild the kernel again to restore generic VGA graphics support. To do this, follow the steps previously given.

If doconfig is running on the original kernel, the unpatched genvmunix will not recognize the PCI To Ethernet/Graphics Combo Adapter and will include generic VGA graphics support in the resulting kernel.

1.4.2    Pleiades II Switches

To determine if target IDs are being consumed by the switch, look at the contents of the /etc/emx.info file. If a FC Port Name exists that does not start with 0x0050 (a HSG80) or a 0x0010 (a KGPSA), it is most likely a switch entry consuming the target ID (or an unsupported FC device exists on the fabric).

To remove the the switch entry from the emx target ID mappings, in addition to installing this patch, the /sys/data/emx_data.c file must be modified to contain the switch entry to be deleted (by setting the target ID to -1). Please refer to the reference pages for emx and emx_data.c for instructions on modifying the emx_data.c file. After the emx_data.c file has been modified, the kernel must be regenerated and the resulting kernel booted.

1.5    Release Notes for Patch 118.00

This section contains the release notes for Patch 118.00.

1.5.1    I/O Throttling/Smooth Sync

Note

Smooth Sync is for UNIX File System (UFS) only.

To enable this functionality, edit /etc/inittab to contain the following two lines after the line containing update. This enables smoothsync on transitions into multiuser, and disables smoothsync on transitions into singleuser.

smsync:23:wait:/sbin/sysconfig -r vfs smoothsync-age=30 > /dev/null 2>&1

smsyncS:Ss:wait:/sbin/sysconfig -r vfs smoothsync-age=0 > /dev/null 2>&1

The new mount options are smsync2 and throttle. The smsync2 option enables an alternate smsync policy in which dirty pages do not get flushed until they have been dirty and idle for the smoothsync age period (the default 30 is seconds). The default policy is to flush dirty pages after being dirty for the smoothsync age period, regardless of continued modifications to the page. Note that mmaped pages always use this default policy, regardless of the smsync2 setting.

For example, change the /etc/fstab entries from:

/dev/rz12e /mnt/test ufs rw 0 2

to:

/dev/rz12e /mnt/test ufs rw,smsync2,throttle 0 2

Note:

If you choose not to use smsync2 (which does not affect mmaped buffers), just remove the smsync2 option from the previous string.

Append to /etc/sysconfigtab any tuning changes. See the following TUNING notes that follow for a description of the new io-throttle-shift and io-throttle-maxmzthruput tunables. These tunables are configured in the vfs stanza. The following three lines make up an example:

vfs:

io-throttle-shift = 1

io-throttle-maxmzthruput = 1

When removing this patch, follow these steps:

  1. Remove the lines added above to /etc/inittab.

  2. Remove any additions to /etc/fstab you may have made (see previous instructions).

Failure to remove /etc/inittab and /etc/fstab modifications may result in "unknown attribute" messages, particularly upon system reboot.

TUNING

The purpose of this patch is to minimize system stalls resulting from a heavy system I/O load. This patch introduces a smoothsync approach to writing delayed I/O requests and introduces I/O throttling.

Using smoothsync allows each dirty page to age for a specified time period before getting pushed to disk. This allows more opportunity for frequently modified pages to be found in the cache, which decreases the net I/O load. Also, as pages are enqueued to a device after having aged sufficiently, as opposed to getting flushed by the update daemon, spikes in which large numbers of dirty pages are locked on the device queue are minimized.

I/O throttling further addresses the concern of locking dirty pages on the device queue. It enforces a limit on the number of delayed I/O requests allowed to be on the device queue at any point in time. This allows the system to be more responsive to any synchronous requests added to the device queue, such as a read or the loading of a new program into memory. This may decrease the duration of process stalls for specific dirty buffers, as pages remain available until placed on the device queue.

The relevant tunable variables are:

smoothsync-age

This variable can be adjusted from 0 (off) up to 300. This is the number of seconds a page ages before becoming eligible for being flushed to disk via the smoothsync mechanism. A value of 30 corresponds to the "guarantee" provided by the traditional UNIX update mechanism. Increasing this value increases the exposure of lost data should the system crash, but can decrease net I/O load (to improve performance) by allowing the dirty data to remain in cache longer. In some environments, any data that is not up to date is useless; these are prime candidates for an increased smoothsync-age value. The default value of smoothsync-age is 30.

io-throttle-shift

The greater the number of requests on an I/O device queue, the longer the time required to process those requests and make those pages and device available. The number of concurrent delayed I/O requests on an I/O device queue can be throttled by setting the io-throttle-shift tunable. The throttle value is based on this tunable and the calculated I/O completion rate. The throttle value is proportional to the time required to process the I/O device queue. The correspondences between io-throttle-shift values and the time to process the device queue are:

io-throttle-shift  time to process device queue (sec)
-------------------------------------------------------------------
      -2                   0.25
      -1                   0.5
       0                   1
       1                   2
       2                   4

For example, an io-throttle-shift value of 0 corresponds to accommodating 1 second of I/O requests. The valid range for this tunable is [-4..4] (not all values are shown in the previous table; you can extrapolate). The default value of io-throttle-shift is 1. Environments particularly sensitive to delays in accessing the I/O device might consider reducing the io-throttle-shift value.

io-maxmzthruput

This is a toggle that trades off maximizing I/O throughput against maximizing the availability of dirty pages. Maximizing I/O throughput works more aggressively to keep the device busy, but within the constraints of the throttle. Maximizing the availability of dirty pages is more aggressive at decreasing stall time experienced when waiting for dirty pages.

The environment in which you might consider setting io-maxmzthruput off (0) is one in which I/O is confined to a small number of I/O-intensive applications, such that access to a specific set of pages becomes more important for overall performance than does keeping the I/O device busy. The default value of io-maxmzthruput is 1. Environments particularly sensitive to delays in accessing sets of frequently used dirty pages might consider setting io-maxmzthruput to 0.

1.5.2    Granularity Hint Regions Restriction Removal

This patch removes a Granularity Hint Regions (also called GH chunks) restriction which may be encountered on AlphaServer DS20 and ES40 systems running the Tru64 UNIX Version 4.0F release. This restriction can reduce performance for certain database applications.

The following error message on the system's console terminal (also logged in /var/adm/messages) indicates possible performance loss for applications using GH chunks:

gh_chunks value of # invalid

where # is a number that varies depending on memory size.

To remove the GH chunks restriction you need to modify your target kernel configuration file (and rebuild the kernel) and change the state of a console firmware environment variable. To make these changes, follow these steps:

  1. Follow the steps in Section 4.5.3 of the Guide to System Adminstration, with the following exceptions:

    In step 4, edit the configuration file and add the following line immediately before the first line starting with makeoptions:

    makeoptions LOADADDR="fffffc0000430000"

    In step 6, instead of /usr/sbin/shutdown -r now, add the following line:

    /usr/sbin/shutdown -h now

  2. Check the console firmware version:

    P00>>>show version

    If the version is not V5.5 or later, you need to upgrade your firmware to V5.5 or later.

  3. Change the value of the console_memory_allocation environment variable from old to new and reset the system:

    P00>>>set console_memory_allocation new

    P00>>>init

  4. Boot the new kernel:

    P00>>>boot

    If the new kernel fails to boot use one of the following procedures:

    P00>>>set console_memory_allocation old

    P00>>>init

    P00>>>boot -fi vmunix.save

    or:

    P00>>>boot -fi genvmunix

    Correct the error and repeat the previous procedure.

Additional Information

Note

If you customized your existing configuration file, doconfig allows you to edit the new configuration file so you can restore your customizations.

1.5.3    Incorrect Error Message

After installing Patch 118.00 on a AlphaStation 1200 with more than three pairs of memory, the following warning message is displayed on the console during boot:

Loading vmunix symbol table ... [1316632 bytes]
        pmap_get_align: Unaligned memory hole found: rpb_cluster[4]:
0xffffffffff800e38
                Please reset the system to clear any previous memlimit

This message can be ignored and the system will continue to boot. This problem will be fixed in the next patch kit release.

1.6    Release Notes for Patch 173.00

The following release notes provide updated information for the quotacheck(8), fsck(8), and fstab(4) reference pages.

quotacheck(8) Reference Page Update

  SYNOPSIS
 
    /usr/sbin/quotacheck [-guv] filesystem ...
 
  OLD>  /usr/sbin/quotacheck -a [-guv] [-l number]
  NEW>  /usr/sbin/quotacheck -a [-guv] [-l number] [-t [no]type]
 
 
  FLAGS
 
  OLD>  -a    Checks all file systems identified in the /etc/fstab file
              as read/write with disk quotas.
 
  NEW>  -a    Checks all UFS and AdvFS file systems identified in the
              /etc/fstab file as read/write with userquota and/or
              groupquota options specified, and a pass number of 1 or
              greater.  If the -t option is specified, only the file systems
              of the specified type will be checked.  Alternatively, if
              type is prefixed with 'no', then the valid file systems in
              the /etc/fstab file that do not have that type will be
              checked.
 
 
  OLD>  -l    number Specifies the number of times to perform disk quota
              checking.
 
  NEW>  -l    number Specifies the maximum number of parallel quotacheck
              processes to run at one time.
 
  NEW>  -t    [no]type
  NEW>        Specifies the file system type.  The supported file systems are 
              as follows:
 
              advfs - Advanced File System (AdvFS)
 
              ufs - UNIX File System (UFS)
 
              See fstab(4) for a description of file system types.  If
              the 'no' prefix is used, all of the above file types
              except the one specified are checked.
 
              Note, the -t flag is only valid when used with the -a flag.
 
  DESCRIPTION
 
  OLD>  The quotacheck command examines each specified file system, builds a
        table of current disk usage, and compares this table against that
        stored in the disk quota file for the file system.  If any
        inconsistencies are detected, both the quota file and the current
        system copy of the incorrect quotas are updated.  Each file system
        must be mounted with quotas enabled.
 
  NEW>  The quotacheck command examines each specified file system, builds a
        table of current disk usage, and compares this table against that
        stored in the disk quota file for the file system.  If any
        inconsistencies are detected, both the quota file and the current
        system copy of the incorrect quotas are updated.
 
  OLD>  The quotacheck command runs parallel passes on file systems using
        the number specified in the fsck field of the file system's entry in
        the /etc/fstab file.  The quotacheck command only checks file
        systems with pass number 1 or higher in the fsck field.  A file
        system with no pass number is not checked.
 
  NEW>  The quotacheck -a command runs parallel passes on file systems using
        the number specified in the /etc/fstab pass number field.  The
        quotacheck command only checks file systems with pass number 1 or
        higher in the fsck field.  A file system with no pass number is
        not checked.
 
  OLD>  For both UFS file systems and AdvFS filesets, you should assign the
        root file system a fsck field value of 1, and a value of 2 or
        higher to other file systems.  See fstab(4) for more information.
 
  NEW>  For both UFS file systems and AdvFS filesets, you should assign the
        root file system a pass number of 1, and a value of 2 or higher
        to other file systems.  See fstab(4) for more information.
 
  OLD>  The quotacheck command checks only file systems that have the
        userquota or groupquota option specified in the /etc/fstab file.
 
  NEW>  The quotacheck command checks only file systems that are mounted.
        UFS file systems must also have userquota and/or groupquota options
        specified in the /etc/fstab file.  The userquota and groupquota
        options are only needed for AdvFS file systems if quotas are
        actually going to be enforced or if they are to be selected with the 
        -a option.

fsck(8) Reference Page Update

OLD>  When the system boots, the fsck program is automatically
        run with the -p flag.  The program reads the /etc/fstab file to
        determine which file systems to check.  Only partitions that 
        are specified in the fstab file as being mounted ``rw'' or 
        ``ro'' and that have a non-zero pass number are checked.  
        File systems that have a pass number 1 
        (usually only the root file system) are checked one at a time.  
        When pass 1 completes, all the remaining file systems are
        checked, with one process running per disk drive.
 
  NEW>  When the system boots, the fsck program is automatically
        run with the -p flag.  The program reads the /etc/fstab file to
        determine which file systems to check.  Only partitions that 
        are specified in the fstab file as being mounted ``rw'' or 
        ``ro'' and that have a non-zero pass number are checked.  
        File systems that have a pass number 1
        (usually only the root file system) are checked one at a time.  
        When pass 1 completes, the remaining pass numbers are processed
        with one parallel fsck process running per disk drive in the 
        same pass.
 
  NEW>  The per disk drive logic is based on the /dev/disk/dsk0a
        syntax where different partition letters are treated as being 
        on the samedisk drive.  Partitions layered on top of an LSM 
        device may not follow this naming convention.  In this case 
        unique pass numbers in /etc/fstab may be used to sequence fsck 
        checks.

fstab(4) Reference Page Update

 userquota [=filename] and groupquota [=filename]
 
        If quotas are to be enforced for users or groups,
        one or both of the options must be specified.  If 
        userquota is specified, user quotas are to be enforced.  
        If groupquota is specified, group:
 
  OLD>  quotas are to be enforced.
 
  NEW>  quotas are to be enforced (also see quotaon and quotaoff(8)).
 
 
  OLD>  For UFS  file systems, the sixth field, (fsck), is used by 
        the fsck command to determine the order in which file system
        checks are done at reboot time.  For the root file system, 
        specify 1 in the fsck field. For other UFS file systems, 
        specify 2 or higher in the fsck field.  Each UFS file system 
        should have a unique fsck value.
 
  NEW>  For UFS  file systems, the sixth field, (pass number), is
        used by the fsck and quotacheck commands to determine the 
        order in which file system checks are done at reboot time.  
        For the root file system, specify 1 in the fsck field.  For 
        other UFS file systems specify 2 or higher in the pass number 
        field.
 
  OLD>  For AdvFS filesets, the the sixth field is a pass number
        field that allows the quotacheck command to perform all of the
        consistency checks needed for the fileset.  For the root file 
        system, specify 1 in the fsck field.  Each AdvFS fileset in 
        an AdvFS file domain should have a unique fsck value, which 
        should be 2 or higher.
 
  NEW>  For AdvFS filesets, the  sixth field is a pass number
        field that allows the quotacheck command to perform all of the
        consistency checks needed for the fileset.  For the root file 
        system, specify 1 in the fsck field.  For other AdvFS file 
        systems specify 2 or higher in the pass number field.
 
  OLD>  File systems that are on the same disk are checked
        sequentially, but file systems on different disks are 
        checked at the same time to utilize parallelism available 
        in the hardware.  If the sixth field is not present or zero, 
        a value of 0 is returned and the fsck command
        assumes that the file system does not need to be checked.
 
  NEW>  File systems that are on the same disk or domain are checked
        sequentially, but file systems on different disks or
        domains but with the same or greater than 1 pass number are 
        checked at the same time to utilize parallelism available in 
        the hardware.  When all the file systems in a pass have 
        completed their checks, then the file systems with the 
        numerically next higher pass number will be processed.
 
  NEW>  The UFS per disk drive logic is based on the
        /dev/disk/dsk0a syntax where different partition letters 
        are treated as being on the same disk drive.  Partitions 
        layered on top of an LSM device may not follow this naming 
        convention.  In this case unique pass numbers may be used
        to sequence fsck and quotacheck processing.  If the sixth 
        field is not present or zero, a value of 0 is returned
        and the fsck command assumes that the file system does
        not need to be checked.