The OpenNET Project / Index page

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

Релиз ядра Linux 4.5

14.03.2016 08:03

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 4.5. Среди наиболее заметных изменений: системный вызов copy_file_range для ускорения копирования данных между файлами, поддержка технологии управления питанием Powerplay для GPU Radeon, улучшение распределения свободного пространства в Btrfs, реализация квот проектов в ext4, поддержка сборки с включением детектора неопределённого поведения, поддержка прямой коррекции ошибок в dm-verity, стабилизация новой унифицированной иерархии cgroup, подключение BPF-балансировщиков для UDP-сокетов в режиме SO_REUSEPORT, увеличение масштабируемости epoll для многопоточных приложений.

В новую версию принято около 13 тысяч исправлений от примерно 1500 разработчиков, размер патча - 70 Мб (изменения затронули 11589 файлов, добавлено 1146727 строк кода, удалено 854589 строк). Около 45% всех представленных в 4.5 изменений связаны с драйверами устройств, примерно 17% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 4% - файловыми системами и 3% c внутренними подсистемами ядра.

Из наиболее интересных новшеств ядра Linux 4.5 можно отметить:

  • Дисковая подсистема, ввод/вывод и файловые системы
    • Новый системный вызов copy_file_range, позволяющий ускорить выполнение операций копирования данных из одного файла в другой файл с выполнением операции только на стороне ядра, без предварительного чтения данных в память процесса в пространстве пользователя, что избавляет от частого переключения контекста между ядром и пространством пользователя. Тем не менее, в обычных условиях использование copy_file_range лишь немного быстрее обычной команды "cp", так как основное время уходит на ввод/вывод с накопителя.

      Совсем иная ситуация с применением copy_file_range для файлов на разделах NFS. Так как копирование в NFS приводит к необходимости перемещения данных по сети с сервера к клиенту и возвращения от клиента на сервер, исключение из этой цепочки клиента позволяет существенно ускорить процесс. Поддержка copy_file_range уже доступна для NFSv4.2. В будущих выпусках поддержка ускорения копирования будет реализована для Btrfs и специализированных устройств хранения, также будут преодолены текущие ограничение, такие как действия только в рамках одной точки монтирования и одного суперблока, а также невозможность ускорения копирования данных внутри одного файла.

    • В Btrfs решены проблемы с масштабируемостью обработки свободного дискового пространства. Вместо использования кэша свободных блоков, становящегося узким местом на больших и нагруженных файловых системах (более 30 Тб), реализован новый экспериментальный метод представления кэша свободного дискового пространства, который лишен ограничений с масштабируемостью и не требует обновления после каждого изменения в ФС. Для включения новой реализации при монтировании следует указать опцию "-o space_cache=v2", после первого монтирования с которой файловая система будет переведена на новую реализацию кэша (старые ядра смогут только читать данные, для возвращения для них возможности записи следует вернуть старый вариант кэша через монтирование с опцией "-o clear_cache,space_cache=v1");
    • В модуль dm-verity (device-mapper verity), предназначенный для проверки целостности хранимых блоков данных по криптографическим хэшам (например, используется для верификации загрузки в платформе Android), добавлена поддержка кодов прямой коррекции ошибок (FEC, Forwarded Error Correction, помехоустойчивое кодирование), которые позволяют не только выявить повреждения, но и восстановить исходное состояние блоков данных;
    • В файловой системе ext4 реализована поддержка квот проектов ("project quota"). Файлы могут быть привязаны к отдельным "проектам" для которых применяются иные квоты, отличающиеся от общих системных квот.
    • В XFS добавлена проверка корректности всех записей в логе по контрольным суммам, выполняемая в процессе восстановления информации по логу. Реализация ioctl-команд XFS XFS_IOC_FSSETXATTR и XFS_IOC_FSGETXATTR, позволяющих запрашивать и устанавливать различные дополнительные атрибуты файлов (только синхронная запись, запрет изменения, только дополнение, запрет создание символических ссылок на файл, не включение в бэкапы, запрет дефрагментации и т.п.), перемещена на уровень VFS и унифицирована для использования в других ФС (например, уже существует реализация для ext4).
    • В файловой системе Ceph появилась поддержка асинхронного ввода/вывода и формата размещения файлов CEPH_FEATURE_FS_FILE_LAYOUT_V2 ;
    • В подсистему FUSE добавлена поддержка опций SEEK_HOLE и SEEK_DATA системного вызова lseek() для выявления пустых областей и блоков данных внутри файла;
    • В подсистему libnvdimm (работа с NVM-памятью) добавлен слой для управления сбойными блоками, адаптированный из кода MD RAID;
    • В VFAT добавлена поддержка управления резервированием пустых областей через вызов fallocate();
    • В F2FS, развиваемую компанией Samsung высокопроизводительную файловую систему для Flash-накопителей, добавлен ioctl F2FS_IOC_DEFRAGMENT для выборочной дефрагментации файлов и опция монтирования data_flush для сброса буферов перед фиксацией изменений;
    • В MD RAID5 добавлена возможность горячего подключения и отключения дисков для хранения журнала;
  • Сетевая подсистема
    • Произведена оптимизация производительности работы режима SO_REUSEPORT для UDP-сокетов. Опция SO_REUSEPORT позволяет сразу нескольким слушающим сокетам подключиться к одному порту для приёма соединений с распределением поступающих запросов одновременно по всем подключенным через SO_REUSEPORT сокетам, что упрощает создание многопоточных серверных приложений. В новой версии ядра для UDP добавлены две дополнительные опции: SO_ATTACH_REUSEPORT_CBPF и SO_ATTACH_REUSEPORT_EBPF, позволяющие определить BPF-программу (классическую или расширенную), выполняющую функции диспетчера, принимающего решения какому сокету из группы REUSEPORT передать обработку пакета. Кроме того, увеличена скорость выбора сокета SO_REUSEPORT для входящих пакетов. При выполнении теста на сервере с 48 ядрами CPU с 10 гигабитным линком, скорость распределения между 10 сокетами возросла на 18%, 20 - на 14% и 40 - на 13%;
    • В cgroup memory controller добавлена возможность учёта в едином пуле потребления памяти структурами данных, связанными с работой сокетов, анонимной памятью и кэше страниц памяти, позволяя учитывать состояние потребителей памяти в процессе распределения и лимитирования памяти в группе. Например, при нехватке памяти, может быть приостановлено выделение памяти на сетевые структуры. При желании можно вывести связанною с сокетами память из под действия общей системы лимитирования памяти (cgroup.memory=nosocket).
    • Добавлена поддержка опции SOCK_DESTROY, позволяющей системному администратору принудительно закрыть TCP-соединение через интерфейс "netlink socket diag", инициируя операцию TCP ABORT с отправкой другой стороне RST-уведомления о завершении соединения;
    • В nftables добавлена поддержка перенаправления и дублирования пакетов netdev, например, для быстрого проброса пакетов с одного интерфейса на другой или между входным/выходным буфером одного интерфейса. Также добавлена поддержка изменения данных в пакете (mangling packet payload) с автоматической корректировкой контрольной суммы и возможность учёта в правилах счётчика байт или пакетов;
    • Добавлен модуль "clsact" с реализацией обобщённого метода построения очереди сетевых пакетов;
  • Память и системные сервисы
    • Обеспечена возможность сборки ядра в GCC 4.9+ с включённой опцией "-fsanitize=undefined", активирующей отладочный режим UBSAN (Undefined Behavior Sanitizer) с реализацией детектора неопределенного поведения, добавляющего в скомпилированный код дополнительные проверки для выявления во время выполнения программы ситуаций, когда поведение программы становится неопределенным (зависит от реализации компилятора) из-за ошибки программиста. Например, к неопределённому поведению относится использование нестатических переменных до их инициализации, деление целых чисел на ноль, переполнения целочисленных знаковых типов, разыменование указателей NULL, проблемы с выравниванием указателей и т.п.
    • В системный вызов madvise, предоставляющий средства для оптимизации управления памятью процесса, добавлена поддержка флага MADV_FREE, который дополняет уже имеющийся флаг MADV_DONTNEED, через который ядру можно загодя сообщить о готовящемся освобождении блока памяти, т.е. о том, что этот блок уже не нужен и может использоваться ядром. В случае использования MADV_DONTNEED последующее обращении к блоку приведёт к генерации "page fault", выделению и обнулению страниц памяти или к повторному маппингу файла в память. MADV_FREE отличается тем, что только помечает блок доступным для освобождения, но не освобождает сразу, что позволяет вернуть его без генерации "page fault", если обращение произошло до его фактического использования ядром;
    • В вызов epoll добавлена поддержка флага EPOLLEXCLUSIVE, решающего проблемы с масштабируемостью в многопоточных приложениях. В обычных условиях при создании нескольких файловых дескрипторов epoll (epfds) для совместно обрабатываемых событий генерация события приведёт к информированию всех epfds. Флаг EPOLLEXCLUSIVE позволят привязать событие к отдельному файловому дескриптору и информировать только связанный с ним поток, что значительно повышает эффективность в программах с большим числом epfds. Например, перевод платформы Enduro/X на EPOLLEXCLUSIVE уменьшил время прохождения тестового задания с 860 до 24 секунд;
    • Интерфейс cgroup v2 переведён в разряд официально поддерживаемых и более не скрыт в категории экспериментальных разработок. В рамках cgroup v2 предлагается единая унифицированная иерархия cgroup (Cgroup unified hierarchy), пришедшая на смену гибкой, но не получившей практического применения, поддержке произвольного числа иерархий cgroup, определяющих применение правил к группам процессов (например, одна иерархия для распределения ресурсов CPU, а другая для регулирования потребления памяти). Изначально применяемый подход приводил к трудностям организации взаимодействия между обработчиками разных иерархий и к дополнительным затратам ресурсов ядра при применении правил для процесса, упоминаемого в разных иерархиях. Унифицированная иерархия cgroup теперь может монтироваться при указании типа файловой системы "cgroup2". К сожалению контроллер CPU пока не вошёл в релиз, поддержка ограничивается контроллерами памяти и ввода/вывода;
    • Поддержка принудительной блокировки файлов (Mandatory file locking) переведена в разряд опциональных возможностей и требует явного включения в файле конфигурации. В будущем реализацию принудительной блокировки файлов планируется удалить из ядра. Суть принудительной блокировки файлов в том, что ядро автоматически запрещает запись в файл, если этот файл уже отрыт другим процессом на чтение, и запрещает чтение и запись, если файл открыт на запись. В отличие от повсеместно применяемой совместной схемы установки блокировок на файлы, принудительная блокировка почти не используется, а реализация имеет ряд нерешённых проблем;
    • Многочисленные улучшения в утилите perf.
  • Виртуализация и безопасность
    • Добавлена защита от приведения устройств с проблемными прошивками в нерабочее состояние после очистки конфигурации UEFI в результате удаления содержимого директории /sys/firmware/efi/efivars, например, после запуска "rm -rf /" под пользователем root. В новой версии ряд переменных в /sys/firmware/efi/efivars защищён от удаления;
    • В User-Mode Linux добавлена поддержка системного вызова seccomp();
    • В файл конфигурации ядра добавлена новая опция CONFIG_IO_STRICT_DEVMEM (отключена по умолчанию), позволяющая блокировать доступ к областям памяти /dev/mem, связанных с работой драйверов устройств;
    • Внесены улучшения в реализацию TPM/TPM2 (Trusted Platform Module);
    • В Smack добавлена проверка 'file receive', позволяющая определить права доступа к сокету в привязке к процессу, а не к i-node;
    • Возможность увеличения диапазона случайных значений, используемых при работе системы рандомизации адресного пространства (ASLR). Вместо заданных в коде значений параметры рандомизации теперь можно менять через /proc/sys/vm/mmap_rnd_bits и /proc/sys/vm/mmap_rnd_compat_bits, что может использоваться для усиления безопасности, но чревато проблемами с распределением больших блоков памяти;
    • Возможность лимитирования числа неименованных каналов (pipe), которые может создать один пользователь. Указанная возможность позволяет защититься от атак, в результате которых пользователь может израсходовать всю доступную память через открытие большого числа неименованных каналов, данные в которых остаются никогда не прочитаны;
  • Оборудование
    • В драйвер AMDGPU добавлена экспериментальная поддержка технологии динамического управления питанием Powerplay. Powerplay позволяет решить проблему с посредственной производительностью GPU Radeon в Linux, вызванную тем, что по умолчанию GPU запускается в режиме низкого энергопотребления, не позволяющего добиться максимальной производительности. Powerplay динамически отслеживает нагрузку на графическую подсистему и при необходимости повышает тактовую частоту GPU, переводя его в режим максимальной производительности. В настоящее время поддержка Powerplay реализована для GPU Tonga и Fiji, а также для интегрированных APU Carrizo и Stoney, использование нового драйвера AMDGPU с которыми демонстрирует существенное увеличение производительности. Из-за необходимости дополнительной стабилизации и тестирования кода режим Powerplay пока отключен по умолчанию, для включения следует передать ядру параметр "amdgpu.powerplay=1";
    • Из драйвера Radeon полностью удалена поддержка переключения видеорежимов в пространстве пользователя (UMS), для управления видеорежимами теперь можно использовать только KMS;
    • Расширены возможности DRM-драйвера для видеокарт Intel: добавлена поддержка будущего поколения чипов Kabylake, идущего на смену Skylake;
    • Расширены возможности DRM-драйвера для видеокарт NVIDIA (Nouveau): представлена возможность изменения скорости для шины PCI Express;
    • Включена новая версия Media controller API, позволяющая улучшить поддержку расширенных устройств Video4Linux (например, радио и TV) и дающая возможность использовать функциональность мультимедиа контроллера в других подсистемах, таких как DVB, ALSA и IIO;
    • Обновлена реализация проекта по обеспечению создания универсальных многоплатформенных ARM-сборок, позволяющих использовать одну сборку ядра для загрузки на различных ARM-процессорах ARMv6 и ARMv7. В новой версии отмечается включение наработок по рефакторингу ARM-сборок и добавление новых подсистем для улучшения абстрагирования от особенностей каждой платформы.
    • Поддержка новых ARM-плат: Sigma Designs Tango4, Raspberry Pi 2 (BCM2836), Rockchip RK3228, Freescale LS1043a, LogicPD DM3730, Cosmic+ M4 (Freescale Vybrid);
    • Поддержка USB-контроллеров Mediatek MT65xx, Renesas USB3.0, Renesas R-Car 3 USB 2.0 PHYs, Hisilicon hi6220 USB PHYs;
    • Поддержка криптографических ускорителей Rockchip и Intel C3xxx, C3xxxvf, C62x, C62xvf;
    • Поддержка звуковых карт Imagination Technologies, звуковых сопроцессоров AMD и кодеков Cirrus Logic CS47L24, Rockchip rk3036 Inno, Dialog Semiconductor DA7217/DA7218, Texas Instruments pcm3168a, Realtec RT5616/5659;


  1. Главная ссылка к новости (https://lkml.org/lkml/2016/3/1...)
  2. OpenNews: Релиз ядра Linux 4.4
  3. OpenNews: Релиз ядра Linux 4.0
  4. OpenNews: Релиз ядра Linux 4.1
  5. OpenNews: Релиз ядра Linux 4.2
  6. OpenNews: Релиз ядра Linux 4.3
Лицензия: CC-BY
Тип: Интересно / Программы
Короткая ссылка: https://opennet.ru/44040-linux
Ключевые слова: linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (82) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 08:27, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +23 +/
    А сломали, сломали то что?
     
     
  • 2.3, Какаянахренразница (ok), 08:36, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +19 +/
    > А сломали, сломали то что?

    Почему "сломали"? Как "представил", так один Линус, а как "сломали", так все вместе... Пускай так и пишут: "После двух месяцев разработки Линус Торвальдс внёс в ядро следующие регрессии ...", ну и далее по тексту.

     
     
  • 3.75, Аноним (-), 17:20, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    "Представил", а не " разработал". Или всем разработчикам собраться на поле и хором изменения декларировать?
     
     
  • 4.79, anonymous (??), 18:58, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Или всем разработчикам собраться на поле и хором изменения декларировать?

    Как что-то плохое.

     
  • 2.4, bircoph (ok), 08:47, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Поставь, узнаешь :)
     
  • 2.5, Адекват (ok), 08:48, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А сломали, сломали то что?

    Не знаю когда это точно случилось, но у меня в корне xfs.
    Так вот эта ФС теряет свободное место, просто перезагрузился и 30Мб как не бывало, думал что логи но весь каталог /var вырос буквально на 40Кб.
    Домашний каталог находится на отдельном разделе.

     
     
  • 3.24, Аноним (-), 10:22, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    https://ru.wikipedia.org/wiki/Бэд-сектор
     
  • 3.54, Аноним (-), 14:12, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У меня тоже xfs на корне, но она не теряет свободное место.
     
     
  • 4.61, Адекват (ok), 15:18, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > У меня тоже xfs на корне, но она не теряет свободное место.

    А systemd есть ? вообще спасибо за ответ - для меня полезная инфа.

     
     
  • 5.95, Аноним (-), 01:51, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    systemd есть, дистр Арч.
     
     
  • 6.122, Programmer4neo (?), 18:12, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати про СистемД Поттеринг таки угадал:
    https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81
     
     
  • 7.123, Andrey Mitrofanov (?), 18:37, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Кстати про СистемД Поттеринг таки угадал:

    Да-да... "Тридцать пять тысяч одних юнит-файлов! У меня лёгкость в мыслях необыкновенная."

     
     
  • 8.125, Аноним (-), 22:16, 17/03/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Лучше чем 35 000 глючных скриптов от бухих студней, которые вообще не понятно - ... текст свёрнут, показать
     
     
  • 9.127, Led (ok), 22:25, 17/03/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вечная зависть школоты к студням ... текст свёрнут, показать
     
     
  • 10.129, Аноним (-), 19:02, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Почему же сразу зависть Хорошо что в серверном altlinux есть останки sysv init ... текст свёрнут, показать
     
  • 2.69, Аноним (-), 15:54, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    сказали же "Линус Торвальдс". Новости про Поттеринга дальше
     
  • 2.96, t (??), 03:07, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а я на своём арче с 4.3 на 4.4 не смог перейти - теперь грузится без экрана. по ssh зайти могу, а вывода на монитор никакого нет.
    откатился на 4.1-lts, решать проблему времени нет.
    4.5 в stable арча будет наверно на следующей неделе наверно.
     
     
  • 3.118, _KUL (ok), 00:48, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Отныне ты изгнан из клуба линуксоидлв!
     

  • 1.7, Аноним (-), 08:56, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Поддержка новых ARM-плат: Sigma Designs Tango4, Raspberry Pi 2 (BCM2836),

    Что это означает для владельцев rpi2?

     
     
  • 2.12, EuPhobos (ok), 09:25, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Для дистрибутивоклепателей, это означает поддержку их плат, без необходимости переклеевать ядро и допиливать нужные драйверсы.
     
     
  • 3.27, Аноним (-), 10:56, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    вот только уже Raspberry Pi 3 вышла... отстают-с

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

     
     
  • 4.89, Аноним (-), 22:51, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > вот только уже Raspberry Pi 3 вышла... отстают-с

    Чего ты от броадкома то хотел? Они проприетарщики по жизни, так что радуйся что хоть так.

     
  • 2.87, Аноним (-), 22:48, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Что это означает для владельцев rpi2?

    То что будет работать с обычным ядром, а не вендоровским самосбором.

     

  • 1.8, odity (ok), 09:00, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    BTRFS  - порадовал, но все равно считаю вещь сырой. хоть и один из вариантов резервирования на предприятии работает.
    Порадовал UDP b новый механизм копирования. Но вот беда - ждать сборок от создателей дистрибутива будет еще очень долго, а самому внедрять ядро и потом следить за его актуальностью - пипец,как накладно в рамках работы
     
     
  • 2.17, Клыкастый (ok), 09:43, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Но вот беда - ждать сборок от создателей дистрибутива будет еще очень долго

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

     
  • 2.68, нонанимус (?), 15:51, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Поставь арчик
     
  • 2.90, Аноним (-), 22:54, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > BTRFS  - порадовал, но все равно считаю вещь сырой.

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

     
  • 2.130, Аноним (-), 09:43, 19/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    btrfs это как wayland. Гладко было на бумаге, да забыли про овраги.
     

  • 1.13, Аноним (-), 09:28, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В центоси, кстати, libssh2 обновился, запилите кто-нибудь страшную историю?
     
     
  • 2.56, Аноним (-), 14:33, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В центоси, кстати, libssh2 обновился, запилите кто-нибудь страшную историю?

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

     
  • 2.115, Аноним (-), 19:45, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > В центоси, кстати, libssh2 обновился, запилите кто-нибудь страшную историю?

    A type confusion issue was found in the way libssh2 generated ephemeral
    secrets for the diffie-hellman-group1 and diffie-hellman-group14 key
    exchange methods. This would cause an SSHv2 Diffie-Hellman handshake to use
    significantly less secure random parameters. (CVE-2016-0787)

    https://rhn.redhat.com/errata/RHSA-2016-0428.html

     

  • 1.16, iPony (?), 09:41, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В F2FS, развиваемую компанией Samsung высокопроизводительную файловую систему для Flash-накопителей

    И когда оно в ведроидах появится? А то пока все жуют микрософтные FAT/exFAT...

     
     
  • 2.22, alexrayne (?), 10:11, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> В F2FS, развиваемую компанией Samsung высокопроизводительную файловую систему для Flash-накопителей
    > И когда оно в ведроидах появится? А то пока все жуют микрософтные
    > FAT/exFAT...

    жуйте CFS

     
  • 2.64, Аноним (-), 15:42, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Погугли по словам "f2fs андроид". Есть утилиты и мануалы, как некоторые ROM-ы перевести на полный F2FS.

    Вот в OpenWRT с F2FS всё грустно - стандартными средствами автомонтирование F2FS-разделов невозможно, а городить свои скрипты откровенно не хочется.

     
  • 2.91, Аноним (-), 22:57, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > И когда оно в ведроидах появится?

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

     

  • 1.25, user455 (?), 10:30, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Новый системный вызов copy_file_range, позволяющий ускорить выполнение операций копирования данных из одного файла в другой файл с выполнением операции только на стороне ядра, без предварительного чтения данных в память процесса в пространстве пользователя, что избавляет от частого переключений контекста между ядром и пространством пользователя. Тем не менее, в обычных условиях использование copy_file_range лишь немного быстрее обычной команды "cp", так как основное время уходит на ввод/вывод с накопителя.

    сорри за ламерский вопрос, но все же, объясните, кто в курсе. т.е. получается , что sendfile теперь не нужен? или он для других целей будет использоваться. насколько я помню он делает то же самое, только у него были траблы с NFS. так ли это?

     
     
  • 2.29, Аноним (-), 11:03, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сендфайл это из файла в сокет. А это из файла в файл. Чуешь разницу?
     
     
  • 3.57, user455 (?), 14:43, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну сокет это по сути такой же файл. почему нельзя было юзать его для копирования файлов ?
     
     
  • 4.84, zfs (??), 22:20, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В copy_file_range появился параметр для задания смещения для выходного файла.
    Для сокетов же (т.е. sendfile) - это бесмысслено.
     
     
  • 5.117, cheerilee (?), 22:59, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В copy_file_range появился параметр для задания смещения для выходного файла.
    > Для сокетов же (т.е. sendfile) - это бесмысслено.

    это не так. sendfile() отлично копирует файлы кусками по смещению, как угодно.
    seek позволяет выставить, куда он будет писать.

    я честно не могу вообще понять смысла в новом вызове и буду рад, если кто-нибудь нормально объяснит.

     
     
  • 6.133, zfs (??), 13:39, 22/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > sendfile() отлично копирует файлы кусками по смещению, как угодно.
    > seek позволяет выставить, куда он будет писать.

    Несколько позновато отвечаю.
    Согласен, seek помагает. Но это если в одном потоке писать в файл. А вот если сразу из нескольких потоков надо одновремено. Это как pwrite,pread vs write,read.

     
  • 4.108, Ананемасус (?), 12:41, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То, что и для сокета и для файла юзается файловый дескриптор еще ни о чем не говорит.
    Сендфайл на файлах в качестве назначеения не работает.
    Когда ты читаешь из файла сокет то тебе надо инициировать ио операцию и запихать полученные данные в буфер сокета. Это делает сендфайл. А когда копируешь из файла в файл, то надо сперва одну, потом другую ио операцию, обе блокирующие, код сложнее
     
  • 2.32, АнонимХ (ok), 11:25, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > copy_file_range

    Вообще не понятно, в чем сложность была реализации этого раньше. Ведь это прямо очевидная функциональность для файловых систем, которые подразумевают работу с файлами на удаленной машине. Ждем использование copy_file_range в SAMBA, sshfs, CurlFtpFS.

     
     
  • 3.35, тоже Аноним (ok), 11:52, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Боюсь, ждать аналогичного поведения в Samba вам придется до тех пор, пока винда на той стороне провода не научится понимать команду "да не нужен мне твой файл, просто копию сделай, дубина!".
     
     
  • 4.40, Crazy Alex (ok), 12:36, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На той стороне тоже может быть самба. ХЗ, правда, есть ли в протоколе какая-нибудь секция необязательных флагов и возможность получить набор дополнительных способностей сервера - но в принципе вариант "базовый потокол плюс анонс/исопльзование необяательных расширений" - вообще хорошая штука.
     
  • 4.60, Нанобот (ok), 15:07, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >ждать аналогичного поведения в Samba вам придется до тех пор, пока винда на той стороне провода не научится понимать команду "да не нужен мне твой файл, просто копию сделай, дубина!".

    т.е. ждать придётся появления SMB 2.0 в windows vista в 2006 году. ну ждите...

     
     
  • 5.62, АнонимХ (ok), 15:21, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Что это значит? В smb 2.0 есть вызов  аналога copy_file_range ?
     
     
  • 6.70, h31 (ok), 15:57, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Не уверен, что именно в 2.0, но в какой-то версии точно добавили.
     
  • 6.72, iPony (?), 16:20, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это или нет?
    https://wiki.samba.org/index.php/Server-Side_Copy
     
  • 6.78, Нанобот (ok), 18:00, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    да. https://msdn.microsoft.com/en-us/library/cc246740.aspx
     
     
  • 7.98, . (?), 04:32, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Заплюсил минусы. Я тоже M$ не лбюлю, но "истина дороже!(С)"
    Есть у них это. ТЧК.
     

  • 1.37, Аноним (-), 12:20, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    для процессоров интел (в частности baytrail) как поломали с 3.17 работу с включенным c-state > 1 так и не починили -- если в биосе разрешены режимы с-state 6 или 7, то система гарантированно повиснет после запуска в течении 10-30 минут
     
     
  • 2.38, Аноним (-), 12:28, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы не быть голословным -- вот ссылка на баг https://bugzilla.kernel.org/show_bug.cgi?id=109051
     
  • 2.58, synkronized (ok), 14:49, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    на gigabyte ga-j1900-d3v заметил такое поведение в ubuntu 14.04.3.. переодически зависает. как раз включил этот C6-state
     
     
  • 3.63, Аноним (-), 15:24, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    та же фигня с asrock j1900, помогает только переключение в биосе на C-STATE C1 (к соалению так проц больше греется, но пока других решений нет, выньтел положили болт на своих кастомеров https://communities.intel.com/thread/60984?start=0&tstart=0
     
     
  • 4.114, synkronized (ok), 19:12, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за совет ;)
     

  • 1.41, botman (ok), 12:41, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А ядро 4.3 теперь не будут обновлять? Кто в курсе? Интересно что будет в Debian 9 к релизу: 4.4, 4.5 или оставят 4.3.
     
     
  • 2.47, Анонусис (?), 13:24, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А ядро 4.3 теперь не будут обновлять? Кто в курсе? Интересно что
    > будет в Debian 9 к релизу: 4.4, 4.5 или оставят 4.3.

    4.3 нет, уже EOL. 4.4 LTS-релиз. Предыдущй LTS - 4.1.  Хотя другие проекты могут поддерживать ядро своими силами и бэкпортировать изменения.

     
     
  • 3.49, botman (ok), 13:26, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Значит не просто так в репозиториях части из 4.4, спасибо за инфу.
     
  • 2.48, Анонусис (?), 13:24, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А ядро 4.3 теперь не будут обновлять? Кто в курсе? Интересно что
    > будет в Debian 9 к релизу: 4.4, 4.5 или оставят 4.3.

    Просто надо помнить, что есть Vanilla-ядро, это не тоже самое что и ядро в дистрибутиве. В Убунте даже нумеруют обновления по-своему.

     
  • 2.52, Аноним (-), 13:49, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >Интересно что будет в Debian 9 к релизу

    https://www.opennet.ru/opennews/art.shtml?num=43984

    >Сдвиг сроков выполнен для того, чтобы обеспечить вхождение в состав Debian 9 ядра Linux 4.10, которое будет отнесено к разряду LTS-веток, что упростит длительное сопровождение пакетов с ядром в дистрибутиве.

     
     
  • 3.73, botman (ok), 16:35, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А вот 4.4 сейчас в unstable. Оно в testing ведь будет иногда переходить до выхода 4.10 если предыдущие стабильные ветки не нужны и даже на longterm нет намёка? Не в курсе?
     
     
  • 4.132, botman (ok), 10:38, 20/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Перешли на 4.4, видимо потом на 4.5 и т.д. до выхода 4.10 будут обновлять. Это молодцы они.
     

  • 1.44, Ivan_83 (ok), 13:02, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    EPOLLEXCLUSIVE и EPOLLROUNDROBIN - годно.
     
  • 1.71, Аноним (-), 15:58, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Реализация ioctl-команд XFS XFS_IOC_FSSETXATTR и XFS_IOC_FSGETXATTR, позволяющих запрашивать и устанавливать различные дополнительные атрибуты файлов (только синхронная запись, запрет изменения, только дополнение, запрет создание символических ссылок на файл, не включение в бэкапы, запрет дефрагментации и т.п.), перемещена на уровень VFS и унифицирована для использования в других ФС (например, уже существует реализация для ext4).

    Интересно, сами догадались, или это системдшники таки добрались до bugzilla.kernel.org ? :)
    https://github.com/systemd/systemd/issues/560

     
     
  • 2.116, Аноним (-), 19:47, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, сами догадались, или это системдшники таки добрались до bugzilla.kernel.org ? :)

    Зачем им куда-то добираться, у них же есть волшебный Грег КХ :)

     

  • 1.81, Аноним (-), 19:46, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    EPOLLEXCLUSIVE как юзать? нифига не ясно
     
  • 1.82, count0krsk (ok), 20:14, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Так-то молодцы. Только кто-нибудь бы ещё обратил внимание на этот баг:
    https://bugzilla.kernel.org/show_bug.cgi?id=73241
    А то кард-ридер встроенный на Асер-ах и некоторых макбуках или не пашет, или работает, но при этом постоянно система лагает, что-то там с прерываниями не так. Может потому, что картовод и сетевуха сидят на одном прерывании, хз.. Видать какой-то комбо-чип от Броадком-а.  
     
  • 1.83, Kodir (ok), 22:10, 14/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Вопрос бородатым арчеводам: сколько примерно готовится пакет для нового ядра? В арче пытался сделать обновление - там всё ещё ядро 4.4;
     
     
  • 2.86, Аноним (-), 22:46, 14/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого не нужно быть бородатым арчеводом. День-другой нужно потерпеть будет. Хотя иногда у них задержки ~ недели-другой бывает.
    В Gentoo вот уже прилетело.
     
  • 2.100, t (??), 05:36, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    речь про stable или testing ?
    по разному. в stable до 4х недель было как то. обычно в течении 10 дней.
     

  • 1.99, Аноним (99), 05:14, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    стесняюсь спросить, а сколько сейчас весит ядро, если патч 70 Мб, в 2.6 оно весило чуть больше 20 Мб?
     
     
  • 2.109, Ананемасус (?), 13:05, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > стесняюсь спросить, а сколько сейчас весит ядро, если патч 70 Мб, в
    > 2.6 оно весило чуть больше 20 Мб?

    Сорсов там куда больше чем 20мб. Патч дял сорсов, а 20мб это  ты про бинарник

     
     
  • 3.112, Andrey Mitrofanov (?), 13:28, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это всё бессмысленно Ср patch-4 5 xz 14-Mar-2016 04 39 8 2M ... большой текст свёрнут, показать
     
  • 2.111, JL2001 (ok), 13:27, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > стесняюсь спросить, а сколько сейчас весит ядро, если патч 70 Мб, в 2.6 оно весило чуть больше 20 Мб?

    в убунте установленное 4.4 выглядит так
    -rw-r--r-- 1 root root 1,2M марта 10 03:44 abi-4.4.5-040405-generic
    -rw-r--r-- 1 root root 184K марта 10 03:44 config-4.4.5-040405-generic
    -rw-r--r-- 1 root root  13M марта 13 17:58 initrd.img-4.4.5-040405-generic
    -rw------- 1 root root 3,7M марта 10 03:44 System.map-4.4.5-040405-generic
    -rw------- 1 root root 6,7M марта 10 03:44 vmlinuz-4.4.5-040405-generic

     
  • 2.131, Аноним (-), 09:51, 19/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > стесняюсь спросить, а сколько сейчас весит ядро, если патч 70 Мб, в
    > 2.6 оно весило чуть больше 20 Мб?

    Да лан, не стесняйся, ведь тебе вся функциональность ядра не нужна. Дистрибутивщики специально для домохозяек делают урезанное. Иначе на лампочку линукс никак не поставить.

     

  • 1.119, kernel Panic (?), 11:10, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Спецы!!! Помогите…
    до 4.4 все сборки шли без проблем, потом… собирается без проблем, initrd делается, в grub 2 прописывается…
    Но!
    Новое ядро не стартует даже с «kernel panic!» — просто система виснет, нет отчетов в консоли старта, нет и в var/mess и var/log/boot
    Старые сборки — стартуют без проблем…
    уже все gcc и glibc переустановил, почистил все…
     
     
  • 2.121, Специалист (?), 15:07, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты не одинок, я вчера и сегодня не смог запустить ядро. Ядро-4.5 не запускается на десктопе.
     

  • 1.120, kerne panic (?), 11:27, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Да, ось opensuse 13.2
    dracut - последний, от ноября..
     
  • 1.124, Аноним (124), 02:17, 17/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "В Btrfs решены проблемы с масштабируемостью обработки свободного дискового пространства."

    это экспериментальная фича
    какой-то Омар работал над ней все лето :)))))
    https://lkml.org/lkml/2016/1/17/17

     
     
  • 2.126, Аноним (-), 22:20, 17/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это фэйсбук для себя запилил - видите ли, старая реализация медленно работала если у тебя хранилище крупнее ~30 терабайтов, тебе это все-равно не грозит.
     
     
  • 3.128, Аноним (124), 05:07, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вот интересно, как проверить эффективность этого патча
    не думаю, что объем играет
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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