The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Линус Торвальдс опроверг проблемы с планировщиком задач, всп..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Линус Торвальдс опроверг проблемы с планировщиком задач, всп..." +/
Сообщение от Аноним (136), 06-Янв-20, 16:06 
> Люблю когда по делу переписка.

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

> По первому куску кода WRK:
> Не знаю, зачем сюда уже подмешивать механизм context swap, который чаще всего
> выполняется в конце работы планировщика.

Не читал первую ссылку, но исхожу из того, что её автор "busy" не сам придумал, а откуда-то выцепил. Из вышеприведённого или подобного куска. Ссылка на KiIdleLoop - намёк на казалось бы просто вопрос "на каком IRQL выполняется спящий поток?", которым можно много кого завалить.

> По второму куску кода WRK:
> К чему он вообще? Он отвечает за завершение итерации idle loop, когда
> новый поток выполнения не найден, или найден, но на него переключиться
> нельзя (по разным причинам, например изменение affinity после перехода в standby
> режим потока).
> Unconditionally - это скорее подчёркивает, что поскольку этот поток ничего полезного не
> делает (только спиннит ядро в ожидании работы), то никаких дополнительных условий
> при выборе ядра для нового потока в очереди выполнения проверять не
> надо.

К "просто потому что появилось idle ядро", которую каждый понял по-своему. Тут как раз "swap from idle to idle".

>> Во вторых, смена процессора выполнения потока "просто потому что появилось idle ядро" никогда не происходит.
> Я пишу про то, что поток, выполнявшийся на одном ядре, без очень
> весомой причины (до сборки 19536, в ней это стало происходить чаще
> благодаря новому Cache Aware Scheduling) не станет выполняться на другом ядре,
> т.к. Ideal processor чаще всего остаётся неизменным в thread lifecycle.

К примеру, у нас 2 ядра и 4 потока. 2 выполняются на одном ядре, 2 на другом. Первые 2 завершились. Это весомая причина? Понятно, что должно быть перераспределение.

> Ну и в целом, приводить в пример урезанное ядро Windows XP -
> скучно. Реверс Windows 10 - совсем иные ощущения.

Представляю, какие были ощущения у online-solutions.ru
когда MS выкатило очередной подарок. :)

> Зато я нашёл ошибку в своём начальном посте: Stride - свойство KNODE
> конечно, а не KPRCB (ноды, а не конкретного ядра).

А что, сейчас такие вещи нигде толком не обсуждаются?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Линус Торвальдс опроверг проблемы с планировщиком задач, всп..., opennews, 06-Янв-20, 10:21  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру