Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
9223372036854775807
Description
In seciton 26.4. "libcfs Tuning" there is mention of the way CPU partitions (CPT) are made, but no examples how they are used. For example, for cpu_patterns, you would use:
options libcfs cpu_pattern="0[0-17] 1[18-36]"
to define it. There is nothing that shows what to do with it once it is defined. There are several ways to use CPU partitions.. I discovered these from a LAD 2012 presentation:
http://www.eofs.eu/_media/events/lad12/09_gregoire_pichon_bull_lustre_smp_scalability.pdf
The tuneable that can use the CPT
- MDS threads : mds_num_cpts, mds_rdpg_num_cpts, mds_attr_num_cpts
- OSS threads : oss_cpts, oss_io_cpts
- ldlm threads : ldlm_cpts
This, and if there are other, should be documented in the manual.
You can also tie an interface to a CPT by adding a "<CPU partition #>". For example when you define the interface in lustre.conf as "o2ib0(ib0)" to have this interface use CPT 1, you would use "o2ib0(ib0) [1}".
An example lustre.conf would be:
options libcfs cpu_pattern="0[0-17] 1[18-36]"
options lnet networks="o2ib0(ib0)[1]"
options ost oss_io_cpts="[0]" oss_cpts="[1]"
assigned 02ib0 to CPT1, OSS I/O to CPT1 and non-io to CPT1