В выпуске 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. Подобный подход даст возможность реализовать запасной вариант загрузки, который можно использовать для отката к старой конфигурации в случае проблем после обновления загрузчика.

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

    Что только люди не придумают чтобы не использовать Gentoo.

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

        Там кроме “RHEL and Co.” никто не нужен.

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

          Где-то в сторонке хихикнул NixOS.

          • 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

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

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

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

      чтобы не использовать Gentoo

      В энтерпрайзе? Ты городской сумасшедший?

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

        Так и федору в энтерпрайзе никто не использует.

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

          Так и федору в энтерпрайзе никто не использует.

          Согласен. Так же никто не использует Gentoo, Arch и т.п.

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

            Ну так я и говорил

            Что только люди не придумают чтобы не использовать Gentoo.

            В том же контексте где используют федору. На пользовательском локалхосте.

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

              На пользовательском локалхосте

              А может люди не желают часами собирать софт?

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

                Он собирается в фоне, раз в месяц пару часов, не мешает.

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

                  раз в месяц пару часов

                  Смотря какое у тебя железо. Конечно, можно это все оптимизировать, но нужно ли?