HyperThreading and CPU topologies.

Poul-Henning Kamp phk at phk.freebsd.dk
Thu Jun 12 04:46:01 PDT 2003


In message <20030612051553.J36168-100000 at mail.chesapeake.net>, Jeff Roberson wr
ites:
>Index: smp.h
>===================================================================
>RCS file: /home/ncvs/src/sys/sys/smp.h,v
>retrieving revision 1.72
>diff -r1.72 smp.h
>19a20,46
>>
>> /*
>>  * Topology of a NUMA or HTT system.
>>  *
>>  * The top level topology is an array of pointers to groups.  Each group
>>  * contains a bitmask of cpus in its group or subgroups.  It may also
>>  * contain a pointer to an array of child groups.
>>  *
>>  * The bitmasks at non leaf groups may be used by consumers who support
>>  * a smaller depth than the hardware provides.
>>  *
>>  * The topology may be omitted by systems where all CPUs are equal.
>>  */
>>
>> struct cpu_group {
>>       int     cg_mask;                /* Mask of cpus in this group. */

u_int ?

uint32_t ?

>>       int     cg_count;               /* Count of cpus in this group. */
>>       int     cg_children;            /* Number of children groups. */
>>       struct cpu_group **cg_child;    /* Optional child group. */
>> };
>>
>> struct cpu_top {
>>       int     ct_count;               /* Count of groups. */
>>       struct cpu_group **ct_group;    /* Array of pointers to cpu
>groups. */
>> };
>>
>> extern struct cpu_top *smp_topology;

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-arch mailing list