LINUX.ORG.RU

Linux 6.17

 , , ,

Linux 6.17

0

5

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.17. Среди наиболее заметных изменений: повышение производительности Btrfs, системные вызовы file_getattr() и file_setattr(), унификация однопроцессорных и многопроцессорных конфигураций в планировщике задач, модуль DAMON_STAT со статистикой доступа к памяти, поддержка Live-патчей на системах ARM64, отправка core-дампов через сокет AF_UNIX, лимитирование SCHED_EXT через cgroup, упрощённая настройка защиты от уязвимостей в CPU, сборка в Clang с инициализацией переменных в стеке, защита от подмены /proc, расширение подсистемы RV (Runtime Verification), ограничение сокетов AF_UNIX через AppArmor, алгоритм контроля перегрузок TCP DualPI2.

В новую версию принято 14334 исправлений от 2118 разработчиков, размер патча – 46 МБ (изменения затронули 12841 файлов, добавлено 646654 строк кода, удалено 398782 строк). В прошлом выпуске было 15924 исправления от 2145 разработчиков, размер патча – 50 МБ . Около 43% всех представленных в 6.17 изменений связаны с драйверами устройств, примерно 12% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 4% – с файловыми системами и 3% c внутренними подсистемами ядра.

Основные изменения (kernelnewbies.org, lwn.net, OpenNET):

  • Дисковая подсистема, ввод/вывод и файловые системы
    • В Btrfs добавлена экспериментальная поддержка больших фолиантов страниц памяти (large folios), позволяющих снизить накладные расходы и повысить производительность ряда операций. Реализовано кеширование запросов к битовым картам распределения свободного места, благодаря которому производительность создания пустых файлов выросла на 20%. Улучшена работа упреждающего чтения в системах, применяющих сжатие данных. Обеспечено более плотное размещение ключей в структуре XArray, что повысило компактность хранению узлов дерева экстентов и позволило сократить число конечных узлов на 50-70%. Предоставлены дополнительные настройки использования сжатия в дефрагментированных экстентах.
    • В ФС ext4 появилась поддержка буферизированного ввода/вывода с флагом RWF_DONTCACHE, при котором данные удаляются из страничного кеша сразу после завершения операции.
    • В ФС EROFS реализована поддержка сжатия метаданных.
    • NFS-сервер теперь может делегировать операции записи клиентам, открывающим файлы в режиме только для записи.
    • В системный вызов fallocate() добавлен флаг FALLOC_FL_WRITE_ZEROES, позволяющий заполнить нулями указанный диапазон в файле, используя поддерживаемую некоторыми SSD-накопителями команду WRITE_ZERO, выполняющую обнуление без операций ввода/вывода. Опция пока доступна только в ФС ext4.
    • Добавлены системные вызовы file_getattr() и file_setattr() для манипулирования атрибутами inode заданного файла.
    • Удалён драйвер pktcdvd для работы с оптическими носителями в пакетном режиме, который был помечен устаревшим в 2016 году.
    • В драйвере NTFS3 налажена работа с символическими ссылками, созданными в Windows, а также добавлена проверка корректности имён файлов, и обеспечено создание символических ссылок для относительных путей.
    • ФС Bcachefs в ядре Linux переведена в режим внешнего сопровождения, подразумевающего прекращение приёма изменений для Bcachefs в основной состав ядра при сохранении данной ФС в кодовой базе ядра. Разработка Bcachefs будет производиться вне кодовой базы ядра до того, как Кент Оверстрит на деле не докажет возможность корректного взаимодействия с другими разработчиками ядра и способность следовать устоявшимся правилам разработки.
  • Память и системные сервисы
    • Из планировщика задач удалена поддержка однопроцессорных конфигураций. На системах с одним процессором теперь следует использовать ядра, собранные для многопроцессорных систем (SMP). Код для однопроцессорных и многопроцессорных систем унифицирован и избавлен от лишних привязок к параметру ядра CONFIG_SMP.
    • Добавлен модуль ядра DAMON_STAT (Data Access Monitoring Results Stat), позволяющий отслеживать доступ к оперативной памяти, используя подсистему DAMON (Data Access MONitor). Модуль предоставляет статистику о неактивности (memory_idle_ms_percentiles) и прогнозируемой пропускной способности памяти (estimated_memory_bandwidth).
    • На системах с архитектурой ARM64 реализована поддержка Live-патчей, позволяющих применять исправления к ядру Linux на лету, без перезагрузки и остановки системы.
    • В минималистичной Си-библиотеке nolibc, поставляемой в составе исходных текстов ядра Linux и предоставляющей обвязку над базовыми системными вызовами, реализована поддержка архитектур SuperH, x32, MIPS n32 и MIPS n64.
    • Расширена возможность отправки содержимого core-дампов через сокет AF_UNIX, позволяющая создавать в пространстве пользователя более безопасные обработчики core-дампов, не завязанные на вызов ядром привилегированных процессов. В новой версии добавлен протокол для создания серверов, способных управлять обработкой core-дампов на уровне отдельных задач. Например, для одних процессов можно игнорировать core-дампы, а для других передавать их через сокет. Отдельно подготовлен прототип сервера для управления core-дампами.
    • Добавлена опция командной строки ядра crashkernel=size,cma для резервирования через CMA (Contiguous Memory Allocator) места в памяти под сохранение crash-дампа ядра.
    • Расширены возможности механизма pidfd, позволяющего использовать идентификаторы, связанные с конкретными процессами и в отличие от pid повторно не назначаемые. Добавлена возможность привязки к pidfd расширенных атрибутов из пространства пользователя. Разрешено открытие файловых дескрипторов для pidfd через функцию open_by_handle_at() без привязки к файловой системе. Внутренняя информация, созданная ядром вместе с pidfd, теперь привязывается к процессу, а не pidfd, и сохраняется между повторным открытием того же процесса.
    • В подсистему BPF добавлена функция bpf_cgroup_read_xattr() для чтения расширенных атрибутов файлов. Предоставлена возможность использования в BPF-программах типовых строковых операций, таких как bpf_strcmp, bpf_strnchr, bpf_strchrnul, bpf_strlen и bpf_strspn, работающих в режиме только для чтения. Добавлена возможность использования стандартных потоков stdout и stderr для взаимодействия с компонентами в пространстве пользователя. Для систем на базе архитектуре LoongArch в BPF реализована возможность динамической модификации кода, механизма «BPF trampoline» (снижает накладные расходы при передаче вызовов между ядром и программами BPF) и запуска программ, использующих struct_ops для создания обработчиков функций ядра через BPF.
    • В системе учёта времени реализована поддержка вспомогательных часов (auxiliary), которые не связаны с обычными системными часами и идут по собственному ритму (ранее все часы шли с одинаковым ритмом и отличались только смещением).
    • Добавлена начальная поддержка прокси-исполнения (Proxy Execution) для смягчения проблем инверсии приоритетов. Прокси-исполнение позволяет задаче, ожидающей освобождения блокировки, передать свой контекст исполнения задаче, удерживающей блокировку, для ускорения освобождения этой блокировки.
    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Добавлены абстракции для управления регуляторами напряжения и тока, свойствами прошивок, ресурсами ввода/вывода и памяти ввода/вывода. Реализован макрос warn_on!(). Добавлен тип UserPtr для указателей в пространстве пользователя. Расширена функциональность модулей workqueue, uaccess, dma, time и list. Добавлен модуль bits с функциями bit и genmask.
    • Переработан код для вычисления контрольных сумм CRC и добавлены новые вызовы для генерации хэшей SHA-1 и SHA-2. Добавлены специфичные для аппаратных архитектур оптимизации. Повышена производительность функции crc32c() на новых CPU x86_64, поддерживающих расширение VPCLMULQDQ (Vector Carry-Less Multiplication of Quadwords).
    • Для систем S390 реализована поддержка вытеснения в раздел подкачки и миграции больших страниц памяти (transparent huge page).
    • Добавлена возможность настройки агрессивности освобождения страниц памяти (proactive-reclaim) при её нехватке в привязке к отдельным узлам NUMA, что позволяет выделить узлы NUMA, для которых будет применено более активное высвобождение памяти. Например, echo "512M swappiness=10" > /sys/devices/system/node/node1/reclaim.
    • В механизм SCHED_EXT, позволяющий использовать BPF для создания планировщиков CPU, добавлена возможность управления пропускной способностью через cgroup. Например, можно использовать параметр cpu.max для ограничения нагрузки на CPU.
    • Объявлено устаревшим автоматическое монтирование виртуальной ФС tracefs в каталог /sys/kernel/debug/tracing, вместо которого следует использовать /sys/kernel/tracing.
    • Утилита gconfig, применяемая для конфигурирования сборочных опций ядра, переведена на использование библиотеки GTK3.
  • Виртуализация и безопасность
    • Добавлена возможность включения защиты от уязвимостей в CPU через выбор блокируемых векторов атаки вместо указания в настройках конкретных уязвимостей. Методы блокировки выбираются в зависимости от вида нарушения изоляции: между пользователем и ядром (user-kernel), между пользователем и другим пользователем (user-user), между гостевой системой и хост-окружением (guest-host), между разными гостевыми системами (guest-guest) и между разными потоками (cross-thread). Предложенный подход даёт возможность активировать только защиту от тех классов уязвимостей, которые реально волнуют пользователя. Например, владельцы облачных окружений могут включить режимы guest-host и guest-guest, после чего будут активированы методы защиты от уязвимостей BHI, GD, L1TF, MDS, MMIO, Retbleed, RFDS, Spectre_v2, SRBDS, SRSO и TAA.
    • Добавлена поддержка сборки компилятором Clang с включением режима отслеживания глубины стека, при котором выполняется инициализация всех хранимых в стеке переменных. Инициализация производится для предотвращения утечки информации из ядра через неинициализированные переменные, которые могут содержать остатки ранее сохранённых в стеке данных. До этого похожая возможность поддерживалась при использовании GCC-плагина STACKLEAK.
    • Добавлена защита от подмены атакующим файловой системы /proc через монтирование в режиме bind. Inode-номер корня /proc теперь фиксирован (PROCFS_ROOT_INO) и может быть проверен процессом в пространстве пользователя.
    • В подсистему RV (Runtime Verification), предназначенную для проверки корректности работы высоконадёжных систем, добавлен компонент мониторинга rtapp (Real-time application monitor) для отслеживания типовых проблем в приложениях, работающих в режиме реального времени, а также компоненты rp, sssw и opid для тестирования планировщика задач. Реализована возможность создания компонентов мониторинга, использующих для определения модели поведения линейную темпоральную логику вместо детерминированного автомата. Проверка производится во время выполнения через прикрепление обработчиков к точкам трассировки, сверяющих фактический ход выполнения с заранее определённой эталонной моделью, определяющей ожидаемое поведение системы.
    • В систему AppArmor добавлена поддержка управления доступом к сокетам AF_UNIX.
    • В гипервизоре KVM на системах ARM реализована поддержка контроллера прерываний GICv5.
    • Добавлена настройка CONFIG_KVM_IOAPIC, позволяющая отключить поддержку в KVM эмуляции APIC, PIC и PIT.
    • Добавлена защита от уязвимости VMSCAPE.
    • Добавлена ioctl-команда FS_IOC_GETLBMD_CAP для получения из пространства пользователя информации о применении к файлу средств для защиты целостности.
    • Объявлен устаревшим интерфейс /sys/fs/selinux/user, при обращении к которому теперь вносится пятисекундная задержка и выводится предупреждение в лог.
    • Возобновлено сопровождение LSM-модуля Lockdown, позволяющего ограничить доступ пользователя root к ядру и блокировать пути обхода UEFI Secure Boot.
    • Добавлен драйвер ovmf-debug-log для доступа к отладочному логу прошивок OVMF (Open Virtual Machine Firmware) через /sys/firmware/efi/ovmf_debug_log для упрощения диагностики проблем в виртуальных машинах, загружаемых в режиме UEFI.
  • Сетевая подсистема
    • В реализацию технологии PSE (Power Sourcing Equipment), применяемой для подачи питания через Ethernet на такие устройства, как IP-камеры и беспроводные точки доступа, добавлена поддержка настраиваемых стратегий оценки бюджета питания (общей доступной мощности). Подобные стратегии позволяют определить какие порты следует отключить в первую очередь для предотвращения перегрузки.
    • В реализацию протокола MCTP (Management Component Transport Protocol) добавлена поддержка маршрутизации пакетов к внешним узлам через промежуточные узлы (gateway-routing). Например, нижеприведённые правила позволяют направить пакеты к узлу с идентификатором 10 (Endpoint ID 10) через устройство mctpi2c0, используя адрес 0x1d, напрямую прикреплённый к узлу с идентификатором 9:
        mctp route add 9 via mctpi2c0
        mctp neigh add 9 dev mctpi2c0 lladdr 0x1d
        mctp route add 10 gw 9
    
    • Для UNIX-сокетов (AF_UNIX) реализована опция SO_INC, а для семейства адресов VSOCK опция SIOCINQ. Реализованные опции аналогичны опции TCP_INQ для TCP и позволяют через управляющее сообщение получить сведения о количестве байтов, доступных в сокете для чтения.
    • Для TCP включено строгое соблюдение объявленного размера окна приёма, которое определяет размер данных, допустимых к отправке до получения ACK-подтверждения от другой стороны. Ранее ядро продолжало обрабатывать данные поступающие сверх объявленного окна приёма, но теперь перестанет это делать.
    • В MPTCP (Multipath TCP) добавлена возможность использования опции сокета TCP_MAXSEG для ограничения максимального размера отправляемых сегментов. MPTCP представляет собой расширение протокола TCP для организации доставки пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам.
    • Добавлена поддержка алгоритма контроля перегрузок TCP DualPI2 (RFC 9332), который позволяет использовать масштабируемые контроллеры перегрузки для трафика с высокими требованиями к качеству обслуживания (например, TCP-Prague и DCTCP), не вызывая снижения производительности классического трафика, для которого применяются такие контроллеры перегрузки, как Reno и Cubic.
    • Добавлен sysctl «force_forwarding», через который можно активировать перенаправление трафика на выбранных сетевых интерфейсах с IPv6.
    • Удалена поддержка алгоритма определения потери пакетов SACK (Selective Acknowledgment), описанного в RFC 6675. Данный алгоритм был объявлен устаревшим в 2018 году. Для определения потери TCP-пакетов рекомендуется использовать алгоритм RACK-TLP.
  • Оборудование
    • Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. В новой версии включена по умолчанию поддержка чипов на базе микроархитектуры Panther Lake и добавлена поддержка микроархитектуры WildCat Lake.
    • В драйвере AMDGPU для GPU GFX9.x реализована поддержка механизма Cleaner Shader, обеспечивающего очистку памяти GPU перед её повторным использованием для исключения утечки данных, оставшихся после работы другого процесса. Улучшена поддержка ждущего режима. Добавлена возможность перехода в спящий режим в окружениях с AMD SR-IOV. Улучшено управление подсветкой. Добавлена начальная поддержка механизма SmartMUX для переключения между интегрированным и дискретным GPU на ноутбуках. В драйвере i915 реализована поддержка механизма drm_panic, который отображает при сбоях подобие «синего экрана смерти».
    • Добавлена поддержка дисплейного контроллера, используемого в чипах семейства Wildcat Lake.
    • Продолжена интеграция компонентов драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. В новой версии добавлен уровень абстракции для работы с DMA, реализован парсер VBIOS, добавлен код для настройки фреймбуфера и обеспечена поддержка ускоренной загрузки в режиме Falcon.
    • В драйвер adreno добавлена поддержка GPU Qualcomm Adreno x1-45 и x1-85.
    • В драйвер msm добавлена поддержка GPU Adreno SM8750 и маппинга видеопамяти (VM_BIND).
    • В драйвер panfrost добавлена поддержка GPU Mali, применяемых в SoC Mediatek mt8370.
    • В драйвер lima добавлена поддержка GPU, применяемых в SoC Rockchip RK3528.
    • Добавлен драйвер mtd (Memory Technology Devices) для доступа к NVM-памяти, интегрированной в GPU Intel.
    • Добавлена поддержка звуковых систем ASoC IMX WM8524, AMD ACP7.2, SoundWire ACP 7.1, Fairphone 4 & 5, Qualcomm QCS8275, Framework Laptop 13 (AMD Ryzen AI 300), CS35L41 HDA (применяется в ноутбуках ASUS), Richtek RTQ9124, TI TAS5753, HP EliteBook x360 830 G6, EliteBook 830 G6, LG 16Z90R-A, HP 15-fc000. Проведена реорганизация кода HD-audio.
    • Добавлена поддержка ARM-плат, SoC и устройств: NVIDIA Tegra264, Marvell PXA1908 (первый 64-разрядный чип от Marvell для смартфонов), CIX P1, Axiado AX3000, Sophgo SG2000 (совмещает ядра ARM и RISC-V), Mediatek mt6572, Exynos 2200 (используется в Samsung Galaxy S22), Renesas R-Car V4M-7, TI am62d2 и Sophgo sg2042, ноутбуки на базе Mediatek mt8186 и Qualcomm Snapdragon X1, смартфоны и планшеты на базе SoC mt6572, tegra30 и msm8976.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 6.17 – Linux-libre 6.17-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.17 обновлён код чистки blob-ов в драйверах amdgpu, prueth, iwlwifi, btusb, pci mhi host, adreno a6xx, nova-core и Intel AVS. Выполнена чистка имён blob-ов в dts-файлах (devicetree) для ARM-чипов и Intel IPU7. Нейтрализована загрузка blob-ов в новых драйверах pci hda. Прекращена чистка блобов в драйвере QLogic infiniband, удалённом из ядра.

>>> Подробности на OpenNET

★★★★★

Проверено: Dimez ()
Последнее исправление: dataman (всего исправлений: 1)

В драйвере NTFS3 налажена работа с символическими ссылками, созданными в Windows, а также добавлена проверка корректности имён файлов, и обеспечено создание символических ссылок для относительных путей.

Наконец-то сподобились.

ЗЫ: потому что до сих пор этот драйвер нельзя было нормально использовать для доступа к системному разделу дуалбутной винды (где ей создаётся куча симлинков), а это, подозреваю, то, для чего он в 99% случаев вообще используется.

alegz ★★★★★
()
Последнее исправление: alegz (всего исправлений: 1)

6.17

в void уже завезли

$ xbps-query --regex -Rs '^linux[0-9.]+-[0-9._]+' | sort -Vrk2
[*] linux6.17-6.17.0_1   Linux kernel and modules (6.17 series)
[-] linux6.16-6.16.9_1   Linux kernel and modules (6.16 series)
[-] linux6.15-6.15.11_1  Linux kernel and modules (6.15 series)
[-] linux6.14-6.14.11_1  Linux kernel and modules (6.14 series)
[-] linux6.13-6.13.12_1  Linux kernel and modules (6.13 series)
[*] linux6.12-6.12.49_1  Linux kernel and modules (6.12 series)
[-] linux6.6-6.6.108_1   Linux kernel and modules (6.6 series)
[-] linux6.1-6.1.154_1   Linux kernel and modules (6.1 series)
[-] linux5.15-5.15.193_1 Linux kernel and modules (5.15 series)
[-] linux5.10-5.10.240_1 Linux kernel and modules (5.10 series)
[-] linux5.4-5.4.296_1   Linux kernel and modules (5.4 series)
$ uname -a
Linux void 6.17.0_1 #1 SMP PREEMPT_DYNAMIC Tue Sep 30 01:36:29 UTC 2025 i686 GNU/Linux
amd_amd ★★★★★
()
Ответ на: комментарий от alegz

