Вмешаться в работу планировщика потоков
От: Философ Ад http://vk.com/id10256428
Дата: 25.06.20 05:20
Оценка:
Возможно ли? Насколько сложно?
Хочу запретить ему шедулить потоки на указанное ядро, чтобы он дёрнул на нём halt и больше не будил.
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Вмешаться в работу планировщика потоков
От: mike_rs Россия  
Дата: 25.06.20 08:10
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Возможно ли? Насколько сложно?

Ф>Хочу запретить ему шедулить потоки на указанное ядро, чтобы он дёрнул на нём halt и больше не будил.

KeSetSystemAffinityThreadEx не подойдет ?
Re[2]: Вмешаться в работу планировщика потоков
От: Философ Ад http://vk.com/id10256428
Дата: 25.06.20 08:29
Оценка:
Здравствуйте, mike_rs, Вы писали:

_>Здравствуйте, Философ, Вы писали:


Ф>>Возможно ли? Насколько сложно?

Ф>>Хочу запретить ему шедулить потоки на указанное ядро, чтобы он дёрнул на нём halt и больше не будил.

_>KeSetSystemAffinityThreadEx не подойдет ?


Что-то не догоняю, чем мне это поможет: это для текущего потока. Предлагаешь влезть в каждый поток и каждому потоку это дёрнуть?
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Вмешаться в работу планировщика потоков
От: Слава  
Дата: 25.06.20 08:43
Оценка: 3 (1)
Здравствуйте, Философ, Вы писали:

Ф>Возможно ли? Насколько сложно?

Ф>Хочу запретить ему шедулить потоки на указанное ядро, чтобы он дёрнул на нём halt и больше не будил.

Может вам проще скомпилировать вашу программу под bare metal? И запустить в окружении вроде https://github.com/cirosantilli/x86-bare-metal-examples
Re[3]: Вмешаться в работу планировщика потоков
От: mike_rs Россия  
Дата: 25.06.20 09:36
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, mike_rs, Вы писали:


_>>Здравствуйте, Философ, Вы писали:


Ф>>>Возможно ли? Насколько сложно?

Ф>>>Хочу запретить ему шедулить потоки на указанное ядро, чтобы он дёрнул на нём halt и больше не будил.

_>>KeSetSystemAffinityThreadEx не подойдет ?


Ф>Что-то не догоняю, чем мне это поможет: это для текущего потока. Предлагаешь влезть в каждый поток и каждому потоку это дёрнуть?


да, именно так, перепланируй свои потоки на те ядра, которые считаешь нужными. Ты задачу свою уточни, из вопроса совершенно неясна цель, которую предполагается достигнуть. Вот например такое еще есть: KeStallExecutionProcessor. Сначала треду планируешь на нужный процессор, потом stall ему на любое время.
Отредактировано 25.06.2020 9:39 mike_rs . Предыдущая версия .
Re: Вмешаться в работу планировщика потоков
От: кт  
Дата: 25.06.20 10:57
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Возможно ли? Насколько сложно?

Ф>Хочу запретить ему шедулить потоки на указанное ядро, чтобы он дёрнул на нём halt и больше не будил.

с планировщиком вот так пробовали:

http://files.rsdn.org/122727/pl1ex17.doc
Re: Вмешаться в работу планировщика потоков
От: ononim  
Дата: 07.07.20 08:52
Оценка:
Ф>Возможно ли? Насколько сложно?
Ф>Хочу запретить ему шедулить потоки на указанное ядро, чтобы он дёрнул на нём halt и больше не будил.
Ну, потокам положим можно аффинити проставить, но IRQ-то продолжат приходить, или на это пофиг?
Как много веселых ребят, и все делают велосипед...
Re[2]: Вмешаться в работу планировщика потоков
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.07.20 10:38
Оценка:
Здравствуйте, ononim, Вы писали:

O>Ну, потокам положим можно аффинити проставить, но IRQ-то продолжат приходить, или на это пофиг?


Да и по фигу бы на IRQ/DPC, если бы требования MS по времени их работы выполнялись хотя бы для их собственного кода.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.