Я работаю на чистой системе, в которой мне нужно определить через некоторое время после загрузки, сколько ядер и потоков включено, чтобы я мог отправлять им события SIPI. Я также хочу, чтобы каждый поток знал, какой это поток.
Например, в одноядерной конфигурации с включенным HT мы имеем (например, Intel Atom):
thread 0 --> core 0 thread 0
thread 1 --> core 0 thread 1
В двухъядерной конфигурации без HT мы имеем (например, Core 2 Duo):
thread 0 --> core 0 thread 0
thread 1 --> core 1 thread 0
Какой лучший способ определить это?
Редактировать: Я нашел, как каждый поток может найти, какой это поток. Я до сих пор не нашел, как определить количество ядер.