This chapter provides information that you must be aware of when working with Tru64 UNIX 4.0F and TCR 1.6 Patch Kit-0002.
The following storage space is required to successfully install this patch kit:
Temporary Storage Space
A total of ~250 MB of storage space is required to untar this patch
kit.
It is recommended that this kit not be placed in the
/
,
/usr
, or
/var
file systems because this may unduly
constrain the available storage space for the patching activity.
Permanent Storage Space
Up to ~32.1 MB of storage space in
/var/adm/patch/backup
may be required for archived original files if you choose to install and
revert all patches.
See the
Patch Kit Installation Instructions
for more information.
Up to ~32.4 MB of storage space in
/var/adm/patch
may be required for original files if you choose to install and revert all
patches.
See
Patch Kit Installation Instructions
for
more information.
Up to ~296 KB of storage space is required in
/var/adm/patch/doc
for patch abstract and README documentation.
A total of ~105 KB of storage space is needed in
/usr/sbin/dupatch
for the patch management utility.
Temporary Storage Space
A total of ~250 MB of storage space is required to untar this patch
kit.
It is recommended that this kit not be placed in the
/
,
/usr
, or
/var
file systems because this may unduly
constrain the available storage space for the patching activity.
Permanent Storage Space
Up to ~33.4 MB of storage space in
/var/adm/patch/backup
may be required for archived original files if you choose to install and
revert all patches.
See the
Patch Kit Installation Instructions
for more information.
Up to ~33.8 MB of storage space in
/var/adm/patch
may be required for original files if you choose to install and revert all
patches.
See the
Patch Kit Installation Instructionsfor
more information.
Up to ~213 KB of storage space is required in
/var/adm/patch/doc
for patch abstract and README documentation.
A total of ~105 KB of storage space is needed in
/usr/sbin/dupatch
for the patch management utility.
The following sections describe new features of
dupatch
.
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.
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:
If a Tru64 UNIX 4.0F Patch 1.00 is chosen for installation
and it depends upon TruCluster 1.6 Patch 17.00, which is not already
installed or chosen for installation, the
dupatch
installation precheck will warn you of the dependency and block
the installation of the Tru64 UNIX 4.0F Patch 1.00.
If the patch selections are reversed,
dupatch
will
still warn you and block installation of the chosen patch.
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.
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.
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.
The
dupatch
command-line mode contains the
following new switches:
The
-product
switch must be used when you
specify the
-install
or
-delete
switches when the target system has more than one installed product that is
on the kit (such as Tru64 UNIX Version 4.0F and TCR).
This switch allows you
to specify the product name that the rest of the patch operations will
affect.
The
-product
switch must precede the
-patch
switch on the command line.
See the
Patch Kit Installation Instructions
for more information.
A
-nolog
switch has been added to enable
you to turn off session logging.
The
-version
switch is no longer used for
delete.
Using this switch will cause an error and the help information
will be displayed on the screen.
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.
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.
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.
This section contains release notes for Patch 210.00.
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:
Shut down the system:
#
/usr/sbin/shutdown -h now
Boot
genvmunix
to single-user mode:
>>>
boot -fi genvmunix -fl s
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
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.
Save the old
/vmunix
file and move the
new kernel to
/vmunix
.
Shut down the system:
#
/usr/sbin/shutdown -h now
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.
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.
This section contains the release notes for Patch 118.00.
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
mmap
ed
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 affectmmap
ed buffers), just remove thesmsync2
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:
Remove the lines added above to
/etc/inittab
.
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.
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.
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:
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
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.
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
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.
If you encounter the following error message, you have most likely attempted to boot a kernel with the old load address:
Bootstrap address collision, image loading aborted
To boot old kernels:
P00>>>
set console_memory_allocation old
P00>>>
init
P00>>>
boot
Note
The generic kernel (
/genvmunix
) will boot withconsole_memory_allocation
set to old or new.
The patch kit installs a new
/usr/sbin/sizer
command.
If you rebuild the kernel using Section 4.5.1 or 4.5.2 of the
System Administration Manual, the new sizer will automatically
adjust the kernel's load address.
Note
If you customized your existing configuration file,
doconfig
allows you to edit the new configuration file so you can restore your customizations.
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.
The following release notes provide updated information for the
quotacheck
(8),
fsck
(8), and
fstab
(4)
reference pages.
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.
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.
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.