Version Linux 6.1 LTS – Principaux changements, architectures Arm, RISC-V et MIPS

Version Linux 6.1 LTS - Principaux changements, architectures Arm, RISC-V et MIPS

Linus Torvalds a annoncé la sortie de Linux 6.1, un noyau LTS, dimanche dernier :

Nous voici donc avec une semaine de retard, mais la semaine dernière a été agréable et lente, et je suis beaucoup plus satisfait de l’état de 6.1 qu’il y a quelques semaines, lorsque les choses ne semblaient pas ralentir.

Bien sûr, cela signifie que nous avons maintenant la fenêtre de fusion de l’enfer, juste avant les vacances, avec moi aussi des voyages avant les vacances. Ainsi, bien que retarder les choses d’une semaine était la bonne chose à faire, cela rend le moment de la fenêtre de fusion 6.2 gênant.

Cela dit, je suis heureux d’annoncer que les gens semblent avoir pris cela à cœur, et j’ai déjà deux douzaines de demandes d’extraction en attente pour demain dans ma boîte de réception. Et j’espère que j’obtiendrai un autre lot du jour au lendemain, afin que je puisse essayer de vraiment faire le plus tôt possible la fenêtre de fusion. Nous voulons tous passer une saison des fêtes calme.

Et à cause de cela « nous voulons tous passer une saison des fêtes calme », ​​je tiens à répéter que je vais être assez strict sur les règles de la fenêtre de fusion. Les règles sont que les demandes d’extraction qui m’ont été envoyées pendant la fenêtre de fusion doivent avoir été prêtes _avant_ la fenêtre de fusion et avoir vu un certain temps dans linux-next. Aucun lot de développement expérimental de dernière minute qui n’a été vu par notre automatisation des tests.

Donc, pour me faciliter la vie, je supprimerai simplement toutes les demandes d’extraction qui arrivent en retard ou qui semblent ne pas avoir été dans linux-next. À cette période de l’année, nous serons tous beaucoup plus heureux de faire face au stress de la saison _sans_ avoir à faire face au stress d’un développement tardif. Donc, si vous réalisez déjà que le travail n’a pas été dans linux-next, convenons tous de ne même pas m’envoyer la pull request du tout, et nous serons tous satisfaits de la calme saison de fin d’année. D’accord?

Quoi qu’il en soit, je pense avoir suffisamment insisté là-dessus, profitons simplement de cette sortie et des festivités à venir. Comme on peut le voir dans le shortlog ci-dessous, la semaine dernière a vraiment été très calme, et il s’agit principalement de quelques correctifs de dernière minute principalement dominés par les pilotes (réseau en particulier, mais il y a aussi du bruit des médias, du HID et du GPU).

Linus

La version précédente de Linux 6.0 améliorait l’utilisation de l’énergie, apportait quelques ajouts aux architectures OpenRISC et LoongArch avec, par exemple, la prise en charge des bus PCI, implémentait la version 2 du protocole « d’envoi » Btrfs et l’API de l’espace utilisateur H.265/HEVC était déclarée stable.

Linux 6.1 LTS

Certains changements intéressants dans Linux 6.1 LTS incluent :

  • Prise en charge initiale du langage de programmation Rust. Voir l’article de lwn.net pour plus de détails.
  • Nettoyeur de mémoire du noyau KMSAN. Il s’agit d’un détecteur d’erreur dynamique conçu pour trouver des valeurs non initialisées et est similaire à l’outil d’espace utilisateur MemorySanitizer. Il ne doit être activé que pour le débogage car il augmente considérablement l’empreinte mémoire du noyau et ralentit l’ensemble du système. En savoir plus dans la documentation et sur lwn.net
  • Le LRU multi-génération (MG-LRU) devrait améliorer le processus de déplacement des programmes vers le fichier/partition d’échange. Le LRU multi-génération est une implémentation LRU alternative qui optimise la récupération de page et améliore les performances sous la pression de la mémoire. La récupération de page détermine la politique de mise en cache du noyau et sa capacité à surcharger la mémoire. Plus de détails peuvent être trouvés dans le guide d’administration et un autre article LWN pertinent.

Armer les mises à jour sous Linux 6.1

  • Tout gagnant
    • A100-DMA
    • H6 – DMIC et GPU Devfreq
    • Nouveaux tableaux et appareils – Aucun cette fois-ci
  • Éclat de roche
    • Domaine d’alimentation – Ajout des pilotes Rockchip RK3588 et RV1126
    • Contrôle des broches – Ajouter un pilote pour Rockchip RV1126
    • MFD
      • Ajout de la prise en charge de Rockchip RV1126 et RK3588 à Syscon
      • Ajout de la prise en charge du chargeur de batterie Rockchip RK817 au RK808
    • PHY – Rockchip rk3568 inno dsidphy, Rockchip rk356x csi-dphya
    • SPI – Ajout du support pour Rockchip RK3128 et RK3588
    • Mise en réseau – Prise en charge de Rockchip RV1126 Gigabit Ethernet
    • Nouveaux appareils et cartes
      • Consoles de jeux portables Anberic RG353P et RG503 (Rockchip RK3566)
      • Pine64 Pinephone Pro (Rockchip RK3399S)
      • Kit de développement Open AI Lab EAIDK-610
      • Radxa ROCK 4C+ SBC (Rockchip RK3399-T)
  • Amlogique
    • Changements ARM64 DT pour Linux 6.1 :
      • Ajouter des liaisons et DT pour le boîtier TV Beelink GT1 Ultimate (Amlogic S912)
      • Supprimer ‘enable-active-low’ invalide sur les cartes SM1 et G12A
      • Ajouter Bindings & DT pour le nouveau contrôleur domotique JetHub D1p (Amlogic A113X)
  • Samsung
    • Pilotes SoC – Convertissez les liaisons Samsung Exynos G-Scaler en schéma DT.
    • Pinctrl
      • Correction mineure dans l’ordre d’initialisation du pilote pinctrl – les GPIO doivent être configurés avant d’enregistrer gpiolib.
      • Étapes finales des en-têtes de liaison obsolètes avec des constantes de registre.
    • Pilote d’horloge
      • Exynos7885 : ajoutez les contrôleurs d’horloge FSYS, TREX et MFC.
      • Exynos850 : ajoutez des contrôleurs d’horloge IS et AUD (audio) avec liaisons.
      • ExynosAutov9 : corrigez les ID d’horloge dans les liaisons des contrôleurs d’horloge Peric 0 et 1, en raison d’entrées en double ; ajouter quelques portes Peric 0/1 manquantes ; corriger les décalages de registre de quelques horloges Peric 0/1.
      • Améliorations mineures du code
    • Modifications du bras DTS
      • Correction de la polarité des broches :
        • activer le GPIO de la puce NFC dans les cartes Exynos5433 TM2,
        • vbus GPIO de EHCI dans la carte Exynos4412 Origen.
      • Nom correct des nœuds de configuration des broches – « broches » redondantes dans le nom (aucun impact fonctionnel).
    • Changements DTS ARM64 pour Linux 6.1 :
      • Ajoutez des en-têtes de liaison pour plusieurs horloges Exynos850 et ExynosAutov9.
      • ExynosAutov9 : Ajouter des nœuds de contrôleur d’horloge FSYS, Document série compatible (utilisé dans DTS).
      • Exynos850 : ajoutez des contrôleurs d’horloge audio, IS, MFC. Ajoutez des nœuds IOMMU.
      • Correction de la polarité des broches :
        • activer le GPIO de la puce NFC dans les cartes Exynos5433 TM2,
        • vbus GPIO de EHCI dans la carte Exynos4412 Origen.
      • Nom correct des nœuds de configuration des broches – « broches » redondantes dans le nom (aucun impact fonctionnel).
  • Qualcomm
    • Un nouveau pilote pour la mesure de la bande passante Qualcomm LLCC/DDR
    • Pinctrl
      • Prise en charge du contrôle des broches Qualcomm SM8450 et SC8280XP LPASS (sous-système audio basse consommation)
      • Nettoyage massif de la liaison de l’arborescence des appareils Qualcomm, avec plus à venir
    • PHY – Qualcomm SC8280XP eDP & DP et USB3 UNI phy, liaisons Qualcomm SM6375 usb snps-femto-v2
    • Pilote de contrôleur PCIe
      • Ajout de la prise en charge des contrôleurs hôtes SC8280XP et SA8540P et du contrôleur de point de terminaison SM8450.
      • Désactivez l’horloge maître AXI sur les contrôleurs de point de terminaison pour économiser de l’énergie lorsque la liaison est inactive ou en L1.x.
      • Exposez le nombre de transitions d’état de liaison via debugfs pour aider à déboguer les problèmes avec les états de faible puissance.
      • Ajout de la prise en charge du module de chargement automatique.
    • Pilote d’horloge
      • Affichage clks ajouté pour Qualcomm SM6115, SM8450
      • Ajout de clics GPU pour Qualcomm SC8280XP
      • Ajout des pilotes Qualcomm MSM8909 et SM6375 global et SMD RPM clk
      • Qualcomm SM6115 et QCM2260 sont déplacés pour réutiliser la configuration PLL
      • Qualcomm SDM660 SDCC1 déplacé vers les opérations d’étage
      • La prise en charge des PLL APCS pour Qualcomm IPQ8064, IPQ8074 et IPQ6018 a été ajoutée/corrigée
      • Les horloges du processeur Qualcomm MSM8996 sont mises à jour avec la prise en charge de l’ACD
      • La prise en charge des clks Qualcomm SDM670 GCC et RPMh a été ajoutée
    • Soundwire – Mises à jour du pilote Qualcomm pour gérer l’état de l’appareil0
    • Moteur DMA – Ajout du contrôleur Qualcomm SM6350 GPI dma
    • Alimentation – Ajout de la prise en charge Qualcomm PMK8350 PON
    • Prise en charge supplémentaire de Qualcomm IPQ8064-v2.0, IPQ8062 et IPQ8065 sont toutes des variantes de la puce IPQ8064, avec des fonctionnalités très peu différentes.
    • Armer la mise à jour DTS :
      • Étend la prise en charge d’IPQ8064 avec les deux variantes IPQ8062 et IPQ8065.
      • MSM8974 et APQ8084 ont obtenu la prise en charge des statistiques RPM.
      • La télécommande Audio DSP a été ajoutée à MSM8226 et activée pour ASUS ZenWatch 2 et LG G Watch R.
      • MSM8660 a gagné un bus I2C et un bus SPI
      • APQ8060 Dragonboard a décrit l’écran tactile TMA340.
      • Un large éventail d’améliorations est effectué dans les fichiers DTS pour s’aligner sur les liaisons, résoudre les problèmes et améliorer la structure des choses.
    • Mises à jour Arm64 DTS pour Linux 6.1 :
      • Samsung Galaxy S4 Mini Value Edition prend en charge le magnétomètre.
      • Les appareils Xiaomi basés sur MSM8996 obtiennent des descriptions des LED à base de GPL.
      • SA8295P – Les problèmes ADP résultant du basculement des régulateurs en mode basse consommation sont résolus en supprimant cette capacité, pour le moment.
      • SC7180 Trogdor – Le concentrateur USB intégré du SC7180 est enfin décrit et quelques mises à jour liées à l’ADC sont introduites.
      • SC7280 – La prise en charge des instances CPU et LLC bwmon est introduite. Soundwire, codecs audio et son introduits pour une variété de cartes. Le concentrateur USB Herobrine intégré est décrit.
      • SC8280XP – Les contrôleurs USB sont marqués comme sources de réveil, pour les maintenir alimentés pendant la suspension. Le CRD a des dispositifs HID marqués comme sources de réveil pour permettre la reprise du système. Le pavé tactile alternatif est introduit sur le Lenovo ThinkPad X13s.
      • SDM845 – Gagne la prise en charge des statistiques RPMh et le LLCC BWMON est ajouté.
      • SM6350 – Les fournisseurs d’interconnexion et GPI DMA sont introduits.
      • Une description du PM7280b PMIC est ajoutée au Fairphone FP4 sur SM7225.
      • Prise en charge multi-MSI ajoutée dans le contrôleur PCIe, ce qui signifie que SM8250 obtient toutes ses interruptions MSI ajoutées.
      • UFS ICE et le deuxième contrôleur SDHCI sont introduits sur SM8450.
      • TCSR mutex syscon est remplacé par la liaison basée sur MMIO. Les nœuds TCSR ont obtenu des compatibilités appropriées et les nœuds syscon d’arrêt sont séparés des plages de mutex.
      • Ajout d’une gamme de correctifs pour s’aligner sur les liaisons DT
    • Armer les mises à jour de defconfig
      • Active les pilotes command-db, ocmem, rpmh et rpmhpd dans le multi_v7_defconfig, utilisé sur SDX55, SDX65 et MSM8974.
      • Pour qcom_defconfig, rmtfs-mem, rpmpd, socinfo et qcom-stats sont activés car ils sont utilisés dans MSM8974, MSM8226, MSM8916 et APQ8084.
    • Mises à jour de defconfig Arm64
      • Fournisseurs de base nécessaires pour démarrer SC8180X
      • Pilotes audio pour SC7180 et SC7280
      • Qualcomm EDP PHY, pilote de contrôleur de cache de dernier niveau, pilote de mémoire sur puce et pilote SPM.
    • Nouveaux appareils et cartes
      • Sony Xperia 1 IV (Qualcomm Snapdragon 8 Gen 1)
      • 3 téléphones Samsung basés sur Snapdragon 410 : Galaxy E5, E7 et Grand Max.
      • Google Evoker (SC7280), une autre révision de Herobrine Villager.
  • MediaTek
    • Pilote d’horloge
      • Nouveaux pilotes d’horloge pour MediaTek Helio X10 (MT6795)
      • Ajouter des réinitialisations pour MediaTek MT8195 PCIe et USB
      • Modifications pour prendre en charge GPU DVFS sur MT8183, MT8192, MT8195
      • Réduire le pilote d’horloge MT8192 en dédupliquant les listes de parents d’horloge
    • MFD – Ajout de la prise en charge de MediaTek MT6370 subPMIC
    • Ajout de la prise en charge du rétroéclairage et de la lampe de poche MediaTek MT6370
    • Contrôleur de mémoire – Ajout de la prise en charge du contrôleur de mémoire mt8188 SMI
    • Prise en charge du contrôle des broches SoC Mediatek MT8188
    • Ajout du SoC de type Chromebook/tablette Mediatek MT8186 avec deux cœurs Cortex-A76 et six cœurs Cortex-A55.
    • Nouveaux appareils – Aucun cette fois.
  • Autres nouvelles plates-formes matérielles Arm et SoC
    • Aspeed – Deux nouveaux serveurs utilisant des BMC AST2600 : AMD DaytonaX et Ampere Mt. Mitchell
    • Microchip – Deux cartes de développement dans la famille Microchip AT91 : SAMA5D3-EDS et lan966x-pcb8290.
    • NXP
      • Processeur Cortex-A35 double cœur NXP i.MX8DXL
      • Cartes basées sur NXP i.MX6/i.MX8 : Kontron SL/BL OSM-S (i.MX8MM), Gateworks GW7904 (i.MX8MM), MSC SM2S-IMX8PLUS SoM et carte porteuse
    • Renesas – R-Car H3Ne-1.7G (R8A779MB) et R-Car V3H2 (R8A77980A) sont des mises à jour mineures de R8A77951 et R8A77980, respectivement.
    • Texas Instruments – Ajout du processeur AM62A Cortex-A53 faisant partie de la famille K3 pour le traitement vidéo / vision pour les applications industrielles et automobiles, ainsi que la carte AM62A StarterKit (SK)

Modifications RISC-V pour Linux 6.1

Certains des changements apportés à l’architecture RISC-V incluent :

  • Améliorations apportées au sous-système de topologie du processeur, qui résolvent certains problèmes où RISC-V signalait de mauvaises informations de topologie.
  • Le NR_CPUS par défaut est passé à XLEN et la valeur configurable maximale est 512.
  • Les systèmes de fichiers du CD-ROM ont été activés dans le fichier defconfig.
  • La prise en charge de THP_SWAP a été ajoutée pour les systèmes rv64.
  • Un correctif pour corriger la gestion des mappages en écriture seule
  • m{vetndor,arcd,imp}id est maintenant dans /proc/cpuinfo
  • Une poignée de nettoyages et de correctifs dans l’arborescence
  • Allwinner – Ajout du support SRAM au processeur D1
  • Microchip – Mises à jour DT pour le PolarFire SOC
  • SiFive
    • Un correctif pour ajouter les LED PWM manquantes dans l’arborescence des appareils SiFive HiFive Unleashed
    • La prise en charge du contrôleur de cache L2 a été refactorisée pour prendre également en charge les caches L3
  • StarFive – Pinctrl – Créez un sous-répertoire pour les pilotes StarFive, renommez « pinctrl-starfive » en « pinctrl-starfive-jh7100 »

Modifications MIPS

Il y avait encore une activité limitée pour l’architecture MIPS sur Linux 6.1 :

  • Principalement des nettoyages
  • Correction de l’activation des interruptions sur le deuxième VPE pour la plate-forme Lantiq
  • Basculer pour utiliser l’API gpiod
  • Autoriser le micrologiciel à transmettre la graine RND

Un journal des modifications Linux 6.1 complet avec des messages de validation uniquement est également disponible, généré avec la commande git log v6.0..v6.1 --stat. Un journal des modifications complet peut également être trouvé sur le site Web de KernelNewbies.