В выпуске Fedora 42, намеченный на конец апреля, предложено разрешить сопровождающим включать в пакеты дополнительные варианты исполняемых файлов, собранные с включением оптимизаций для микроархитектур x86-64-v2, x86-64-v3 и x86-64-v4. Отмечается, что Fedora продолжает собирать пакеты для архитектуры x86-64-v1, в то время как CentOS использует при сборке архитектуру x86-64-v2, а RHEL 10 - x86-64-v3. В большинстве случаев прирост производительности при сборке для подобных архитектур не превышает 10%, но в отдельных ситуациях приводит к заметному повышению производительности (до 120%). Предложение пока не утверждено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora.

В Fedora уже допускается поставка дополнительных библиотек, оптимизированных для расширенных версий архитектуры x86_64, и подобную возможность теперь планируют распространить на исполняемые файлы. Загрузка оптимизированных реализаций библиотек осуществляется компоновщиком (dynamic linker), который проверяет наличие дополнительных вариантов в подкаталогах glibc-hwcaps, размещаемых в областях ФС, просматриваемых при поиске библиотек (например, /usr/lib64/glibc-hwcaps/x86-64-v2).

В случае исполняемых файлов предлагается использовать прослойку hwcaps-loader, которая будет выбирать и запускать вариант исполняемого файла, соответствующий возможностям текущей системы. Для пакетов, поставляющих несколько вариантов исполняемых файлов данную прослойку предлагается выставлять через символическую ссылку. Решение о добавлении дополнительно оптимизированных исполняемых файлов будут принимать сопровождающие, в зависимости от результатов тестирования производительности конкретных пакетов.

Версии x86-64-v* определяют неофициальный способ идентификации срезов состояния микроархитектуры, охватывающих определённые наборы расширений:

  • x86-64-v2 охватывает расширения SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF и CMPXCHG16B.
  • x86-64-v3 - AVX, AVX2, BMI2, FMA, LZCNT, MOVBE и SXSAVE.
  • x86-64-v4 - AVX512F, AVX512BW, AVX512CD, AVX512DQ и AVX512VL.

Дополнительно можно отметить предложение по унификации обновления загрузчиков grub и shim в атомарных и обычных вариантах Fedora. Вместо обновления содержимого каталогов /boot и /boot/efi через вызов скрипта во время установки rpm-пакета, для обновления загрузчика предлагается использовать инструментарий bootupd, который уже применяется в атомарно обновляемых вариантах Fedora. В rpm-пакетах с загрузчиками содержимое предлагается устанавливать не напрямую в каталоги /boot и /boot/efi, а в отдельный каталог внутри раздела /usr, после чего синхронизировать с ним содержимое /boot и /boot/efi. Подобный подход даст возможность реализовать запасной вариант загрузки, который можно использовать для отката к старой конфигурации в случае проблем после обновления загрузчика.

  • Minona
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Ну и пусть хихикает, он же роллинг.

    • Oberstserj
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      он же роллинг.

      Ты уже пятый. Предыдущие четверо так и не смогли внятно сформулировать чем же это так плохо.

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

      • Minona
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Никс хорош для упаковки приложений в контейнеры.

        • Oberstserj
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          И все? Остальные фишки ты типа забыл. Удобненько.

    • odalist
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      он же роллинг.

      Нет, не роллинг.

      • Oberstserj
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Никс не является ни чисто ролингом, ни версионным. Именно из-за организации самого дистра. Не говоря уже о системе боксов, где можно иметь одну софтину в разных версиях и запускать с разными библиотеками. Но @Minona даже почитать описание дистра не осилил.

        • odalist
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Никс не является ни чисто ролингом, ни версионным.

          Отлично объяснил. Спасибо.