Инженер Intel Linux Колин Ян Кинг обнаружил, что если выровнять параметр slab в коде ACPI с помощью флага «SLAB_HWCACHE_ALIGN», то можно будет добиться заметного улучшения производительности памяти и сократить время загрузки ядра Linux ещё примерно на 0,035 секунды.
Колин объяснил это с помощью однострочного патча ядра:
«Включение SLAB_HWCACHE_ALIGN для кэшей объектов ACPI повышает скорость загрузки в ядре ACPICA для выделения и освобождения объектов, особенно на этапах анализа и выполнения AML при загрузке. Тестирование со 100 загрузками показывает среднюю экономию загрузки в acpi_init в размере ~0,035 с по сравнению с невыровненной версией. Большинство выделяемых и освобождаемых объектов ACPI имеют очень короткое время жизни в критических путях для анализа и выполнения, поэтому дополнительная память, используемая для выравнивания, не слишком обременительна».
Linux проделал большую работу по оптимизации времени загрузки ядра, начиная с дней помешательства на нетбуках и в последующие годы для лучшей оптимизации серверов. Экономия загрузки около 0,035 секунд едва ли будет заметна для конечных пользователей, но каждая мелочь имеет значение, особенно в случае гипермасштабаторов и других факторов, в которых необходимо минимизировать время простоя в центре обработки данных, будь то серверы bare metal или виртуальные машины. А то, что это всего лишь однострочный патч, делает его еще более легкой и приятной победой.
*cache = kmem_cache_create(name, size, 0, SLAB_HWCACHE_ALIGN, NULL);