а это, подозреваю, то, для чего он в 99% случаев вообще используется.

Нет, я никогда в таком качестве не использовал. Использовал ntfs для внешних дисков, чтобы обеспечить переносимость данных между Linux и Windows.

Сейчас неактуально стало. Дома использую NAS со стандартными протоколами (кино на устройствах смотрю через DLNA, например, да и для Android есть проигрыватели со встроенной поддержкой NFS, что меня сильно удивило). Обмениваться файлами стало не с кем, в редких случаях быстрее по сети обменяться, чем с диском/флешками возиться.

Возможно, в будущем, если понадобится, буду использовать exFAT, она вроде всеми основными ОС поддерживается.

Chiffchaff
()
Ответ на: комментарий от Chiffchaff

Поделись опытом по NAS. Что используешь, как подключаешься к ТВ, как сопряжаешь с другими устройствами, используешь ли камеры.

BruteForce ★★★
()
Ответ на: комментарий от BruteForce

У меня какой-то QNAP, точную модель сейчас даже не вспомню. На 2 HDD, плюс есть возможность установить 2 SSD (не пользуюсь).

Использую просто как файловую помойку, например, все фильмы предпочитаю скачивать: потом смотришь в хорошем качестве с хорошим битрейтом, на тех языках, которые хочешь. Хорошее кино храню вечно, потому что считаю, что в последние 15 лет снимается один шлак - лучше 10 раз пересмотрю что-то из 1970-2000, чем буду смотреть этот шлак.

