В скором времени в Linux-ядро будет принят патч, который повышает интерактивность выполнения десктоп-задач, что позволяет беспроблемно выполнять повседневные задачи, такие как просмотр веб-сайтов и проигрывание видеороликов, даже в том случае, если процессор очень сильно нагружен фоновыми приложениями, например, многопоточной компиляцией, математическими расчётами, участием в различных вычислительных проектах и т.д.

Данный патч специальным образом разбивает выполняемые задачи на группы в привязке к TTY, которые затем получают процессорные такты более равномерно, что позволяет, например, запустить в фоне компиляцию какого-либо приложения с количеством заданий, превышающих количество ядер процессоров в 2-3-4 и более раз, при этом остается возможность по-прежнему пользоваться плавной прокруткой в веб-браузере, что позволяет добиться загрузки веб-страниц без задержек, связанных с высокой загрузкой системы.

Размер патча составляет всего около 200 строк. По замерам самого автора во время критически высокой загрузки системы (make -j10), максимальная отзывчивость уменьшилась в 10 раз, средняя отзывчивость улучшилась в 20 с лишним раз. К сожалению окно приема изменений для включения в ядро 2.6.37 уже закрыто, поэтому новая возможность будет интегрирована в ядро 2.6.38. Активация нового механизма группировки задач в планировщике производится через переменную /proc/sys/kernel/sched_autogroup_enabled.

Линус Торвальдс высоко оценил работу автора, на собственном примере убедившись, что даже при запуске 64 копий компилятора GCC (make -j64, load average выше 50) система по-прежнему оставалась полностью работоспособной и отзывчивой. Не стесняясь выражений, Торвальдс назвал этот патч "killer feature" (что приблизительно значит "убойная штука"). Наглядно оценить разницу в работе нагруженной системы с патчем и без него, можно на данных видеороликах.

Источник: http://www.opennet.ru/opennews/art.shtml?num=28671