tgoop.com/rust_code/1054
Last Update:
🦀 Linux 6.18: Rust и C теперь разделяют одну модель памяти
В Linux 6.18 впервые и Rust, и C-код ядра будут работать с одной моделью памяти — Linux Kernel Memory Model (LKMM). Это значит, что при взаимодействии Rust и C их представления об атомарных операциях и правилах конкурентного доступа будут полностью совпадать.
Что изменилось:
- В Rust добавлена поддержка атомарных типов, определённых LKMM, чтобы порядок и видимость операций с памятью интерпретировались одинаково с C.
- В Rust появился обёрточный тип для refcount_t
— встроенного механизма подсчёта ссылок в ядре, без отдельной реализации.
- Патчи уже включены в ветку locking/core
и почти наверняка войдут в релиз Linux 6.18.
Почему это важно:
- Единая модель памяти снижает риск тонких багов при смешивании Rust и C в многопоточном коде.
- Упрощает написание конкурентных алгоритмов на Rust для ядра.
- Это очередной шаг к глубокой интеграции Rust в разработку Linux, с упором на безопасность и надёжность.
@rust_code