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 обязательно


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

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

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

     
     
  • 2.2, Аноним (2), 12:33, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    отправь на рецензию в анебе, они потом добавят в образ
     
  • 2.4, онанист (?), 13:02, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    FXS знаю
    а причём тут DA?
     
     
  • 3.5, алек емпире (?), 13:13, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    типа DA-108
     

  • 1.6, Аноним (6), 13:14, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Его дерьмо оказалось не нужным, он теперь пристройку к нему делает. В ядро это, если платиновые спонсоры не надавят, никогда не примут. Ибо дублирование подсистем, за это RaiserFS выперли.
     

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

  • 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
     
  • 1.11, дед чебурашки (?), 15:22, 25/01/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

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



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

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