Линус Торвальдс анонсировал релиз ядра Linux 3.16
Линус Торвальдс анонсировал релиз ядра Linux 3.16
05.08.2014
После двух месяцев разработки Линус Торвальдс анонсировал релиз ядра Linux 3.16. Среди наиболее заметных улучшений: единая унифицированная иерархия cgroup, доработка нового слоя блочных устройств blk-mq, JIT-компиляция BPF-фильтров seccomp, поддержка TCP Fast Open для IPv6, ускорение работы драйвера Radeon, увеличение надёжности и производительности Btrfs и NFS.
В новую версию принято около 11910 исправлений от 1300 разработчиков, размер патча - 37 Мб (изменения затронули 9809 файлов, добавлено 514025 строк кода, удалено 267461 строк). Около 42% всех представленных в 3.16 изменений связаны с драйверами устройств, примерно 24% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% - файловыми системами и 5% c внутренними подсистемами ядра.
Из наиболееинтересныхновшеств можно отметить:
- Память и системные сервисы
- Новая версия интерфейса cgroup, в котором представлена единая унифицированная иерархия cgroup (Cgroup unified hierarchy), пришедшая на смену гибкой, но не получившей практического применения, поддержке произвольного числа иерархий cgroup, определяющих применение правил к группам процессов (например, одна иерархия для распределения ресурсов CPU, а другая для регулирования потребления памяти). Изначально применяемый подход приводил к трудностям организации взаимодействия между обработчиками разных иерархий и к дополнительным затратам ресурсов ядра при применении правил для процесса, упоминаемого в разных иерархиях. Унифицированная иерархия cgpoup пока добавлена в качестве опции, для включения которой при монтировании cgroup следует использовать флаг __DEVEL__sane_behavior;
- Переработан метод организации работы блокировок файлов с использованием семафоров rwsem (Reader Writer Semaphores), что положительно повлияло на производительность некоторых видов операций. Например, отмечается ускорение выполнения связанных с оценкой пропускной способности тестов PostgreSQL (pgbench) на 60%. Выполнение теста AIM7 ускорилось на 20-60%;
- В работающем на уровне ядра коде EFI обеспечена поддержка обработки символов Unicode и добавлена возможность сохранения и загрузки состояния регистров FPU при обращении к EFI, так как прошивки EFI могут использовать FPU;
- Начальная поддержка EFI для ARM64 (aarch64);
- Из-за наличия проблем, миграция страниц памяти большого размера (hugepage) по умолчанию отключена для всех архитектур, за исключением x86_64, для которой данная возможность хорошо протестирована;
- Возвращена отключенная в прошлом выпуске возможность создания 16-разрядных сегментов при работе в 64-разрядном режиме. Поддержка 16-разрядных сегментов была отключена из-за потенциальных проблем с безопасностью, связанных с утечкой информации из ядра. Теперь данные проблемы устранены и пользователи вновь могут насладиться запуском 16-разрядных Windows-программ через Wine на системах с 64-разрядными сборками ядра Linux;
- Объявлен устаревшим системный вызов remap_file_pages();
- В поставку добавлен скрипт decode_stacktrace.sh для декодирования дампов стека ядра в представление, позволяющее более наглядно оценить источник проблемы;
- Сетевая подсистема
- Обеспечена поддержка режима быстрого открытия TCP-соединений (TFO - TCP Fast Open) для соединений, установленных поверх IPv6. Режим TFO позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения и даёт возможность отправки данных на начальном этапе установки соединения.
- В сетевых сокетах для протокола SCTP обеспечена поддержка режима полинга при высокой нагрузке, активируемого через опцию SO_BUSY_POLL и позволяющего сократить задержки при получении данных с сетевых интерфейсов с очень интенсивным трафиком;
- Добавлен внутренний API для программной поддержки TSO (TCP segmentation offload) в драйверах. API уже задействован в драйверах mvneta, mv643xx_eth и fec;
- Дисковая подсистема, ввод/вывод и файловые системы
- Доведена до готовности запланированная функциональность нового блочного слоя blk-mq (multiqueue block layer), рассчитанного на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей. Архитектура нового блочного слоя основана на двухуровневой модели очередей: на первом уровне функционируют очереди для передачи запросов ввода/вывода, привязанные к каждому CPU. Из данных очередей запросы направляются в очереди второго уровня, которые координируют обращение к оборудованию. В зависимости от конфигурации системы, числа CPU и накопителей соотношение между очередями первого и второго уровня может составлять от 1 к 1 до N к M. Из переведённых на blk-mq драйверов отмечается драйвер для Flash-чипов Micron с интерфейсом PCI (mtip32xx). В ядре 3.17 ожидается поддержка Multiqueue SCSI.
- В файловой системе Btrfs представлен новый ioctl-вызов BTRFS_IOC_TREE_SEARCH_V2 для поиска заданных ключей в ФС. BTRFS_IOC_TREE_SEARCH_V2 является более гибким вариантом вызова BTRFS_IOC_TREE_SEARCH, позволяющий использовать буфер большего размера при получении результатов поиска (ранее использовался фиксированный буфер в 3992 байт). Учёт квот переработан для увеличения производительности и более эффективного отслеживания отложенных операций с экстентами. Добвлена поддержка флага O_TMPFILE, позволяющего передать файловой системе информацию о создании временного файла, не видимого в иерархии ФС;
- В XFS оптимизирован и переработан код распределения inode, реализован дисковый btree-индекс для отслеживания свободных inode;
- Поддержка первого формата файловой системы FAT, применяемого в DOS 1.x для дискет, размером 160, 180, 320 и 360 Кб;
- Интегрированы патчи для увеличения надёжности локального (loopback) монтирования NFS-разделов. Переработан код NFS для обработки внешнего представления данных (XDR), что позволило обеспечить поддержку ACL, размером более 4Кб, и возвращать результаты readdir() блоками более 4Кб;
- Виртуализация и безопасность
- Обеспечена возможность установки атрибутов доступа только для чтения (RO) и запрета исполнения (NX) для областей данных модулей ядра, на начальном этапе их загрузки, ещё до начала разбора параметров модуля;
- Добавлена поддержка JIT-компиляции для BPF-фильтров, используемых в подсистеме seccomp, используемой для контроля обращения к системным вызовам;
- В виртуальных сетевых интерфейсах Xen обеспечена поддержка множественных очередей (multi-queue), что позволило добиться значительного повышения производительности. В реализацию Xen для архитектуры ARM добавлена поддержка приостановки и возобновления работы гостевых систем (suspend/resume);
- Переработан код управления блокировками в драйвере virtio-blk, что позволило поднять производительность для некоторых видов нагрузки;
- В гипервизор KVM добавлена начальная поддержка little-endian процессоров POWER8. Для архитектуры s390 внесены оптимизации в работу KVM, обеспечена возможность миграции виртуальных окружений и поддержка GDB;
- В модуль расширенной верификации (EVM) добавлена опция для учёта расширенных атрибутов (xattrs) в рассчитанном для файла значении HMAC (Hash-based message authentication code). В частности, при расчёте HMAC теперь могут быть добавлены атрибуты SMACK64EXEC, SMACK64TRANSMUTE и SMACK64MMAP;
- Аппаратные архитектуры
- Для архитектуры ARM добавлена поддержка ждущего режима (hibernation);
- Для 64-разрядной little-endian архитектуры PowerPC добавлена поддержка ELFv2 ABI и представлена новая обвязка для загрузчика;
- Поддержка 64-разрядного варианта виртуального процессора Goldfish, нацеленного на обеспечение эмуляции платформы Android и используемый при разработке под данную платформу;
- Переработана поддержка многопроцессорности для Allwinner A31 SoC. Добавлена поддержка SMP для Marvell Armada 375 и 38x SoC;
- Добавлены специфичные для архитектуры ARM64 (aarch64) ассемблерные оптимизации, затрагивающие операции со строками, работу с памятью и криптографические операции (SHA, AES, GHASH). Добавлена поддержка Ftrace;
- Для SoC Samsung Exynos обеспечена поддержка многоплатформенных ARM-сборок (возможность собрать одно ядро, которое будет содержать поддержку различных ARM-платформ);
- Оборудование
- В DRM-драйвере Nouveau добавлена поддержка устройств NVIDIA Tesla K40 GK110B (GeForce GTX 780 Ti) и начальная поддержка NVIDIA Tegra K1 (GK20A). Обеспечена возможность управления частотой GPU Kepler (re-clocking);
- В DRM-драйвер Radeon внесены изменения, ускоряющие доступ к памяти для GPU, использующих виртуальную память (GPUVM). В итоге, наблюдается повышение производительности графической подсистемы при использовании свободного драйвера вместе с GPU на основе архитектуры GCN. Добавлена поддержка механизма BAPM (Bidirectional Application Power Management), появившегося в новых APU AMD;
- В DRM-драйвере Intel добавлена поддержка грядущих Atom SoC Cherryview, для чипов Broadwell добавлена поддержка eDRAM, GPU Turbo и VEBOX2. Обеспечена возможность использования больших курсоров (до 256x256 пикселей);
- В драйверах для управления подсветкой экрана ноутбуков по умолчанию задействован интерфейс ACPI video вместо ранее используемого ACPI backlight, что позволило решить проблемы с работой на устройствах с некорректно функционирующими Win8 BIOS;
- Поддержка новых ARM Soc: ST Microelectronics STiH407; Freescale i.MX6SX; Samsung EXYNOS 3250, 5260, 5410, 5420, 5800; LSI Axxia AXM55xx.
- Поддержка звуковых контроллеров NVIDIA Tegra HD Audio и звуковых плат Google Snow. Добавлена порция новых кодеков: Realtek ALC5651, ALC5677, Analog Devices ADAU1361, ADAU1761, ADAU1381, ADAU1781, Cirrus Logic CS42L56, Intel Baytrail MAX98090;В
- В Videobuf2 добавлена поддержка DVB (Digital Video Broadcasting);
- Поддержка интерфейса SSI (Synchronous Serial Interface, адаптация RS422 для использования в сенсорах);
- Добавлен драйвер для модема, поставляемого в коммуникаторе Nokia N900;
- Поддержка новых сетевых контроллеров: Broadcom BCM7xxx Ethernet, STMicroelectronics ST21NFCA NFC, Renesas R-Car SoC CAN, Geschwister Schneider USB/CAN, Xilinx CAN, Hisilicon HIX5HD2, AMD SoC 10GbE Ethernet.
Ваш комментарий
|
Подробнее: http://citforum.ru/news/32442/
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-03-13 » Стратегии SEO на 2024 год
- 2024-03-13 » Как использовать анимацию с помощью JavaScript-библиотеки GSAP
- 2024-03-13 » Использование GSAP 3 для веб-анимации
- 2024-03-13 » Cогласование топографической съёмки с эксплуатирующими организациями
- 2024-02-19 » Теряются лиды? Как настроить сквозную аналитику
- 2024-02-17 » Мерч и IT: на что обратить внимание в 2024 году
- 2024-02-16 » Копируем с RSync: основные примеры синхронизации файлов
- 2024-02-15 » Лучшие noCode AI платформы для создания диалоговых ботов
- 2024-02-14 » Факторы ранжирования Google 2024 — исследование Semrush
- 2024-02-12 » Перенос сайта на другой хостинг
- 2024-02-05 » В России сформирован реестр хостинг-провайдеров
- 2024-02-04 » Использование SSH для подключения к удаленному серверу Ubuntu
- 2024-02-03 » Подключаемся к серверу за NAT при помощи туннеля SSH. Простая и понятная инструкция
- 2024-02-02 » Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам
- 2024-02-01 » GitLab CI Pipeline. Запуск сценария через SSH на удаленном сервере
- 2024-01-29 » Introduction to GitLab’s CI/CD for Continuous Deployments
- 2024-01-26 » Настройка GitLab CI/CD
- 2024-01-25 » Установка shell gitlab runner
- 2024-01-25 » Установка и регистрация gitlab-runner в docker контейнере
- 2024-01-25 » Переменные Gitlab-Ci
- 2024-01-25 » Настройка CI/CD в GitLab для синхронизации проекта с веб-серверами
- 2024-01-25 » Копирование файлов scp
- 2024-01-21 » Бездепозитные бонусы от казино: обзор условий и правил использования
- 2024-01-18 » Современная обработка ошибок в PHP
- 2024-01-18 » Пример шаблона проектирования MVC в PHP
- 2024-01-18 » Мифический человеко-DevOps
- 2023-12-28 » Google подвел итоги 2023 года в поиске
- 2023-12-28 » 5 ошибок отдела продаж, из-за которых вы теряете клиентов
- 2023-12-28 » Американский суд признал монополию Google на рынках дистрибуции Android-приложений
- 2023-12-28 » Хостинг-провайдер GoDaddy перестанет оказывать услуги пользователям из России
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей Индийская пословица |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.