🦀 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
50
🔥 32
👍 15
52 88 14.1K

Обсуждение 52

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram