Я читаю на екрані процесора за допомогою утиліти Алекса Царіунова cset
тут: https://rt.wiki.kernel.org/index.php/Cpuset_Management_Utility/tutorial
У підручнику я знаходжу формулювання навколо мігруючих потоків ядра від доступу до всіх cpus до запуску лише в певному cpuset трохи неоднозначно
У підручнику сказано наступне:
Деякі потоки ядра також можуть бути переміщені в незахищений системний процесор. Це потоки, не пов'язані з конкретними процесорами.
Якщо потік ядра пов'язаний з певним процесором, то, як правило, не дуже зручно переміщувати цей потік до системного набору, оскільки, в гіршому випадку, він може повісити систему і в кращому випадку це значно сповільнить систему. Такі потоки, як правило, є потоками IRQ в ядрі Linux в реальному часі, наприклад, і ви, можливо, захочете не переміщувати ці потоки ядра в систему . Якщо ви залишите їх у кореневому процесорі, вони матимуть доступ до всіх процесорів.
Потім підручник продовжує говорити:
Однак якщо ваш додаток вимагає рівного "тихішого" екрана, ви можете перемістити всі рухомі нитки ядра в незахищену систему, встановлену за допомогою наступної команди.
[zuul:cpuset-trunk]# cset shield -k on cset: --> activating kthread
shielding cset: kthread shield activated, moving 70 tasks into system
cpuset... [==================================================]% cset:
done
Мене бентежить це останнє речення. Вживаючи слово, однак , здається, що ви зазвичай не повинні переміщувати рухомі нитки ядра в незахищений набір системи .
Це так, чи безпечно переміщувати нитки ядра, які можна перемістити в процесор, тим самим не даючи їм працювати на якомусь процесорі?