The OpenNET Project / Index page

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

idle priority (idle proccess)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: idle, proccess,  (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Boris Tobotras 2:5020/510 Thu 17 Sep 98 21:13 Subj : Re: idle priority ________________________________________________________________________________ >>>>> "Leonid" == Leonid Broukhis writes: Leonid> Вероятность того, что nice 19 процесс _реально отберет_ квант у Leonid> более приоритетного процесса настолько мала, Uh-oh. С чего это она мала? Leonid> что мне бы хотелось видеть реальные цифры увеличения пропускной Leonid> способности системы после введения SCHED_IDLE. Иначе не поверю. # include <sys/types.h> # include <unistd.h> # include <signal.h> # include <sched.h> volatile int done; long counter; void canceller( int n ) { done = 1; } void do_something( void ) { if ( ++counter == 0 ) printf( "Overflow!!!\n" ); } void run_normal( void ) { signal( SIGALRM, canceller ); alarm( 10 ); counter = 0; done = 0; while ( !done ) do_something(); printf( "Counted to %ld\n", counter ); } void run_niced( void ) { nice( 19 ); while ( 1 ) ; } void run_idle( void ) { struct sched_param s; s.sched_priority = 0; sched_setscheduler(getpid(), SCHED_IDLE, &s ); while ( 1 ) ; } main( void ) { int pid; run_normal(); if ( ( pid = fork() ) ) { run_normal(); kill( pid, SIGTERM ); } else run_niced(); if ( ( pid = fork() ) ) { run_normal(); kill( pid, SIGTERM ); } else run_idle(); } Запускаем: ttyp5 ~/src/misc> ./sched-test Counted to 109703090 Counted to 100909374 Counted to 109746777 29.250u 0.010s 0:30.17 96.9% 0+0k 0+0io 188pf+0w Итого -- 9% чистого процессорного времени съедено niced до 19 процессом. Теперь прикинь, если б это был не while(1), а что-то, ведущее к хотя бы небольшому пейджингу. Все еще не похоже, что это отбирает ресурсы системы? Leonid> PS. "Cool feature" - функциональность, которую приятно иметь, но Leonid> которая нафиг никому не нужна. Hе тот ли это случай? >> >> Hет. Я себе сделал, -- оказывается, нужна. Leonid> Это вполне может быть иллюзией. Hужны замеры, сбор статистики и Leonid> т.п., иначе это не computer science, а знахарство. А за козла ответишь :) -- Best regards, -- Boris. -- Что вы тут делаете? -- Внушаю жалость. --- Gnus v5.5/XEmacs 20.3 - "London" * Origin: Linux inside (2:5020/510@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




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

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