Redox получила многопоточность на ARM64
23.08.2026Луис Фернандо Бешер де Арауджо реализовал поддержку нескольких ядер на AArch64/ARM64 вместе с набором сопутствующих исправлений. По словам автора, масштаб выигрыша в производительности ещё предстоит измерить.
Что потребовалось
Многопоточность на ARM требует поднять вторичные процессоры через PSCI — интерфейс Power State Coordination Interface, а не через собственные переключения контекста. Работа охватила всю цепочку: обнаружение топологии процессоров из дерева устройств, инициализация контроллера прерываний GICv2, маршрутизация через SGI, выделение памяти под структуры на каждое ядро и обработка межъядерных прерываний.
Заодно переработан системный таймер: он стал программируемым синглтоном с настройкой на каждое ядро. Это устраняет гонки при обращении к таймеру с разных процессоров — типичный источник ошибок в многопоточном коде.
Осторожно с оценками
Автор прямо пишет, что для определения реального прироста производительности нужно больше тестов. Стабильность работы на реальном оборудовании пока не подтверждена — проверки шли под эмулятором QEMU.
Дата 23 августа 2026 года — день, когда изменения попали в репозиторий ядра; в сводке они упомянуты как часть августовских итогов.
Оригинал
This Month in Redox — August 2026, раздел «ARM64 Multi-core Support»; коммиты в redox-os/kernel
Упоминаний: 1 · Просмотров: 6