В то время как внимание всего компьютерного мира было сосредоточено на выставке Consumer Electronics Show, создатель Linux Линус Торвальдс представил версию 2.6.37 ядра своей операционной системы.
В числе усовершенствований — лучшая масштабируемость поддержки симметричной многопроцессорной обработки (Symmetric Multiprocessing, SMP), возможность компиляции ядра с отключенной опцией Big Kernel Lock, улучшенные средства защиты, поддержка многих новых драйверов для обеспечения совместимости с более широкоим диапазоном аппаратных средств.
Внесены изменения в характер поддержки ядром файловых систем ext4 и XFS, что делает более эффективной их использование в системах SMP-архитектуры. Существенно оптимизирована маршрутизация и поддержка устройств, что, несомненно, должны приветствовать администраторы SMP-систем.
Торвальдс, осуществляющий координацию работ над ядром, сообщил о готовности версии 2.6.37 в рассылке Linux Kernel. Релиз выпущен спустя немногим более двух месяцев после выпуска в октябре прошлого года версии 2.6.36. Добавлено примерно 1 140 000 строк кода, как сообщает Linux Weekly News.
Для взаимодействия с файловой системой ext4 больше не применяется буферный слой. «Использование буферного слоя вызывало множество проблем с производительностью и масштабируемостью SMP, которые решены в настоящем релизе», — отмечается в протоколе изменений ядра. В одной из тестовых конфигураций, с 48-ядерной системой и подключенным к ней массивом хранения с интерфейсом SAS из 24 модулей, новая реализация файловой системы ext4 обеспечивает ускорение 192 одновременных потоков FFSB (Flexible File System Benchmark) на 300% со снижением нагрузки на центральные процессоры в три или четыре раза.
Путем целого ряда улучшений оптимизирована также поддержка файловой системы XFS. В протоколе изменений сообщается, что тестирование на 8-процессорной системе, поддерживающей SMP, с использованием теста fs_mark на 50 млн файлов показало увеличение производительности на 15%. Для удаления файлов требуется вполовину меньше времени, чем раньше.
Ядро теперь не поддерживает по крайней мере одну устаревшую технологию SMP — Big Kernel Lock (BKL). Впервые эта технология была реализована в версии ядра 2.0 для улучшения масштабируемости SMP. Для управления одновременно выполняющимися операциями была предусмотрена блокировка (отсюда — название технологии), запрещающая обработку более одного потока в пространстве ядра в каждый конкретный момент времени. В больших системах эта технология приводила, напротив, к замедлению работы. Впоследствии разработчики предложили более тонко настраиваемые технологии блокировок, и необходимость в BKL отпала.
Все эти усовершенствования позволят повысить производительность Linux на SMP-системах.