Как мне найти процессор, на котором работает текущий поток, для 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. Я не знаю, можете ли вы сопоставить очередь с процессором, но если это так, то это, кажется, самый близкий эквивалент.