The following figure shows how pools work when the pool property is assigned to a datalink.
Figure 7-1 pool Property of a VNIC Assigned to a Zone
In the figure, the system has eight CPUs. When no pools are configured on the system, all the CPUs belong to the default pool and are used by the global zone. However, in this example, the pool99 pool has been created and consists of CPU 3 and CPU 4. This pool is associated with zone1, which is an exclusive zone. If pool99 is set as a property of vnic1, then pool99 becomes dedicated to also manage vnic1's networking processes. After vnic1 is assigned to be zone1's network interface, the CPUs in pool99 are reserved to manage both networking and non-networking processes of zone1.
The pool property is dynamic in nature. Zone pools can be configured with a range of CPUs, and the kernel determines which CPUs are assigned to the pool's CPU set. Changes to the pool are automatically implemented for the datalink, which simplifies pool administration for that link. In contrast, assigning specific CPUs to the link by using the cpu property requires you to specify the CPU to be assigned. You have to set the cpu property every time you want to change the CPU components of the pool.
For example, suppose that the system CPU 4 in Figure 7–1 is taken offline. Because the pool property is dynamic, the software automatically associates an additional CPU with the pool. Hence, the pool's original configuration of two CPUs is preserved. For vnic1, the change is transparent. The updated configuration is shown in the following figure.
Figure 7-2 Automatic Reconfiguration of the pool Property
When you use the dladm show-linkprop command to display information for a datalink, the value in the EFFECTIVE column for the pool and cpus datalink properties indicates the current system-selected value of those properties.
The following read-only values are displayed for the pool and cpus properties:
For the pool datalink property, the value in the EFFECTIVE column indicates the pool that is used for network processes.
For the cpus datalink property, the value in the EFFECTIVE column indicates the CPUs that are used for network processes. For an example that shows how to display the cpus property for a datalink, see Example 7–5.
To manage the CPU resources of a zone, you do not need to set a datalink's pool property. You can use commands such as zonecfg and poolcfg to configure a zone to use a pool of resources. When the cpus and pool link properties are not set for a datalink, the value in the EFFECTIVE column of the pool and the cpus properties of the datalinks are set automatically according to the zone configurations when the zone is booted. The default pool is displayed in the EFFECTIVE column of the pool property and the system selects the value in the EFFECTIVE column of the cpus property. Therefore, if you use the dladm show-linkprop command, the value of the pool and cpus properties is empty but values are displayed in the EFFECTIVE column of the pool and cpus properties.
You can also directly set the pool and cpu properties of a datalink to assign a zone's CPU pool for networking processes. After you configure these properties, their values are reflected in the EFFECTIVE column of the pool and cpus properties. However, this alternative method is used less often to manage a zone's network resources.