LINUX.ORG.RU
ФорумTalks

А может случиться бесконечный цикл в ядре?

 


1

1

Может ли в ядре случиться бесконечный цикол так, чтобы ядро продолжило нормально работать.
Только на 25%/50% медленнее (типа timesharing система, мультизадачность все дела)?

Да, я был хреновый ученик по архитектуре, я ничего не смыслю с этом.



Последнее исправление: trupanka (всего исправлений: 2)

ядро само по себе выполняется в бесконечном цикле и никогда не завершится. ну, если только не прибить init процесс с pid=1, тогда ядро вывалится в панику и на этом цикл завершится.

Spoofing ★★★★★
()
Ответ на: комментарий от Spoofing

А еще один цикл в цикле ядра, и чтобы еще половину процессора сжирал. Как в обычных моих программах, только в ядре. Такое возможно? Интересно, этот цикл же был бы многопоточный, равномерно размазан на все ядра?

trupanka
() автор топика

Можно сделать отдельный поток и там запустить бесконечный цикл. Или несколько потоков. (В ядре.)

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от trupanka

Есть ядерные потоки, вполне возможно отожрать одно или несколько ядер.

atrus ★★★★★
()
Ответ на: комментарий от trupanka

А можно приоритет сделать для этой штуки, чтобы затроллить планировщик?
И чему вообще в ядре отдается наибольший приоритет - IO? Можно как-нибудь дергать IO из userspace-а, ничего на самом деле не делая? Чтобы в top/htop не было особо видно активности, и чтобы модули ядра, где проходит бессмысленная работа не палились?

trupanka
() автор топика
Ответ на: комментарий от trupanka

Отчасти этой темой навеяны такие мыслишки Загрузка второго ядра на 30-40%
Но у него там IO отжирает почему-то. Это не очень интересно.
Процесс ядра же можно вообще скрыть ото всех userspace утилит.

trupanka
() автор топика

бывает что после сбоя в какой-нибудь подсистеме ядра, процесс может застрять при вызове сисколла, отъедая 100% cpu (относительно 1 ядра) в перманентном R состоянии. возможно это тот случай.

Rost ★★★★★
()
Последнее исправление: Rost (всего исправлений: 1)
Ответ на: комментарий от Rost

помнится на ядрах 2.4 команда rmmod ip_conntrack практически всегда приводила к подобному результату :)

Rost ★★★★★
()
Ответ на: комментарий от Rost

Хех. А почему одно ядро? Планироващик разве закрепляет процесс (или как это называется в ядре) за каким-то конкретным ядром?

trupanka
() автор топика
Ответ на: комментарий от trupanka

Процесс миграции не мгновенный. Пока он будет происходить, другое ядро будет свободно, в итоге не получится 100% загрузки. Ну и да, бестолку ничто между ядрами не мигрирует, это снижает производительность.

nvidia
()
Ответ на: комментарий от drull

А что может быть страшнее слов? Только глупость. Для глупости не нужны слова...

Stahl ★★☆
()

Опенсорс же! Берёшь ядро, вставляешь цикл, компиляешь и грузишь!

Pythagoras ★★
()

Может ли в ядре случиться бесконечный цикол так, чтобы ядро продолжило нормально работать.

Ну разве что у тебя будут постоянно ворнинги про softlockup сыпаться.

kirk_johnson ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.