[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Динамически включать-выключать CPU



2011/9/10 Иван Лох <loh@1917.com>:

>> И узнать, какой процесс как называется, никак нельзя? А то kswapd0
>> вроде тоже в контексте ядра должен быть, а top знает как его зовут.
>
> ps aux -- те, что в квадратных скобках

Нагуглил другой способ - спасибо за ключевые слова, без них не нагуглилось.

cat /proc/$pid/status | grep name

> Пока syslog не запущен то printk только так. А потом можно logger

У меня "вместо init", значит printk. Значит Си. Я пока пытаюсь Сей
избежать, так что обойдусь :) Хотя если где-нибудь есть исходник, из
коего можно сделать /bin/printk...

При помощи простенького питонного скрипта с os.system() я узнал, какие
же процессы у меня остались не в новом cpuset:

Name:	migration/0
Name:	ksoftirqd/0
Name:	watchdog/0
Name:	migration/1
Name:	ksoftirqd/1
Name:	watchdog/1
Name:	events/0
Name:	events/1
Name:	kintegrityd/0
Name:	kintegrityd/1
Name:	kblockd/0
Name:	kblockd/1
Name:	kondemand/0
Name:	kondemand/1
Name:	aio/0
Name:	aio/1
Name:	crypto/0
Name:	crypto/1
Name:	ata/0
Name:	ata/1

Для сравнения:


$ cat /proc/31/status | grep Name
Name:	kswapd0

Таким образом, /0  или /1 это такие CPU affinity. Это подтверждается
просмотром полного /proc/$pid/status - там есть пункт
Cpus_allowed_list и в нём для данных процессов указан 0 или 1.

Более того. Точно такие же процессы имеются при isolcpus=1 - и для CPU
1 тоже. Значит, мне удалось полностью реплицировать isolcpus на
cpusets.

Прикол в том, что на эту тему нагуглился разговор в LKML, там isolcpus
хотели отменить, но нашлись юзеры, его применяющие. Вот переписать моё
решение на Сях, уонфиг ему сделать - и закинуть в LKML как
уж-совсем-полный аналог isolcpus?

Ладно, это потом, сначала узнаем, пропадут ли зависы. Пока погонял
сколько-то с no_hz=off - не зависло, а обычно с ним висло быстро...

(И кстати, если пропадут - стоит ли пытаться искать баг, возвращая
задачи на оба процессора? Или заработало - и ладно? Или можно так:
заработало - и ладно, но написать в ЖЖ на английском и русском
решение, чтобы следующие напоровшиеся смогли его найти?)

Кстати, всем огромное спасибо - я бы не добрался до столь странного
решения без КУЧИ подсказок.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization

Reply to: