Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
купить дешевый 
компьютер родом из Dhgate.com




Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

На главную -> MyLDP -> Тематический каталог -> Аппаратное обеспечение

Что каждый программист должен знать о памяти.

Часть 9: Приложения и библиография


Назад Оглавление Вперед

12.1 Поиск потоков, принадлежащих данному процессору (потоков-братьев)

Чтобы спланировать вспомогательные потоки, или иные потоки, которые получат выигрыш, если их выполнение будет запланировано на данном процессоре, можно воспользоваться кодом, аналогичным следующему.

cpu_set_t cur;
CPU_ZERO(&cur);
CPU_SET(cpunr, &cur);
cpu_set_t hyperths;
NUMA_cpu_level_mask(sizeof(hyperths), &hyperths, sizeof(cur), &cur, 1);
CPU_CLR(cpunr, &hyperths);

Сначала код с помощью cpunr создает для указанного процессора битовый набор. Зтаем этот набор передаются в NUMA_cpu_level_mask вместе с пятым параметр, указывающий, что мы ищем гиперпотоки. Результат возвращается в битовом наборе hyperths. Все, что остается сделать, это очистить бит соответствующий исходному процессору.


Назад Оглавление Вперед

Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют