In Fedora 42 plant man die Bereitstellung optimierter Varianten von ausführbaren Dateien.

In der Fedora-Version 42, die für Ende April geplant ist, wurde vorgeschlagen, den Maintainern zu erlauben, Pakete mit zusätzlichen Varianten ausführbarer Dateien bereitzustellen, die mit Optimierungen für die Mikroarchitekturen x86-64-v2, x86-64-v3 und x86-64-v4 kompiliert wurden. Es wird darauf hingewiesen, dass Fedora weiterhin Pakete für die Architektur x86-64-v1 erstellt, während CentOS bei der Erstellung die Architektur x86-64-v2 verwendet und RHEL 10 die Architektur x86-64-v3. In den meisten Fällen liegt der Leistungsgewinn bei der Erstellung für solche Architekturen bei maximal 10 %, kann aber in bestimmten Situationen zu einem deutlichen Leistungsanstieg (bis zu 120 %) führen. Der Vorschlag wurde jedoch noch nicht vom FESCo-Komitee (Fedora Engineering Steering Committee) genehmigt, das für den technischen Teil der Entwicklung des Fedora-Distributions verantwortlich ist.

In Fedora ist bereits die Bereitstellung zusätzlicher Bibliotheken erlaubt, die für erweiterte Versionen der x86_64-Architektur optimiert sind, und diese Möglichkeit soll nun auch auf ausführbare Dateien ausgeweitet werden. Der Import optimierter Bibliotheksimplementierungen erfolgt durch den dynamischen Linker, der das Vorhandensein zusätzlicher Varianten in den Unterverzeichnissen glibc-hwcaps prüft, die in den Dateisystembereichen abgelegt sind, die bei der Bibliotheksuche durchsucht werden (z. B. /usr/lib64/glibc-hwcaps/x86-64-v2).

Für ausführbare Dateien wird vorgeschlagen, eine Schicht namens hwcaps-loader zu verwenden, die die passende Variante der ausführbaren Datei auswählt und ausführt, die den Möglichkeiten des aktuellen Systems entspricht. Für Pakete, die mehrere Varianten ausführbarer Dateien bereitstellen, wird empfohlen, diese Schicht über einen symbolischen Link anzubieten. Die Entscheidung über die Hinzufügen von zusätzlich optimierten ausführbaren Dateien treffen die Maintainer, abhängig von den Ergebnissen der Leistungstests bestimmter Pakete.

Die Versionen x86-64-v* definieren eine inoffizielle Methode zur Identifizierung von Zuständen der Mikroarchitektur, die bestimmte Erweiterungssets umfassen:

  • x86-64-v2 umfasst die Erweiterungen SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF und CMPXCHG16B.
  • x86-64-v3 — AVX, AVX2, BMI2, FMA, LZCNT, MOVBE und SXSAVE.
  • x86-64-v4 — AVX512F, AVX512BW, AVX512CD, AVX512DQ und AVX512VL.

Zusätzlich kann das Angebot zur Vereinheitlichung des Updates von Grub- und Shim-Bootloadern in atomaren und regulären Varianten von Fedora hervorgehoben werden. Anstatt die Inhalte der Verzeichnisse /boot und /boot/efi während der Installation eines RPM-Pakets über einen Skriptaufruf zu aktualisieren, wird vorgeschlagen, das Tool bootupd zu verwenden, das bereits in atomar aktualisierbaren Fedora-Varianten verwendet wird, um den Bootloader zu aktualisieren. In den RPM-Paketen mit Bootloadern soll der Inhalt nicht direkt in die Verzeichnisse /boot und /boot/efi installiert werden, sondern in ein separates Verzeichnis innerhalb der Partition /usr, wonach der Inhalt mit /boot und /boot/efi synchronisiert wird. Ein solcher Ansatz ermöglicht es, eine Backup-Startoption zu implementieren, die bei Problemen nach einem Bootloader-Update verwendet werden kann, um auf eine frühere Konfiguration zurückzugreifen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4