Linux закрепляет несколько потоков пользовательского пространства к ядру в изолированном списке процессоров ⇐ Linux
-
Anonymous
Linux закрепляет несколько потоков пользовательского пространства к ядру в изолированном списке процессоров
Я провожу эксперимент на Ubuntu 7.9. Мое приложение C++ закрепляет один поток на ядре (скажем, 18, который взят из списка изолированных процессоров, выбранного из /sys/devices/system/cpu/isolated) с помощью pthread_setaffinity_np.
Пока мое приложение работает, top подтверждает, что ядро 18 загружено на 100% и там работает поток моего приложения. Однако я могу выполнить следующую команду несколько раз, что указывает на то, что несколько потоков пользовательского пространства также могут быть закреплены за ядром 18. top подтверждает это.
taskset -c 18 Sleep 200000 & Мне интересно, почему это разрешено? данное ядро 18 находится в списке изолированных процессоров.
Я провожу эксперимент на Ubuntu 7.9. Мое приложение C++ закрепляет один поток на ядре (скажем, 18, который взят из списка изолированных процессоров, выбранного из /sys/devices/system/cpu/isolated) с помощью pthread_setaffinity_np.
Пока мое приложение работает, top подтверждает, что ядро 18 загружено на 100% и там работает поток моего приложения. Однако я могу выполнить следующую команду несколько раз, что указывает на то, что несколько потоков пользовательского пространства также могут быть закреплены за ядром 18. top подтверждает это.
taskset -c 18 Sleep 200000 & Мне интересно, почему это разрешено? данное ядро 18 находится в списке изолированных процессоров.
Мобильная версия