В планировщике 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