Заодно пишу туда бэкапы (знаю, что надо offsite, но у меня никакого offsite нет) через NFS + borg.

Кино на телевизоре смотрю через DLNA. VLC для Android (у меня smart tv) поддерживает из коробки DLNA и даже шары Samba (но лично я пользуюсь только DLNA). В последнее время перешёл на ТВ на «Медиаплеер Виму», т.к. у него на ТВ намного более удобный интерфейс и настройки, чем у мобильного VLC, плюс он поддерживает NFS - находить фильмы в разы удобнее, чем через DLNA.

Другой ТВ - не Смарт, там я подключил Xiaomi TV stick, на котором урезаный андроид с теми же приложениями.

Камеры не использую.

Вообще, в моём QNAP есть много приложений из коробки, и многое можно доустановить самостоятельно, там какой-то Linux под капотом, но я ничем не пользуюсь. Одно время пользовался встроенным torrent’ом, но на десктопе удобнее через QBitTorrent качать сразу на NAS через NFS.

Chiffchaff
()
Ответ на: комментарий от firkax

Сдался он! Ещё его харю лицезреть😒

UriZzz ★★
()
Ответ на: комментарий от firkax

Что за ЕИ?

Естественный Интеллект отечественной разработки.

Надо было фотку Линуса с его обращением в нвидии использовать.

Распечатай уже и повесь в рамочке.

dataman ★★★★★
() автор топика

Удалён драйвер pktcdvd для работы с оптическими носителями в пакетном режиме, который был помечен устаревшим в 2016 году.

Читал про это раньше, ещё на первом релиз-кандидате 6.17, но ничего не понял. Объясните мне, в чём фишка этого драйвера и что такое пакетный режим? Это значит, что диски теперь писать нельзя?

Tyse_EX
()
Последнее исправление: Tyse_EX (всего исправлений: 1)
Ответ на: комментарий от Tyse_EX

Сдаётся мне, что это древняя технология, когда CDRW диски можно было записывать не целиком (т.е. разом взять и записать все 700 Мб), а по частям. Т.е., сначала записать один файл. Потом, когда понадобится - другой. Для каких-то применений было удобно.

Chiffchaff
()
Ответ на: комментарий от firkax

August 23, 2024, Linus Torvalds:

… So, when AI people came in, that was wonderful, because it meant somebody at NVIDIA had got much more involved on the kernel side, and NVIDIA went from being on my list of companies who are not good to my list of people who are doing really good work.

Гугл перевод:

Поэтому, когда пришли специалисты по ИИ, это было замечательно, потому что это означало, что кто-то в NVIDIA стал гораздо более вовлечен в работу над ядром, и NVIDIA перешла из моего списка не очень хороших компаний в список людей, которые делают действительно хорошую работу.

