39 lines
1.6 KiB
Go
39 lines
1.6 KiB
Go
package types
|
|
|
|
/*
|
|
Note: Different machines may have different subsets of the CPU topology
|
|
parameters supported, so the actual meaning of the supported parameters
|
|
will vary accordingly. For example, for a machine type that supports a
|
|
three-level CPU hierarchy of sockets/cores/threads, the parameters will
|
|
sequentially mean as below:
|
|
sockets means the number of sockets on the machine board
|
|
cores means the number of cores in one socket
|
|
threads means the number of threads in one core
|
|
For a particular machine type board, an expected CPU topology hierarchy
|
|
can be defined through the supported sub-option. Unsupported parameters
|
|
can also be provided in addition to the sub-option, but their values
|
|
must be set as 1 in the purpose of correct parsing.
|
|
*/
|
|
type SMP struct {
|
|
// The number of initial CPUs
|
|
Cpus uint `json:"cpus,omitempty" omit:"tag"`
|
|
// Maximum number of total CPUs, including offline CPUs for hotplug, etc
|
|
MaxCpus uint `json:"maxcpus,omitempty"`
|
|
// Number of drawers on the machine board
|
|
Drawers uint `json:"drawers,omitempty"`
|
|
// Number of books in one drawer
|
|
Books uint `json:"books,omitempty"`
|
|
// Number of sockets in one book
|
|
Sockets uint `json:"sockets,omitempty"`
|
|
// Number of dies in one socket
|
|
Dies uint `json:"dies,omitempty"`
|
|
// Number of clusters in one die
|
|
Clusters uint `json:"clusters,omitempty"`
|
|
// Number of modules in one cluster
|
|
Modules uint `json:"modules,omitempty"`
|
|
// Number of cores in one module
|
|
Cores uint `json:"cores,omitempty"`
|
|
// Number of threads in one core
|
|
Threads uint `json:"threads,omitempty"`
|
|
}
|