Как мне найти процессор, на котором работает текущий поток, для Mac и BSD?

Я ищу функцию в Mac OS и BSD, которая эквивалентна Linux sched_getcpu()и Windows GetCurrentProcessorNumberEx() для того, чтобы реализовать библиотеку для локального хранилища процессора. Ясно, что это можно эмулировать с помощью инструкций cpuid или rdtscp, но лучше работать с ядром: https://lkml.org/lkml/2007/1/6/190.

Я уже знаю, что текущий процессор потока может измениться, когда я использую информацию.

1 ответ

Есть один или два вопроса, которые касаются отслеживания очереди для OSX, а также вики-страницы dispatch_get_global_queue, которая покрывает эквивалент для BSD. Я не знаю, можете ли вы сопоставить очередь с процессором, но если это так, то это, кажется, самый близкий эквивалент.

Другие вопросы по тегам