Vic
()

А вот эти 14 тысяч изменений кто то проверяет вообще? Есть команда или Линус лично (да да, по 238 в сутки, как стахановец)? Просто интереса ради - контролируется это все или как?

LightDiver ★★★★★
()

В системе учёта времени реализована поддержка вспомогательных часов (auxiliary), которые не связаны с обычными системными часами и идут по собственному ритму

facepalm.jpg

teod0r ★★★★★
()
Ответ на: комментарий от teod0r

А подумать?

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=02dc9d15d778

- Introduce support for auxiliary timekeepers

   PTP clocks can be disconnected from the universal CLOCK_TAI reality for various reasons including regularatory requirements for functional safety redundancy.

   The kernel so far only supports a single notion of time, which means that all clocks are correlated in frequency and only differ by offset to each other.

   Access to non-correlated PTP clocks has been available so far only through the file descriptor based "POSIX clock IDs", which are subject to locking and have to go all the way out to the hardware.

   The access is not only horribly slow, as it has to go all the way out to the NIC/PTP hardware, but that also prevents the kernel to read the time of such clocks e.g. from the network stack, where it is required for TSN networking both on the transmit and receive side unless the hardware provides offloading.

   The auxiliary clocks provide a mechanism to support arbitrary clocks  which are not correlated to the system clock. This is not restricted to the PTP use case on purpose as there is no kernel side association of these clocks to a particular PTP device because that's a pure user space configuration decision. Having them independent allows to utilize them for other purposes and also enables them to be tested without hardware dependencies.

   To avoid pointless overhead these clocks have to be enabled individualy via a new sysfs interface to reduce the overhead to a single compare in the hotpath if they are enabled at the Kconfig level at all.

   These clocks utilize the existing timekeeping/NTP infrastructures, which has been made possible over the recent releases by incrementaly converting these infrastructures over from a single static instance to a multi-instance pointer based implementation without any performance regression reported.

   The auxiliary clocks provide the same "emulation" of a "correct" clock as the existing CLOCK_* variants do with an independent instance of data and provide the same steering mechanism through the existing sys_clock_adjtime() interface, which has been confirmed to work by the chronyd(8) maintainer.

   That allows to provide lockless kernel internal and VDSO support so that applications and kernel internal functionalities can access these clocks without restrictions and at the same performance as the existing system clocks.

 - Avoid double notifications in the adjtimex() syscall. Not a big issue, but a trivial to avoid latency source.
dataman ★★★★★
() автор топика
Последнее исправление: dataman (всего исправлений: 1)

ЖЫрный апдейт...

Добавлены системные вызовы file_getattr() и file_setattr() для манипулирования атрибутами inode заданного файла.

