| · | 29.06.2026 | Проблемы с удалением "protestware" из Debian-пакета xsnow (3 +1) |
|
В приложение xsnow, реализующее эффект падающего снега на рабочем столе, осуществлена подстановка скрытого изменения, с вероятностью 2% показывающего украинский флаг. Для пользователей с русской локалью вероятность показа флага увеличивается до 30%. Подобная активность присутствует и в Debian-пакете xsnow, поставляемом в репозитории Debian 13.
В жалобе, отправленной команде Debian Quality Assurance Team, ответственной за поддержание качества в Debian, указано, что подобное нештатное поведение не соответствует требованиям к программному обеспечению, которое может поставляться в Debian, так как может рассматриваться как дискриминация по принадлежности к определённой группе пользователей и дискриминация по области использования. В частности, xsnow изменяет поведение и направляет адресное обращение отдельной категории пользователей и меняет ожидаемую нейтральную функциональность в зависимости от окружения пользователя. При этом упомянутые в жалобе пункты правил Debian определяют недопустимость дискриминации лишь в лицензиях на код, а не в поведении программы. Правила Debian не регламентируют действия в случае попыток продвижения в ПО политических заявлений и поведения, расходящегося с заявленной функциональностью. Формально подобная активность в Debian оказалась не запрещена. В качестве варианта дальнейших действий рассматривается возможность трактовки выполняемых программой протестных действий как ошибки или недокументированного поведения, требующего применения патча для восстановления нейтральной и ожидаемой функциональности. Но ситуацию усложняет тот факт, что сопровождающий пакет xsnow в Debian является автором данной программы, добавившим рассматриваемое недокументированное поведение.
| ||
|
Обсуждение (3 +1) |
Тип: К сведению |
| ||
| · | 29.06.2026 | Выпуск дистрибутива Mageia 10, форка Mandriva Linux (95 +8) |
|
Спустя почти три года с момента прошлого значительного выпуска опубликован релиз Linux-дистрибутива Mageia 10, в рамках которого независимым сообществом энтузиастов развивается форк проекта Mandriva. Для загрузки доступны 32- и 64-разрядные установочные сборки (5.6 ГБ) и набор Live-сборок (4.5-5.1 ГБ) на базе GNOME, KDE и Xfce.
Ключевые улучшения:
![]() ![]()
| ||
|
Обсуждение (95 +8) |
Тип: Программы |
| ||
| · | 28.06.2026 | Автор LuaJIT вернулся к разработке и планирует выпуск LuaJIT 3.0 (75 +20) |
|
Майк Полл (Mike Pall), создатель JIT-компилятора LuaJIT, отошедший от активной разработки проекта в 2015 году и ограничивавшийся с тех пор редким сопровождением ветки 2.1, вернулся к активной работе над проектом и опубликовал план синтаксических расширений будущей ветки LuaJIT 3.0.
Среди предлагаемых для LuaJIT 3.0 расширений:
В обсуждении дополнительно затрагиваются ещё не вошедшие в спецификацию идеи: выражение сопоставления с образцом через ключевое слово "in", индексируемый тип для vararg ("...varg", "varg[i]"), краткий синтаксис лямбд ("|x| -> expr"), оператор отложенного выполнения "defer" в стиле Go/Zig и присваивание в условии ("if local x = ... then"). Появление расширений вызвало и критику: часть участников отметила, что нововведения окончательно превращают LuaJIT в отдельный язык, несовместимый с эталонным Lua 5.1. На это Полл ответил, что "этот корабль уплыл уже очень давно". Документацию по языку планируется консолидировать в отдельное самостоятельное описание, в котором каждое расширение будет помечено версией, в которой оно появилось.
| ||
| · | 28.06.2026 | Раскрыты эксплоиты для 23 неисправленных уязвимостей в FFmpeg, VLC, Firefox, Docker, PHP, OpenVPN, nmap, libssh2, nghttp2 и 7zip (93 +19) |
|
Анонимный исследователь безопасности опубликовал в открытом доступе прототипы 23 эксплоитов, в которых задействованы ещё не исправленные (0-day) уязвимости в таких проектах, как FFmpeg, VLC, Firefox, Docker, PHP, OpenVPN, nmap, libssh2, nghttp2, 7zip, Ghidra, Gitea, c-ares, Floci, Flowise, ImageMagick, Lunar Client, MyBB, objdump и RustDesk. Уязвимости были выявлены в результате fuzzing-тестирования проектов с привлечением AI-модели GPT-5.5-3-Codex-Spark. Утверждается, что эксплоиты, за исключением эксплоита к RustDesk, были написаны вручную, но вся сопроводительная документация к ним сгенерирована через AI.
Среди опубликованного материала встречаются как сомнительные проблемы (ghidra), так и серьёзные уязвимости (Floci, libssh2, FFmpeg, c-ares). По словам исследователя, на момент публикации эксплоитов информация о проблемах не была сообщена разработчикам уязвимых проектов. CVE-идентификаторы не назначены. Среди раскрытых уязвимостей:
| ||
|
Обсуждение (93 +19) |
Тип: Проблемы безопасности |
| ||
| · | 28.06.2026 | Доступен композитный сервер Nourish 1.0.0 (55 +5) |
|
Опубликован релиз композитного сервера Nourish 1.0.0, использующего для размещения окон безразмерное рабочее пространтво, не ограниченное границами экрана, по которому можно произвольно перемещаться, панорамировать, приближать/отдалять окна без потери читаемости содержимого. Для отрисовки используется графический API Vulkan с возможностью отката на OpenGL. В композитном сервере задействован протокол Wayland и расширение fractional-scale для избежания размытия содержимого при масштабировании окон. Возможна работа на системах с видеокартами NVIDIA, Intel и AMD, поддерживаемых в Mesa Код проекта написан на языке Rust и распространяется под лицензиями MIT и Apache 2.0. Готовые пакеты созданы для Fedora 44.
Допускается объединение окон в именованные группы, которые можно сворачивать, раскрывать на весь экран и индивидуально настраивать. Раскладка и выбранные позиции окон сохраняются после перезапуска, аварийного завершения приложений или перезагрузки системы.
Поддерживается создание отдельных рабочих пространств для определённых задач и переключения между ними через комбинации клавиш или наглядную 3D-навигацию, реализованную в форме мозаичной карты-глобуса. Возможно создание скриншотов и записи скринкастов, как для выбранных окон, так для выделенной области рабочего пространства, с охватом при записи изменения масштаба и перемещения по виртуальному экрану.
| ||
|
Обсуждение (55 +5) |
Тип: Программы |
| ||
| · | 28.06.2026 | Выпуск Coreboot 26.06, открытой альтернативы проприетарным прошивкам (107 +14) |
|
Опубликован выпуск проекта CoreBoot 26.06, разрабатывающего свободную альтернативу проприетарным прошивкам и BIOS. Код проекта распространяется под лицензией GPLv2. В состав новой версии включено 1163 изменения, подготовленных при участии 101 разработчика, из которых 22 впервые приняли участие в разработке.
Основные изменения:
| ||
|
Обсуждение (107 +14) |
Тип: Программы |
| ||
| · | 27.06.2026 | Брешь в инфраструктуре Python, позволявшая подменить ссылки на релизы на сайте python.org (35 +23) |
|
Организация Python Software Foundation раскрыла информацию о критической уязвимости в API для управления релизами, которую можно было использовать для атаки на инфраструктуру проекта Python. Уязвимость позволяла обойти систему аутентификации и подключиться к API управления релизами с правами администратора через отправку запроса с любым ключом и указанием одного из администраторов в поле с именем пользователя.
Получаемые в случае успешной эксплуатации уязвимости права давали атакующему возможность внести изменения в ссылки на релизы Python и метаданные для проверки корректности загружаемых файлов, размещённые на странице python.org/downloads. При этом уязвимость не позволяла изменить содержимое имевшихся файлов с релизами. Аудит базы данных и логов не выявил следов эксплуатации уязвимости. Также предполагается, что подмена ссылок на релизы не могла остаться незамеченной, так как многие поставщики при загрузке дополнительно используют систему криптографической верификации кода Sigstore и проверку с использованием PGP-ключей. Уязвимость присутствовала в коде с 2014 года и была вызвана смешиванием в одном коде обработчиков для гостевых входов и аутентификации по ключам для API. В случае сбоя аутентификации по ключу доступа к API, в коде выполнялся откат на использование гостевого доступа. Уязвимость была выявлена 23 февраля и устранена на следующий день, после чего было проведено несколько проверок целостности инфраструктуры: 25 февраля были проанализированы логи и резервные копии БД, все доступные для загрузки ресурсы были проверены с использованием цифровых подписей из лога Sigstore и PGP-ключей, собственными силами был проведён аудит кодовой базы используемых сервисов. 23 апреля кодовая база дополнительно была проверена при помощи AI-инструментов, а 1 июня для внешнего аудита инфраструктуры python.org и процессов формирования релизов Python была привлечена компания Trail of Bits.
| ||
|
Обсуждение (35 +23) |
Тип: Проблемы безопасности |
| ||
| · | 26.06.2026 | PEdit-CoW и DirtyClone - уязвимости в ядре Linux, позволяющие получить root через изменение страничного кэша (111 +27) |
Раскрыта информация о двух новых уязвимостях в ядре Linux, позволяющих непривилегированному пользователю получить права root, перезаписав данные в страничном кэше. Для обеих уязвимостей подготовлены рабочие эксплоиты.
Для эксплуатации обеих уязвимостей требуются права доступа CAP_NET_ADMIN, которые непривилегированный пользователь может получить через создание пространств имён идентификаторов пользователей (user namespace). В Ubuntu подобная операция по умолчанию запрещена, но может быть разрешена через sysctl "kernel.apparmor_restrict_unprivileged_userns=0" или профили AppArmor. В остальных дистрибутивах доступность "user namespace" непривилегированным пользователям зависит от выставления sysctl "kernel.unprivileged_userns_clone" (если 0, то запрещено). Эксплуатация уязвимостей сводится к чтению файла программы /bin/su с флагом suid root, для его оседания в страничном кэше, и замене в страничном кэше части кода программы кодом для запуска /bin/sh. Последующий запуск программы приведёт к тому, что в память будет загружен не оригинальный исполняемый файл с накопителя, а изменённая копия из страничного кэша. Дополнительно можно отметить создание эксплоита для уязвимости CVE-2026-23111 в подсистеме nf_tables, устранённой в февральских обновлениях ядра Linux. Уязвимость вызвана обращением к памяти после её освобождения (use-after-free) и позволяет непривилегированному пользователю получить права root в системе. Для атаки и у пользователя должна быть возможность создания пространств имён идентификаторов пользователей (user namespace). Работа эксплоита продемонстрирована в Debian 12/13 и Ubuntu 22.04/24.04.
| ||
|
Обсуждение (111 +27) |
Тип: Проблемы безопасности |
| ||
| · | 26.06.2026 | Проект Akrites для координации оперативного устранения уязвимостей (13 +10) |
|
Анонсирован проект Akrites для координации исправления уязвимостей и раскрытия информации об уязвимостях в критически важном открытом ПО. Проект создан под крылом Linux Foundation при участии компаний Amazon Web Services, Anthropic, Cisco, Ericsson, Google, IBM, Microsoft/GitHub, NVIDIA, OpenAI, RapidFort, Red Hat, Sonatype и Vodafone, а также некоммерческой организации Rust Foundation.
Участники проекта предоставят финансирование, инженерные ресурсы и экспертизу в области компьютерной безопасности для создания совместной команды реагирования на инциденты (SIRT, Security Incident Response Team). Созданная команда будет заниматься выявлением новых уязвимостей, разбором и проверкой отчётов об уязвимостях, подтверждением уровня опасности, разработкой исправлений совместно с сопровождающими открытых проектов и координацией процесса раскрытия информации об уязвимостях. Раскрытие сведений об уязвимостях будет синхронизировано с выпуском исправлений в основных проектах, дистрибутивах и зависимых продуктах. Отмечается, что если раньше для создания эксплоитов требовались экспертные знания и длительный процесс разработки, то современные возможности AI-инструментов позволяют неквалифицированным злоумышленникам создать рабочий эксплоит за считанные часы, используя информацию о патче с устранением проблемы. В случае, если исправление для уязвимости выпущено без явной огласки о связи с проблемами безопасности, пользователи и разработчики зависимых проектов могут проигнорировать обновление, а злоумышленники при помощи AI-инструментов быстро подготовить эксплоит и начать атаковать необновлённые системы. В подобных условиях становится важным оперативность устранения проблемы, предотвращение утечек информации во время разработки патчей, одновременное с публикацией исправления раскрытие сведений об уязвимости и доведение до пользователей информации о необходимости установки обновления. Отдельно будет проводиться работа по информированию об уязвимостях операторов критической инфраструктуры, важных сервисов и проектов, так как с точки зрения блокирования потенциальных атак важна не столько публикация патча, сколько его оперативное применение. Помимо этого проект ставит перед собой цель снятия нагрузки с сопровождающих, беря на себя такую работу, как отсеивание дублирующихся отчётов о проблемах, подтверждение наличия уязвимостей и оказание помощи в разработке и тестировании исправлений. При выявлении уязвимостей в важных пакетах, оставшихся без активных сопровождающих, проект Akrites будет брать на себя работу по подготовке и интеграции в них исправлений.
| ||
|
Обсуждение (13 +10) |
Тип: К сведению |
| ||
| · | 26.06.2026 | Выпуск DXVK 3.0, реализации Direct3D 8/9/10/11 поверх API Vulkan (63 +30) |
|
Доступен выпуск прослойки DXVK 3.0, предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 и 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan 1.4, таких как NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 и Intel ANV 25.1. DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенных в Wine реализаций Direct3D, работающих поверх OpenGL.
Основные изменения:
| ||
|
Обсуждение (63 +30) |
Тип: Программы |
| ||
| · | 26.06.2026 | Выпуск компилятора ISPC 1.31, развиваемого Intel для языка Си с расширениями SPMD (39 +12) |
|
Компания Intel опубликовала компилятор ISPC 1.31 (Implicit SPMD Program Compiler), предназначенный для сборки кода на языке Си с расширениями параллельного программирования SPMD (Single Program, Multiple Data), позволяющими добиться параллельного выполнения нескольких экземпляров одной программы с разными наборами входных данных. Код проекта написан на языке С++ и распространяется под лицензией BSD. Поддерживается работа в Linux, Windows, macOS и FreeBSD.
Си-программы с расширениями SPMD компилируются для выполнения на вычислительных блоках SIMD, предоставляемых CPU и GPU, что позволяет задействовать механизмы векторизации SIMD без низкоуровневых оптимизаций и явного применения в коде SIMD-инструкций. Для написания распараллеливаемых функций используется привычный синтаксис и идиомы языка Си - SPMD-функции напрямую взаимодействуют с функциями и структурами, написанными на C/C++. Для отладки программ могут применяться существующие отладчики. В качестве бэкенда для генерации кода и оптимизации в ISPC используется инфраструктура LLVM. Поддерживаются векторные инструкции x86 (SSE2, SSE4, AVX, AVX2, AVX512) и ARM (NEON), а также вынос вычислений на сторону GPU (Intel Gen9 и Xe). На архитектурах с векторными блоками SSE, обрабатывающими по 4 элемента за раз, применение ISPC даёт возможность добиться ускорения выполнения программы в 3 или более раз, а на архитектурах с векторными блоками AVX, обрабатывающими по 8 элементов за раз, ускорение может достигать 5-6 раз. При этом помимо размера векторного блока, масштабирование также обеспечивается за счёт выполнения на разных процессорных ядрах. Основные новшества, добавленные в версии ISPC 1.31:
| ||
|
Обсуждение (39 +12) |
Тип: Программы |
| ||
| · | 25.06.2026 | Платформа Deno 2.9 c поддержкой Deno Desktop для создания десктоп-приложений (57 –3) |
|
Опубликован выпуск платформы Deno 2.9, предназначенной для обособленного выполнения серверных и настольных приложений на языках JavaScript и TypeScript с использованием движка V8, применяемого в браузерах на основе Chromium. Проект развивает Райан Даль (Ryan Dahl), создатель Node.js, с целью предоставления более защищённого окружения и устранения концептуальных ошибок, допущенных в архитектуре Node.js. Для повышения безопасности обвязка вокруг движка V8 написана на языке Rust, а для обработки запросов в неблокирующем режиме применяется платформа Tokio. Код проекта распространяется под лицензией MIT. Сборки подготовлены для Linux, Windows и macOS.
Новая версия примечательна реализацией экспериментального инструментария Deno Desktop, позволяющего создавать пользовательские приложения с графическим интерфейсом, построенные с использованием web-технологий, по аналогии с платформой Electron. Логика и интерфейс приложения определяются на языке JavaScript или TypeScript с использованием типовых web-фреймворков, а работа организуется с использованием браузерного движка. Приложение поставляется в форме самодостаточного исполняемого файла и по взаимодействию с пользователем не отличается от классических программ с графическим интерфейсом. В Deno Desktop предлагаются бэкенды для работы поверх двух браузерных движков - предоставляемого операционной системой WebView и интегрируемого в приложение CEF (Chromium Embedded Framework). Бэкенд на базе WebView позволяет уменьшить размер исполняемых файлов за счёт работы поверх системного браузерного движка WebView2 в Windows и WebKit в macOS и Linux, а бэкенд CEF даёт возможность добиться одинаковой отрисовки интерфейса на платформах Linux, macOS и Windows, но ценой существенного увеличения размера исполняемых файлов. Размер исполняемого файла тестового приложения при использовании WebView оценивается в 40 МБ, а при использовании CEF - 150 МБ. Для сравнения для Electron этот показатель составляет 100 МБ, Electrobun - 61 МБ, а Tauri - 2-10 МБ (в Electron применяется встраиваемый в приложение CEF, а в Electrobun и Tauri системный WebView). В разработке находится механизм совместного использования общего движка CEF в разных приложениях, который даст возможность снизить размер исполняемых файлов. В Deno Desktop реализована полная совместимость с Node.js, экосистемой NPM и такими web-фреймворками, как Next.js, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start и Vite SSR. Предоставляется API для доступа к нативным десктопным API, например, можно из программы управлять размером, позицией и видимостью окна, создавать меню, прикреплять свои обработчики, выставлять пиктограммы для системного лотка и панелей, выводить родные для ОС диалоги. Возможна сборка web-приложений в форме десктоп-программ без изменения их кода, а также автоматическое определение используемых web-фреймворков и кросс-компиляция на одной системе для Linux x64/arm64, Windows x64 и macOS x64/arm64. Для Linux могут генерироваться пакеты в форматах AppImage, deb и rpm. В отличие от Electron, Electrobun и Tauri в Deno Desktop применяется не многопроцессная модель выполнения с IPC на базе сокетов, а многопоточная модель для CEF или модель на основе групп процессов для WebView с взаимодействием между бэкендом и кодом графического интерфейса через каналы внутри одного процесса. Имеется встроенный механизм проверки и автоматической установки обновлений, для экономии трафика загружающий только изменившиеся относительно прошлой версии данные (применяются бинарные патчи на базе bsdiff) и поддерживающий откат на прошлую версию в случае сбоя при запуске новой версии. Среди других новшеств Deno 2.9:
| ||
|
Обсуждение (57 –3) |
Тип: Программы |
| ||
| · | 25.06.2026 | Проект rars подготовил свободную реализацию RAR с поддержкой создания архивов (255 +18) |
|
Представлен проект rars, развивающий свободную реализацию инструментария для формата RAR, написанную на языке Rust и поддерживающую не только распаковку, но и создание RAR-архивов. Инструментарий поддерживает как ранние форматы RAR 1.3/1.4 с сигнатурой "RE~^", так и последнюю версию RAR 7. Доступны такие расширенные операции, как разбиение на тома, защита паролем, шифрование заголовков, прикрепление комментариев, RARVM-фильтры, индексы для быстрого открытия и механизмы восстановления повреждённых данных. Код распространяется под лицензиями MIT и Apache-2.0. На базе библиотеки PyO3 подготовлены обвязки для языка Python, которые реализуют API в стиле rarfile для просмотра, тестирования и извлечения архивов, а также API в стиле RarBuilder для создания или перепаковки архивов.
Особенность проекта в том, что он реализует работу с форматом RAR без использования кода утилиты unrar, распространяемой под несвободной лицензией, которая запрещает использовать код unrar для воссоздания алгоритма сжатия RAR или разработки RAR-совместимого архиватора. Из-за данного ограничения большинство свободных архиваторов ограничивались лишь функциями распаковки RAR-файлов, а для создания RAR-архивов приходилось использовать проприетарный инструментарий от RARLAB. Отдельно создан репозиторий rar-research в котором опубликованы спецификации для форматов RAR 1.3/1.4, RAR 1.5-4.x и RAR 5.0/7.0, а также заметки по используемым алгоритмам, фильтрам, методам проверки и восстановления целостности, шифрованию, разбиению на тома и механизмам защиты. Так как на момент создания проекта rars официальной полноценной спецификации не существовало, документация была воссоздана по коду распаковщиков, старым реализациям, тестовым архивам и анализу бинарных версий RAR для DOS и Windows. Реализация была создана с использованием AI-инструментов OpenAI Codex 5.5 и Claude Opus 4.7 в свободное от работы время примерно за пять недель. На первом этапе модели применялись для систематизации информации о формате и восполнения пробелов в описании, после чего по восстановленной спецификации был сгенерирован код на языке Rust. Для уточнения спецификации и оттачивания реализации использовалась проверка работы на реальных архивах и сравнение с эталонными реализациями. Отмечается, что AI-инструменты хорошо справились с переносом формального описания в код и с рутинной реализацией большого объёма функциональности, но не смогли обеспечить архитектурный контроль. Без жёсткого надзора AI-модели были склонны обходить тесты, усложнять код и пропускать очевидные проблемы, влияющие на удобство работы. По оценке автора, в проекте такого масштаба тесты, документация и комментарии стали не только инструментами проверки, но и способом направлять генерацию кода в нужное русло. Форсировать разработку удалось после появления в OpenAI Codex режима "/goal", позволяющего AI-агенту длительное время работать над одной задачей, сжимая контекст и продолжая выполнение после его переполнения. В таком режиме Codex несколько раз работал больше чем 6 часов и один раз около 16 часов, реализуя значительную часть оставшейся функциональности, такой как восстановление данных, шифрование и многотомные архивы. С учётом значительной субсидии на токены было потрачено 40 фунтов стерлингов. По уровню сжатия rars в среднем на 5-10% отстаёт от WinRAR. По скорости сжатия и распаковки rars существенно медленнее WinRAR из-за отсутствия полноценных оптимизаций. При этом в проекте уже имеется режим "--features fast", применяющий оптимизации на основе SIMD-инструкций для ускорения сжатия и распаковки, но завязанный на экспериментальный API std::simd, доступных только в тестовых сборках инструментария Rust. Также реализован режим "--features parallel", использующий библиотеку Rayon для распараллеливания сжатия отдельных файлов. Евгений Рошал, создатель RAR, прокомментировал использование обратного инжинирига старых бинарных файлов RAR при разработке rars, что запрещено лицензионным соглашением. По словам Евгения, он пока не определился, что с этим делать и намерен дождаться мнения компании win.rar GmbH.
| ||
| · | 25.06.2026 | Первый выпуск QSOE, операционной системы в стиле QNX с двумя заменяемыми микроядрами (41 +32) |
|
Представлен первый релиз операционной системы QSOE, спроектированной в стиле QNX и поставляемой с двумя заменяемыми микроядрами "Skimmer" и "seL4". На уровне ядра выполняются только система распределения ресурсов, механизм синхронного обмена сообщениями (QNX IPC) и минималистичное ядро, а все остальные компоненты, реализованы в пользовательском пространстве. Поддерживается работа на 64-разрядных CPU с архитектурой RISC-V. ОС протестирована на плате SiFive HiFive Unmatched и в QEMU. Код проекта написан на языке Си и распространяется под лицензией Apache 2.0.
На выбор предлагаются варианты: QSOE/N с собственным микроядром Skimmer и QSOE/L на базе микроядра seL4, имеющего формальную верификацию надёжности для архитектуры RISC-V. Помимо этого развиваются загрузчик mr-bml на базе GRUB 2.13, стандартная библиотека libc и набор программ quser. В состав набора программ входит командная оболочка qsh на базе mksh, система инициализации и набор типовых unix-утилит, таких как ls, сat, ps, lspci и login. Микроядро Skimmer использует заимствованную у проекта DragonFly BSD реализацию легковесных потоков в ядре (LWKT, Light Weight Kernel Threads) с привязанными к CPU рабочими очередями и примитивами передачи сообщений msgport. QSOE позволяет использовать разные ядра с одним пользовательским окружением и набором драйверов, не меняющимся при смене ядра. В привязке к ядрам собираются только менеджер задач (taskman) и библиотека libc, выступающая в роли обвязки над QNX-подобными API, предоставляемыми микроядрами. ┌──────────────────────────────────────────────────────────┐ │ qsh + drivers + utils (dynamically linked) │ ├──────────────────────────────────────────────────────────┤ │ libc.so (shared body; LQ-specific seam in lq/libc/) │ │ rtld (FreeBSD-derived; BSD-2-Clause) │ ├──────────────────────────────────────────────────────────┤ │ taskman process / memory / path manager │ │ libtaskman portable taskman body (path / cred / │ │ syscfg / sync / reloc / cpio / elf) │ ├──────────────────────────────────────────────────────────┤ │ seL4 microkernel (RISC-V Sv39, formally verified) │ │ elfloader (loads kernel + taskman) │ └──────────────────────────────────────────────────────────┘ Первый выпуск QSOE примечателен достижением возможности загрузки и входа в командную оболочку на реальной плате SiFive Unmatched (FU740) c накопителем NVMe. Успешная загрузка реализована для конфигураций с обоими ядрами (QSOE/L и QSOE/N).
| ||
|
Обсуждение (41 +32) |
Тип: Программы |
| ||
| · | 24.06.2026 | Однострочное изменение в GCC привело к ускорению на 12% в одном тесте и замедлению на 14% в другом (50 +35) |
|
Инженер из компании Intel внёс в набор компиляторов GCC однострочное изменение, увеличивающее вес неверного предсказания ветвления на процессорах x86. Изменение позволило повысить производительность генерируемого кода при прохождении теста 544.nab_r на 12.7% при включении оптимизаций "-O2 -mtune=graniterapids" для CPU Intel Granite Rapids/Xeon 6 и на 12.1% при включении оптимизаций "-O2 -mtune=znver5" на CPU AMD Zen5.
Изменение веса с "COSTS_N_INSNS (2)" до "COSTS_N_INSNS (2) + 3" увеличивает значимость ошибки предсказания c 2 до 5 условных инструкций, что лучше отражает особенности конвейеров обработки команд (pipeline) в современных CPU, в которых ошибки предсказания ветвления более затратны. Изменение веса приводит к форсированию преобразования компилятором выражений "if" в условные команды без переходов, такие как CMOV, исключающие приостановки при неверном предсказании ветвления, вызванные необходимостью сброса состояния конвейера. Ранее вес "COSTS_N_INSNS (2) + 3" указывался в GCC только для процессоров Intel Ice Lake и Alder Lake, а теперь выставлен для общего (generic) профиля процессоров x86. Примечательно, что после принятия патча всплыла регрессия, из-за которой тест "Hint" стал выполняться у одного из разработчиков GCC на 30% медленнее при сборке с опциями "-march=generic -mtune=znver5" и "-march=generic -mtune=graniterapids". Производительность прохождения тестов SPEC2017 и SPEC2026 после внесения изменения осталась на прежнем уровне. Наличие регрессии подтверждено автором изначального коммита, по его данным замедление прохождения теста Hint составляет 14% при сборке с опциями "-O2 -mtune=generic -march=x86-64-v3". Замедление объясняется тем, что в коде теста Hint имеется только одна условная конструкция, преобразуемая GCC в представление на базе CMOV. Данная конструкция выполняется достаточно редко (в 3%) и её оптимизация не влияет на производительность. При этом изменение режима генерации кода привело к побочному эффекту, замедлившему выполнение более часто выполняемого кода.
| ||
|
Обсуждение (50 +35) |
Тип: К сведению |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |