В планировщике EEVDF устранена утечка памяти при каждом переключении контекста
19.06.2026В ядре Redox устранена утечка памяти при переключении контекста. Ошибка была в том, что при переключении освобождался не тот объект, и память накапливалась со временем.
Почему это заметно на практике
Утечка в горячем пути ядра опасна не размером отдельной утечки, а частотой. Переключение контекста происходит тысячи раз в секунду при любой нагрузке — значит, память расходуется непрерывно.
Симптомы характерны: сначала всё работает, через несколько часов или дней система начинает заметно подтормаживать, и перезагрузка помогает. На настольной машине это списывают на что угодно — от фрагментации до перегрева, — и до ядра руки rarely доходят.
Что именно было сломано
В том же месяце в ядре шла работа над переводом планировщика на новую структуру данных и над переходом на более дешёвое владение объектами процесса. Последнее было отменено — судя по коммиту с возвратом, идея не оправдала себя, — а вот утечка оставлена была и исправлена отдельно.
Такая последовательность обычна: оптимизация планировщика меняет способ владения данными, и на этом фоне всплывают ошибки, которых раньше не было.
Оригинал
Коммит Solve context leak when switching от 19 июня 2026 года в репозитории redox-os/kernel; рядом Migrating run_queue to BTreeMap от 18 июня и откат Revert "Use weak context for Proc" от того же дня
Упоминаний: 1 · Просмотров: 3