1 08/16/84  tune_disk, td
  2 
  3 Syntax:   tune_disk drive_name io_type {-load | -ld} n
  4                {-response | -rsp} m
  5           tune_disk reset_max
  6           tune_disk reset_sys
  7           tune_disk stagnate seconds
  8           tune_disk system io_type {-max n} {-map io_type}
  9 
 10 Function:  Permits a user with hphcs_ access to alter disk tuning
 11 parameters.
 12 
 13 
 14 Arguments:
 15 io_type
 16    An  io_type  is the name of a type of IO tunable by tune_disk.
 17    If  tune_disk  is  envoked  without  arguments it will print a
 18    usage message which includes the valid io_type names.
 19 
 20 drive_name
 21    Is  the  name  of  a disk drive to be tuned.  Drive names must
 22    begin  with  the three characters "dsk", followed by a letter,
 23    an underline and one or two numeric digits.
 24 
 25 -load n, -ld n
 26    This  argument  pair  defines  the  optimization maximum queue
 27    loadpoint  for  the  specified  drive.   It  is one of the two
 28    points  which  define  the  optimization  line.  If -load 1 is
 29    specified,  the  initial  response  value  is  the  optimizing
 30    multiplier and no load optimization is performed.
 31 
 32 
 33 -response m, -rsp m
 34    This  argument  pair defines the optimization maximum response
 35    value, which is the multiplier to be used for an IO type queue
 36    load of a single request.
 37 
 38 reset_max
 39    This  argument requests that all queue maximum depth meters be
 40    reset  in  the  disk_seg database.  The time and date at which
 41    the meters were last reset is also maintained in the database.
 42    This  argument is useful to permit a new/lower max depth to be
 43    seen  after altering tuning parameters, or after an Allocation
 44    Lock has occurred.
 45 
 46 
 47 reset_sys
 48    This argument requests that all system depth counters be reset
 49    to  0.   This  is  useful  after altering system depth counter
 50    mapping.   If  counter mapping has been changed while requests
 51    were in the queue, the counter which had been used may be left
 52    artificially  high.   Resetting  back  to  0  lets  the system
 53    correct the value.
 54 
 55 stagnate seconds
 56    This  argument  pair  specifies  a  change  of the system wide
 57    stagnation  time  period  to  the specified number of seconds.
 58    Tune_disk sets a maximum stagnation time period of 6 minutes.
 59 
 60 
 61 system
 62    This   argument   indicates   modification  of  a  system-wide
 63    optimization factor.  The maximum depth and/or mapping for the
 64    specified io_type will be altered.  If neither a maximum depth
 65    value, nor a mapping is altered an error message is issued.
 66 
 67 -map io_type
 68    This  argument  specifies  that the current depth counting for
 69    the  specified  system-wide  optimization entry should be done
 70    using the counter for io_type.  For example:
 71 
 72       tune_disk system PageRead -map PageWrite
 73 
 74    Would  have the depth counter for PageWrite used to accumulate
 75    the number of PageRead IO's currently outstanding.
 76 
 77 
 78 -max n
 79    This  argument  pair  indicates that the maximum depth for the
 80    specified  system-wide  optimization entry should be set to n.
 81    If  this  depth  is  reached then full optimization of this IO
 82    type will be done system wide for all drives.
 83 
 84 
 85 Notes:
 86    Optimization  is  performed  by determining a multiplier to be
 87    used  to  convert  a  Phsical  Seek Length into a Logical Seek
 88    Length,  for  the  purposes of determining the Nearest Logical
 89    Seek   to  perform  on  a  disk  drive.   The  Response  Point
 90    determines  what  this  multiplier  is  for a situation with a
 91    single  request  of  that  IO  type  in  the queue, and is the
 92    multiplier required to produce best system response.  The Load
 93    Point  specifies the number of requests permitted in the queue
 94    of  the  specified  IO  type  before full optimization occurs,
 95    Logical  Seek Length = Physical Seek Length.  These two values
 96    define the two endpoints of a straight line.  The optimization
 97    multiplier  is determined by the current load of the queue and
 98    its corresponding position on the straight line.
 99 
100 
101    System-wide   queue  loading  optimization  is  determined  by
102    looking  at the system-wide load of an IO type and the maximum
103    depth  it should be permitted before becoming fully optimized.
104    The fraction produced by:
105 
106       fraction = max (0.0, (max_depth - depth)/max_depth)
107 
108    is  used to alter the individual drive's IO type multiplier to
109    determine  the  system-wide queue loading effect on individual
110    drive optimization.
111 
112 
113    The  system-wide  optimization  utilizes a max_depth specified
114    for  the  IO  type,  and  a  counter  of  the current depth to
115    determine   the   system-wide   loading  optimization.   Depth
116    counters   can   be  mapped  together  to  form  an  aggregate
117    system-wide queue loading effect.  When decrementing, counters
118    are  not  permitted to become negative, but if re-mapped while
119    non-zero  they  may remain > 0 with no load.  The tuning tools
120    permit  resetting  the  current depth counters for system-wide
121    optimization  back  to  0, to let the system correct them to a
122    true load indication.
123 
124    All  queues  have  a high-water-mark accumulator.  This can be
125    reset through the tuning tools to permit a new high-water-mark
126    to be determined.