Непонятно, зачем? Чем из обычные getattr/setattr не устраивали?

Расширены возможности механизма pidfd,

Да у них скоро task_struct треснет! :)

Добавлен модуль ядра DAMON_STAT

Это кто-то из корпоратов постарался... Ну будем посмотреть, как оно и зачем.

Продолжен перенос изменений из ветки Rust-for-Linux,

Ну это ладно... Нинужно, конечно, но политика, такая политика...

В систему AppArmor добавлена поддержка управления доступом к сокетам AF_UNIX.

Ждем нормальную привязку профилей к пользователям, а не так как сейчас, через шапочные профили...

В подсистему RV (Runtime Verification), предназначенную для проверки корректности работы высоконадёжных систем

Що це? Кто знает?

Возобновлено сопровождение LSM-модуля Lockdown,

Дцать лет дждал! :)

gns ★★★★★
()
Ответ на: комментарий от Chiffchaff
This introduces the new file_getattr() and file_setattr() system calls after lengthy discussions. Both system calls serve as successors and extensible companions to the FS_IOC_FSGETXATTR and FS_IOC_FSSETXATTR system calls which have started to show their age in addition to being named in a way that makes it easy to conflate them with extended attribute related operations. 

Все равно не понятно, чем старые не устраивали. Только если что-то новое нужно ценой совместимости...

gns ★★★★★
()
Ответ на: комментарий от gns

Это можно понять, только если постоянно вариться на этом уровне.

Единственное, что я смог понять - это помогает предотвратить путаницу с расширенными атрибутами файла (xattr). Хотя, по мне, что attr, что xattr - в любом случае, названия такие, что путать их будут постоянно.

Chiffchaff
()
Ответ на: комментарий от Chiffchaff

Это другое. Пакетный режим это работа с оптическим диском как с дискетой. Т.е. ты копируешь файл в ФМ и он сразу записывается. У технологии есть минусы: стандартизирован только DVD-RAM, для остальных форматов нужен специальный драйвер даже для чтения таких дисков, полезный объём диска существенно меньше, скорость записи низкая, перед использованием требуется форматирование диска, место тратится как при записи так и при удалении файлов.
DVD-RAM это с завода отформатированная под пакетную запись болванка. Обычным образом ее использовать нельзя.
Формат сдох потому что флешки распространились быстрее и имеют меньше недостатков.

Khnazile ★★★★★
()

Интересно, а в каком дистрибутиве ядро самое-самое десктопно-лаптопное минималистичное? Вот чтобы всё лишнее прям ножом вырезать и оставить самое нужное для именно десктопа-лаптопа. Сколько такое ядро весило бы?

R_He_Po6oT ★★★★★
()

А вообще там Cairo-dock зарелизился. Вот это новостищще! dataman, даёшь новость, раз ты тут журналист :)

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от Chiffchaff

Ну я ак раз по долгу службы в ядре и как раз между сисколлами, LSMами, VFS и вот этим всем. Мне как раз и разбираться может придется.

gns ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

Не пишу о лично мне ненужном или неинтересном. Так что сам, сам, сам! ;)

dataman ★★★★★
() автор топика
Ответ на: комментарий от Khnazile

Да, я и говорю, что это для записи кусками, а не одним образом сразу на весь диск. И, смутно помню, что пользовался таким режимом в т.ч. на дисках CD-RW, т.е. оно появилось сильно раньше, чем DVD-RAM.

Вообще, конечно, вся эта оптика - уже дело настолько давних дней. Как тут в одной теме писал, у меня уже более 15 лет не было ни десктопа, ни ноута, с DVD приводом. Эта эпоха давно прошла.

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

Chiffchaff
()

Для компьютеров 15 летней давности, смысл обновлять, почти никакого. А вот только покупные, в этом случае есть смысл.

nicholas_ru
()
Ответ на: комментарий от Chiffchaff

Просто есть еще режим мультисессионной записи, когда на диск последовательно записывается несколько дорожек. Там новые дорожки тоже могут «удалять» старые файлы. Фишка пакетной записи именно в том, что ты работаешь просто копируешь файлы в папку и они сразу оказываются записаны на диск, не нужно жать кнопку «записать диск».

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

что ты работаешь просто копируешь файлы в папку и они сразу оказываются записаны на диск, не нужно жать кнопку «записать диск»

Так это же как в винде! Я думал, что этой фичи вообще нет в линуксе

Tyse_EX
()
Ответ на: комментарий от Tyse_EX

