Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт сен 26, 2017 10:27 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 81 сообщение ]  На страницу Пред. 1 2 3 4 5 6 След.
Автор Сообщение
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Вт май 14, 2013 11:40 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
art_zh писал(а):
А если без [DONT_SWITCH] - тогда тоже как-то нечестно получается, ведь от предыдущего кванта уже отгрызли несколько кусочков.

Я проверил на реальной машине - без проверки [DONT_SWITCH] все распределяется равноправно. Запускал 5 протоков-обжор.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Вт май 14, 2013 11:41 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
art_zh писал(а):
я против: это не баг.
так лучше.

Просьба разжевать - чем лучше. Я не врубился в ход твоей мысли.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Вт май 14, 2013 11:53 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
а ты запусти перед первым обжорой несколько более активных процессов (например 5 GMON"ов с короткими периодами) - сам увидишь как сократится его квант по сравнению со вторым.

в эмуляторах даже мышиная возня и перемещение окон даст требуемый фифект.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Вт май 14, 2013 11:55 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Я за изменение. Такое распределение квантов - баг. А если пытаться сделать из него фичу, получатся грабли, и кто-нибудь на них обязательно наступит.
Mario_r4
Раз у тебя уже протестировано - заливай.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:01 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
art_zh
Проблема решается повышением частоты таймера и увеличением числа тиков в кванте.

ИМХО лучшим вариантом было бы увеличение кванта в 2-4 раза, и соответственно уменьшение накладных расходов на переключения контекста.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:03 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Блин, вы чо, перепились оба, что ли?

Это же тогда реальный баг будет - первые пустышки будут отъедать время у последующего "длинного" процесса.

И не важно какой период у кванта (его наоборот сокращать нужно, а не удлиннять) - всегда кто-то может съесть 99% времени и с чистой совестью отдать остаток на переключение.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:09 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
art_zh
Вот для этого и надо частоту таймера повышать и больше тиков в кванте. Если в кванте 10 тиков поток в худшем случае потеряет 1 тик - 10% времени.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:14 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Serge писал(а):
art_zh
Проблема решается повышением частоты таймера и увеличением числа тиков в кванте.

ИМХО лучшим вариантом было бы увеличение кванта в 2-4 раза, и соответственно уменьшение накладных расходов на переключения контекста.

Помнится я такое уже предлагал на форуме и мне ЕМНИП ты же и возражал, что зачем 100500 раз вызывать шедулер и расходовать понапрасну ресурсы процессора.

З.Ы. вот тут все происходило viewtopic.php?f=1&t=1307 и я извиняюсь - зря гнал, это мне Артем возражал viewtopic.php?f=1&t=1307&start=28

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Последний раз редактировалось Mario_r4 Ср май 15, 2013 12:23 am, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:21 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Представьте, что перед обжорой сидит процесс (или несколько процессов), потребляющий 90% времени кванта (неважно, сколько тиков в кванте).
Сейчас обжоре достается 110% времени. Это фича, с ней мы живем и здравствуем.

А если убрать DONT_SWITCH - тогда 10%.
И ничего поделать уже с этим будет нельзя, это будет реальный баг.


Последний раз редактировалось art_zh Ср май 15, 2013 12:22 am, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:22 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Mario_r4
Сдаётся мне, ты не прав. Я писал примерно то же, что и выше. Увеличиваем частоту и кол-во тиков в кванте. То есть вызываем планировщик не каждый тик, а каждый второй, четвёртый, пятый или десятый, в зависимости от частоты таймера. Именно это я имел ввиду.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:24 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Serge писал(а):
Mario_r4
Сдаётся мне, ты не прав. Я писал примерно то же, что и выше. Увеличиваем частоту и кол-во тиков в кванте. То есть вызываем планировщик не каждый тик, а каждый второй, четвёртый, пятый или десятый, в зависимости от частоты таймера. Именно это я имел ввиду.

Я отписался в предыдущем посте - извиняюсь был не прав, это Артем возражал.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:27 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
art_zh
Вот как раз важно, сколько тиков в кванте. Потому что между потоками всегда разделяется 1 тик. У на квант 1 тик и делится весь квант. Если квант 5 тиков делиться будет 0.2 кванта.

Накладные расходы на вызов прерывания около 300 тактов. Не так и много.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:28 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
ИМХО конечно, но лучше 100 или 1000 тиков на квант тогда, чтобы красиво и без потерь.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:30 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Сильно частоту задирать тоже не надо.


Вернуться к началу
 Заголовок сообщения: Re: Работа планировщика задач
СообщениеДобавлено: Ср май 15, 2013 12:32 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
А сколько приходится на больших системах на квант тиков? Более всего меня интересует как с этим делом обстоит в QNX - это ведь хороший такой пример для подражания.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 81 сообщение ]  На страницу Пред. 1 2 3 4 5 6 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB