The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлена ФС DAXFS, похожая на ramfs и tmpfs, но работающая в обход страничного кэша

25.01.2026 12:14 (MSK)

Конг Ванг (Cong Wang), сопровождающий подсистему управления трафиком (TC, Traffic Control) в ядре Linux и развивающий проект Multikernel, представил в списке разработчиков ядра Linux новую файловую систему DAXFS. DAXFS использует для хранения данных оперативную память, работает в режиме только для чтения и напоминает по функциональности урезанные файловые системы ramfs и tmpfs. Модуль ядра с реализацией DAXFS, а также утилита mkdaxfs для создания ФС опубликованы под лицензией GPLv2. После рецензирования рассматривается возможность интеграции DAXFS в основной состав ядра.

Ключевой особенностью новой ФС является задействование подсистемы DAX (Direct Access) для работы в обход страничного кэша и прямого обращения к разделяемой физической памяти. В ramfs и tmpfs содержимое сохраняется в страничном кэше, что при использовании одной ФС в нескольких контейнерах или ядрах, запущенных при помощи технологии Multikernel, приводит к размещению нескольких копий данных в физической памяти. Наполнение ramfs и tmpfs также требует выполнения лишних операций копирования без возможности выполнить маппинг существующей области памяти.

Прямой доступ к памяти в DAXFS позволяет исключить лишние операции копирования и организовать работу в обход традиционного стека ввода/вывода на базе блочных устройств и механизмов буферизации, а также избавиться от фрагментации выделения памяти при совместном использовании одной ФС в разных контейнерах и multikernel-ядрах. DAXFS работает в режиме Zero-Copy и напрямую отдаёт содержимое файлов из памяти без лишнего дублирования данных в страничном кэше и с возможностью маппинга непрерывных областей физической памяти в каждый экземпляр контейнера или ядра. Дополнительно поддерживается использование API dma-buf для использования памяти, экспортируемой GPU, FPGA/SmartNIC или CXL-устройствами.

ФС работает в режиме только для чтения и инициализируется через загрузку в память предварительно подготовленного образа ФС, что упрощает реализацию, позволяет избавиться от выполнения операций выделения памяти во время работы и исключает усложнённые механизмы управления устройством.

Ключевой областью использования DAXFS называется применение совместно с технологией Multikernel, позволяющей на одном физическом компьютере выполнять несколько независимых экземпляров ядра Linux, которые имеют прямой доступ к аппаратным ресурсам и могут использоваться для запуска нескольких изолированных системных окружений.

DAXFS также может применяться для организации совместного доступа нескольких контейнеров или ядер к базовому системному образу, размещённому в разделяемой памяти; снижению накладных расходов при обращении к информации в памяти аппаратных ускорителей; организации обращения к памяти с нескольких хостов без сетевого ввода-вывода или к постоянной памяти, используя устройства на базе шины CXL (Compute Express Link).

  1. Главная ссылка к новости (https://lore.kernel.org/lkml/C...)
  2. OpenNews: Представлен Multikernel, механизм для одновременного выполнения нескольких ядер Linux
  3. OpenNews: Выпуск отказоустойчивой файловой системы LittleFS 2.10
  4. OpenNews: Открыт код распределённой файловой системы 3FS, используемой в DeepSeek
  5. OpenNews: Открыт код распределённой файловой системы TernFS
  6. OpenNews: Компания Huawei предложила новую ФС EROFS для ядра Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64674-daxfs
Ключевые слова: daxfs, ramfs, tmpfs
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (34) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:26, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Эх, а мог бы назвать ее DAFXS
    Такой каламбур пропал.

    > ФС работает в режиме только для чтения и инициализируется через загрузку в память предварительно подготовленного образа ФС

    А как записать полученные вычисления обратно?

     
     
  • 2.2, Аноним (2), 12:33, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    отправь на рецензию в анебе, они потом добавят в образ
     
     
  • 3.31, Pahanivo (ok), 22:30, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я прально понимаю, что теперь любая "случайная" дырка в этом модуле потенциально может иметь прямой доступ к памяти? ))
     
     
  • 4.56, Аноним (56), 12:24, 27/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Даа.
     
  • 2.4, онанист (?), 13:02, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    FXS знаю
    а причём тут DA?
     
     
  • 3.5, алек емпире (?), 13:13, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    типа DA-108
     
  • 3.12, Аноним (12), 15:51, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Блин какие тут все умные.
    Ты просто прочитай вслух DAFXS как ДАФАКС ))

    Именно нечто подобное будут говорить бетатестеры этой поделки.

     

  • 1.8, Аноним (8), 14:43, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Чем оно отличается от:
    tmpfs on /sys/fs/cgroup type tmpfs (ro)
     
     
  • 2.10, дохтурЛол (?), 14:48, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Если бы это только было написано прям в новости... но кто ж её читает дальше заголо
     
  • 2.21, Аноним (21), 17:32, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Чем оно отличается от:
    > tmpfs on /sys/fs/cgroup type tmpfs (ro)

    Тем что новости читать иногда надо до того как коментить. В отличие от tmpfs сие скипает большую часть классического блочнофайлушного стека. Которй так то на тех скоростях вносит немало оверхеда а простые вещи типа дедубликации (sharing памяти) становятся совсем не простыми.

     
  • 2.23, Аноним (23), 17:45, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тем что это DAX
     

  • 1.9, Kilrathi (ok), 14:43, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И чем это лучше встроенных в ядра тех же memmap phram и тп?
    Резервируешь сколько нужно и используешь.
    «Упрощает реализацию, резервирование и операции»
    Да куда уж проще то:
    Есть же старые проверенные
    dd if=~/.ssh/id of=/dev/mem bs=1 seek=$((0xXXX))
    и
    cat /sys/block/pmem0/device/mysshid
     
     
  • 2.22, Аноним (22), 17:37, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дык то сырой кусок памяти, а это ФС. Видать можно весь /usr например в него забить и в куче контейнеров смонтировать напрямую. Безо всякого оверхеда. Каким нибудь хостерам и датацентрам оно может и надо, мне фиолетово.
     
     
  • 3.35, penetrator (?), 05:04, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а нахрена? что может потребовать совместного доступа к ОДНОЙ И ТОЙ ЖЕ информации от пачки контейнеров-обмылков, да еще так, чтобы это стало накладно по ресурсам?
     
     
  • 4.39, Kilrathi (ok), 07:03, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > что может потребовать совместного доступа к ОДНОЙ И ТОЙ ЖЕ
    > информации от пачки контейнеров-обмылков, да еще так, чтобы это стало накладно
    > по ресурсам?

    Ресурсы и бд для высоконагруженных порталов в устаревших условиях дешевой оперативной, множество статических зеркал и тп. Да те же контейнера десятками из одного образа поднимать для демо-стенда на сотни гостей, рекламируя скорость работы.  


     
  • 3.38, Kilrathi (ok), 06:57, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Дык то сырой кусок памяти, а это ФС. Видать можно весь /usr
    > например в него забить и в куче контейнеров смонтировать напрямую. Безо
    > всякого оверхеда.

    Так есть же мемдиски и тп, можно и тот же phram «отэфесить» в любую поддерживаемую системой, и смонтировать как угодно.
    Вопрос то о преимуществах. Например что-то вроде «в два раза быстрее ext4 на блоке «сырой»»


     
  • 3.51, Соль земли2 (?), 15:33, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Linux же оптимизирует обращения к диску через кеш. /usr/bin/bash закешируется в первом контейнере, а во втором уже откроется из кэша. Если это не так, то это недоработка либо ядра Linux, либо runtime виртуализации. Применять тут DAXFS будет off-label.
     

  • 1.15, Аноним (15), 16:53, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > для работы в обход страничного кэша и прямого обращения к разделяемой физической памяти. ... интеграции DAXFS в основной состав ядра

    Здесь же не будет 10-летних уязвимостей, нет?

     
     
  • 2.20, Аноним (21), 17:31, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +11 +/
    > Здесь же не будет 10-летних уязвимостей, нет?

    Конечно нет. Если вы написали код вчера - в нем технически невозможно получить десятилетнюю уязвимост. Приходите через десять лет, тогда виднее будет! :)

     
  • 2.52, Соль земли2 (?), 15:41, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Часто приходится выбирать: либо быстродействие, либо безопасность. За этими двумя зайцами непросто угнаться.
     

  • 1.25, Аноним (25), 18:55, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    (Direct Access)XFS
     
  • 1.32, Tron is Whistling (?), 22:52, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    И вот на хрена это нужно, кроме одного узкоспециализированного применения?
     
     
  • 2.36, penetrator (?), 05:06, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну так то он для своего комерческого проекта это пилит

    я бы переформулировал, а нахрена оно вообще в ядре

     
     
  • 3.40, Kilrathi (ok), 07:08, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > я бы переформулировал, а нахрена оно вообще в ядре

    Distrib-in-kernel: все требуемые системе пакеты интегрируются в одно большое ядро.  Чтоб можно было сказать: что ОС - Линукс, а не Linux-based дистрибутив. ;)

     
     
  • 4.53, Соль земли2 (?), 15:43, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде бы, Линус чётко разделяет kernel и user-space.
     

  • 1.33, Аноним (33), 02:16, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почему в бытовом Симпли не вклюсают в коллектив пакетов альтератор-файрвол, потому что рыба Финн ненавидит людей?
     
  • 1.34, Аноним (34), 04:14, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Конг Ванг (Cong Wang)

    Цун Ван

     
     
  • 2.42, Аноним (42), 09:27, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Представляется он как Кон Ванг   https://www.youtube.com/watch?v=fsv0jT9zwcU
     
     
  • 3.55, Аноним (56), 12:23, 27/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Лично его знаю).
     

  • 1.37, ИмяХ (ok), 06:54, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >>с возможностью маппинга непрерывных областей физической памяти в каждый экземпляр контейнера или ядра.

    Ух, какой мощный бекдор соорудили! Ломанул один контейнер - значит взломал всё.

     
     
  • 2.43, Аноним (42), 09:29, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    там read only доступ
     
     
  • 3.48, Аноним (48), 10:14, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что, просто прочитать !всё! - недостаточно?
    Да и данные то ro а вот фс.. тут можно и похимичить.
     

  • 1.44, Аноним (44), 09:49, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ФС DAXFS, настоящщий шедевр технологической мысли).
     
  • 1.57, Аноним (57), 20:38, 27/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://github.com/multikernel/daxfs : "DAXFS supports copy-on-write branches for speculative modifications."

    Готовимся к утечкам секретов через эксплуатацию спекулятивности.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру