|
2.2, al (??), 13:33, 20/06/2012 [^] [^^] [^^^] [ответить]
| +5 +/– |
для разных задач, свой планировщик. Разве по поводу зоопарка fs кто-то возникает?
| |
|
3.3, Аноним (-), 14:05, 20/06/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> для разных задач, свой планировщик. Разве по поводу зоопарка fs кто-то возникает?
Да, возникают многие, тысячи их. В каждой теме про ext4/btrfs/ZFS/любую ФС обязательно найдётся комментарий вида "чем оно лучше ext4/btrfs/ZFS/любой другой ФС", как будто такое сравнение корректно.
| |
|
|
3.7, ВовкаОсиист (ok), 14:16, 20/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
блеа, не дописал. Как говорилось каждый под конкретную задачу. Это опенсорс, здесь делают ПО для железа, а не железо для ПО.
| |
|
4.11, ананим (?), 14:35, 20/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Это опенсорс, здесь делают ПО для железа, а не железо для ПО.
неа.
тут делают то, что кому интересно и/или выгодно.
всё остальное — следствие.
| |
|
|
|
1.5, Аноним (-), 14:14, 20/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Планировщик без поддержки cgroups подобен плееру без поддержки проигрывания медиа.
Конечно, можно натолкать туда всякие полезные фичи типа прожига дисков, заливания фоточек на фейсбук и отображения погоды на рабочем столе, но как плеер оно лучше не станет.
| |
1.9, Аноним (-), 14:20, 20/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> По сравнению со штатным планировщиком CFS проект RIFS-ES демонстрирует довольно существенное повышение отзывчивости: пробуждение через 10 usec для RIFS-ES против 21 usec для CFS для одного клиента, 30/19 usec для двух клиентов (RIFS-ES проигрывает), 2342/4900 usec для четырёх, 6112/8068 usec для восьми и 9690/17497 для шестнадцати.
При этом в штатном планировщике, разумеется, не настроена группировка процессов, и таким образом он поставлен в заведомо невыгодное положение.
Что-то мне подсказывает, что при использовании ulatencyd или systemd, CFS порвет этот велосипед как тузик грелку.
| |
|
2.34, Аноним (-), 16:33, 20/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
что-то мне подсказывает что с групировкой процессов мы получим щедулинг близкий к M:N - от которого автор CFS бежал и кричал что ненужно.
| |
|
|
2.13, Аноним (-), 14:49, 20/06/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
Видимо, у разработчика на компе уже стоит новый шедулер, и процесс, занимающийся заливкой кода в репу, отправлен в бессрочный слип (ввиду недостаточной "интерактивности").
| |
|
1.14, pavlinux (ok), 15:00, 20/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
/*
* By default the system creates a single root-domain with all cpus as
* members (mimicking the global state we have today).
*/
static struct root_domain def_root_domain;
int __weak arch_sd_sibling_asym_packing(void)
{
return 0*SD_ASYM_PACKING;
}
Вот как-то так... :)
| |
|
2.16, Аноним (-), 15:11, 20/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Моя нипанимат. Они в ретёрне умножают на ноль чтоле? Тогда просто почему не вернуть ноль? lol
| |
|
3.17, pavlinux (ok), 15:13, 20/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Моя нипанимат. Они в ретёрне умножают на ноль чтоле? Тогда просто почему
> не вернуть ноль? lol
Надо было дописать /* reserved for future usage */
:D
Ща ещё
---
Вот это функция resched_task из RIFS-ES
static void resched_task(struct task_struct *p)
{
int cpu;
assert_raw_spin_locked(&grq.lock);
if (unlikely(test_tsk_thread_flag(p, TIF_NEED_RESCHED)))
return;
set_tsk_thread_flag(p, TIF_NEED_RESCHED);
cpu = task_cpu(p);
if (cpu == smp_processor_id())
return;
/* NEED_RESCHED must be visible before we test polling */
smp_mb();
if (!tsk_is_polling(p))
smp_send_reschedule(cpu);
}
эта из CFQ
void resched_task(struct task_struct *p)
{
int cpu;
assert_raw_spin_locked(&task_rq(p)->lock);
if (test_tsk_need_resched(p))
return;
set_tsk_need_resched(p);
cpu = task_cpu(p);
if (cpu == smp_processor_id())
return;
/* NEED_RESCHED must be visible before we test polling */
smp_mb();
if (!tsk_is_polling(p))
smp_send_reschedule(cpu);
}
| |
|
4.19, Аноним (-), 15:18, 20/06/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
lol. Кстате, я конечно не супер-пупер Си программер, но увидел это - (struct task_struct *p). А эти ребята поро typedef struct foo1 foo0; знают?
| |
|
|
6.30, ананим (?), 15:54, 20/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
ну а тут тебя это смущает что ли?
set_tsk_thread_flag(p, TIF_NEED_RESCHED)
и
set_tsk_need_resched(p)
| |
|
5.23, bircoph (ok), 15:24, 20/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нет никакого смысла пихать typedef направо и налево. Часто удобнее оставить struct str_t *abc как есть. Это делает код понятнее, потому что не нужно грепать, что же за foo0 скрыто.
| |
|
|
3.18, анон (?), 15:17, 20/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Может быть для того, чтобы когда захочется не 0, не забыть умножить на что полагается
| |
|
4.20, Аноним (-), 15:19, 20/06/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ну вот когда надо будет, тогда и пишите. Пока не надо - это просто лишние такты в помойку, хотя может и не критично, в зависимости как часто эту функцию вызывают.
| |
4.24, bircoph (ok), 15:25, 20/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Может быть для того, чтобы когда захочется не 0, не забыть умножить
> на что полагается
Для таких случаев делают комментарий, а не тупую бесполезную операцию в надежде "компилятор это исправит".
| |
|
|
|
1.21, pavlinux (ok), 15:23, 20/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
#define DEFAULT_PRIO (MAX_RT_PRIO + 20)
Ну чё, талант, Инго Молнар раньше тоже так делал,
правда он скромнее был, он всего лишь 6 приплюсовывал :)
| |
|
2.25, Аноним (-), 15:25, 20/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
Меня терзают смутные сомнения, что это очередные авантюристы, накопипастившие код CFQ и немного его поправившие в нужную сторону.
| |
|
3.27, pavlinux (ok), 15:34, 20/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Меня терзают смутные сомнения, что это очередные авантюристы, накопипастившие код CFQ
> и немного его поправившие в нужную сторону.
А это все планировщики такие будут. Они отличаются только алгоритмами
определения задачи которую нужно поставить в очередь на проц,
дальше вызывается smp_send_reschedule().
Так что, задача планировщика - это сказать "хочу вот эту!"
| |
|
|
|
2.28, Аноним (-), 15:35, 20/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Некоторые видят только то, что хотят видеть. Остальное - не видят в упор. Парадокс.
| |
|
|