В винде не так. Там просто UI такой, что файлы как будто копируются на диск, но потом надо все равно нажать кнопку «записать диск». Во всяком случае с обычными болванками. С болванкой dvd-ram можно просто перетащить файлы и они сразу запишутся. Но я видел такие болванки только на картинках и ни разу в магазине.

Khnazile ★★★★★
()
Ответ на: комментарий от Chiffchaff

Смешно будет, если в винде запись на DVD-RAM поддерживается, а в линуксе (традиционно кичившемся поддержкой старого железа) уже нет.

alegz ★★★★★
()
Ответ на: комментарий от alegz

Довольно странно также тащить за собой поддержку давно устаревшего железа, которое нужно 0.01% пользователей. Если им так нужно ретро, то можно оставаться на старом ядре.

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

Chiffchaff
()

Спасибо за адекватный перевод, видно что постарался. Такого качества новости нам нужны!

Xintrea ★★★★★
()
Ответ на: комментарий от Chiffchaff

Если им так нужно ретро, то можно оставаться на старом ядре

А так в новом ядре окажется какой-то лютый апдейт, который даст большой прирост в циферках, может даже реальный и значительный(оптимизация ФС). По-моему проблема с нежеланием держать легасийное железо должна решаться сборкой ядра с отключением драйверов этого железа

Tyse_EX
()
Ответ на: комментарий от Xintrea

форматирование в блоке про Rust!

Упс! Исправил.

dataman ★★★★★
() автор топика
Ответ на: комментарий от BruteForce

Поделись опытом по NAS. Что используешь, как подключаешься к ТВ, как сопряжаешь с другими устройствами, используешь ли камеры.

NAS - это такая штука, которая должна обеспечивать доступ к данным на дисках, которые в нем стоят. А вы о5 колхоз городите, делая из них минисервер. Хотя такие как ты и на роутер торент-качалки ставят и все в этом духе. Диагноз…

DrRulez ★★★★★
()
Ответ на: комментарий от firkax

Почему картинка к новости такая скучная?

Она явно будет повеселее, когда линукс дозреет до гибридного ядра. А так - в идеале знак вопроса. Чтоб отражало суть. Никогда не знаешь (а иногда 100 процентнов знаешь), что отвалиться после обновления этого жирнога монолита.

DrRulez ★★★★★
()
Ответ на: комментарий от nicholas_ru

Для компьютеров 15 летней давности

… «самое время расчищать место на помойке». именно так должна заканчиваться твоя фраза.

DrRulez ★★★★★
()
Ответ на: комментарий от DrRulez

… «самое время расчищать место на помойке». именно так должна заканчиваться твоя фраза.

Почему то в линукс считается что если у меня старый и дохлый компьютер то новое ядро туда не полезет, но зато софт (тот же браузер) там должен стоять последний.

mx__ ★★★★★
()
Ответ на: комментарий от teod0r

В системе учёта времени реализована поддержка вспомогательных часов (auxiliary), которые не связаны с обычными системными часами и идут по собственному ритму

facepalm.jpg

Готовятся к встройке на субсветовые корабли - там это будет востребовано.

BydymTydym ★★
()
Ответ на: комментарий от DrRulez

NAS - это такая штука

Если кого-то от этого плющит, то можно ведь и с другой стороны зайти. NAS - это просто такой сервер. Файл-сервер. Ну и по мелочи на нем еще пару служб подняли, чтоб не простаивал и вторую железку городить рядом не требовалось.

И, да, на роутере неплохо смотримся vpn-сервер и vpn-клиент :D не считая всего того, что в репе openwrt найти можно.

BydymTydym ★★
()
Ответ на: комментарий от DrRulez

Электронику вроде сейчас незаконно просто выкидывать.

А насчёт компов 15-летней давности - у меня почти всё железо примерно такого возраста.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Электронику вроде сейчас незаконно просто выкидывать.

Ну - можешь не просто так. Устрой поминки, пусти скупую мужскую слезу… :)

А железо 15-ти летней давности - без шуток менять пора. Ибо сдохнуть может уже в любой момент времени.

DrRulez ★★★★★
()
Ответ на: комментарий от BydymTydym

И, да, на роутере неплохо смотримся vpn-сервер и vpn-клиент

ну ты не путай впн и торрент качалки. впн там как раз - к месту. Банально для связи по защищенному каналу между двумя удаленными сетями, например. Это логичный функционал. А в репах опенврт, разного мусора, понапиханного туда всякими колхозниками-коробейниками - предостаточно.

DrRulez ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.
Тема будет перемещена в архив .