The /etc/patch/pdo.conf file is used to specify the number of processes that are forked to execute the patch utilities in a parallel fashion on a zoned system.
This file is used by the pdo binary which the patching utilities are linked to after a patch has been successfully added or removed from the global zone.
In the current version of pdo.conf file, there is only one entry that is present. As future changes could be made to this pdo.conf, no application other than the patching utilities should rely on the layout of this file.
Entries in the pdo.conf file have the following format:
The following definitions are part of the format:
Key for this record. Specifies the number of process to fork that are used by the patching utilities
Standard delimiter used for parsing the record
Value for the key determining the to be forked processes.
The value of the actual number of processes is determined by the following three factors:
Number of online CPUs
Number of non global zones in the system
This value is set to 1 by default, which means that old (serial) patching behavior is followed.
If the value of num_proc is less than the online CPUs and zones in the system, then this value is used. However, if it is greater than the number of online CPUs but less than the number of zones, then a value equal to the 1.5 times the number of online CPUs is used. If the value of num_proc is more than then number of zones present, then the minimum of the number of 1.5 times of online CPUs and number of zones are used to fork processes.
The pdo.conf file uses the following rules for parsing:
There can be any number of white space characters anywhere in the file
There can be only one valid entry in this file of the form discussed above, parser returns a failure if such an entry is not present.
An entry which starts with #character is considered to be a comment and are not be processed
An entry can begin with any number of white space characters and then followed by an ascii character. The following character should be forming a string of the form num_proc. If such a string is not found, parsing returns an error.
If num_proc string is found in an entry, then the next valid character can only be a = character. Its an error if such a character is not found
The next character following = can not be a ascii character which is not a digit. If such an ascii character is present its an error.
Having parsed all digits after = character, parser proceeds to check if there are any white space characters following the last digit or is it immediately followed by an ascii character which is not a space but either # or any other ascii character. If such an occurrence is there, then it is an error.
The parser literally follows all the above rules until it finds an entry which matches all the rules which means that the parser has successfully parsed the configuration file
# # This file contains key value pair of the following format. There # is only one legal entry which starts with num_proc key. This key # is followed by a delimiter '=' which is then immediately followed # by a value which determines the number of processes to be forked. # To get better performance, it is advisable to keep the num_proc # value equal to the number of online CPUs in the system. For more # details read the section 4 man page of /etc/patch/pdo.conf # # Format: # # num_proc=<num_of_processes> # # where: # # num_proc is the key for this record. It specifies # the number of process # to fork that will be used by the patching utilities # # = the standard delimiter used for parsing the record # #<num_of_processes> the value for the key determining the to be forked # processes # The value of actual number of proceses is determined # by the # following three factors mentioned in 'Factors # determining # procesesse to be forked' num_proc=10 # fork 10 processes
See attributes(5) for descriptions of the following attributes: