Société Oracle première version stable (UEK R6), une version avancée du noyau Linux, destinée à être utilisée dans la distribution Oracle Linux comme alternative au paquet standard avec le noyau de Red Hat Enterprise Linux. Le noyau est disponible uniquement pour les architectures x86_64 et ARM64 (aarch64). Les codes sources du noyau, y compris les séparations en patches distincts, dans le dépôt Git public d'Oracle.
Le paquet Unbreakable Enterprise Kernel 6 est basé sur le noyau (UEK R5 était basé sur le noyau 4.14), qui a été enrichi de nouvelles fonctionnalités, d’optimisations et de corrections, tout en étant testé pour assurer la compatibilité avec la plupart des applications fonctionnant sous RHEL, et spécialement optimisé pour fonctionner avec le logiciel et le matériel Oracle. Les paquets d’installation et src du noyau UEK R6 sont préparés pour Oracle Linux et . Le support de la branche 6.x est arrêté, pour appliquer UEK R6, il est nécessaire de mettre à jour le système vers Oracle Linux 7 (il n’y a aucun obstacle à l’utilisation de ce noyau dans des versions similaires de RHEL, CentOS et Scientific Linux).
Améliorations clés Unbreakable Enterprise Kernel 6 :
- Support étendu des systèmes basés sur l’architecture 64 bits ARM (aarch64).
- Support de toutes les fonctionnalités de Cgroup v2.
- Implémentation du framework ktask pour le parallélisme des tâches dans le noyau, qui consomment des ressources CPU significatives. Par exemple, avec ktask, on peut organiser le parallélisme des opérations de nettoyage des plages de mémoire ou le traitement de la liste inode;
- Version parallèle de kswapd incluse pour traiter les opérations de remplacement de pages mémoire de manière asynchrone, réduisant ainsi le nombre d'opérations de remplacement directes (synchrones). Lorsque le nombre de pages mémoire libre diminue, kswapd procède à un scan pour identifier les pages inutilisées qui peuvent être libérées.
- Support de la vérification de l'intégrité de l'image du noyau et des firmwares par signature numérique, lors du chargement du noyau via le mécanisme Kexec (chargement du noyau depuis un système déjà démarré).
- Optimisation des performances du système de gestion de la mémoire virtuelle, améliorant l'efficacité du nettoyage des pages mémoire et du cache, ainsi que le traitement des fautes de page.
- Support étendu de NVDIMM, la mémoire persistante désormais indiquée peut être utilisée comme de la RAM traditionnelle.
- Transition vers le système de débogage dynamique DTrace 2.0, qui pour l'utilisation du sous-système du noyau eBPF. DTrace fonctionne maintenant au-dessus de eBPF, de la même manière que les outils de traçage existants sous Linux fonctionnent au-dessus de eBPF.
- Des améliorations ont été apportées au système de fichiers OCFS2 (Oracle Cluster File System).
- Le support du système de fichiers Btrfs a été amélioré. La possibilité d'appliquer Btrfs aux partitions racines a été ajoutée. L'installateur a inclus l'option de choisir Btrfs lors du formatage des dispositifs. La possibilité de placer des fichiers d'échange sur des partitions Btrfs a été ajoutée. Btrfs prend désormais en charge la compression utilisant l'algorithme ZStandard.
- Le support d'interface pour les entrées/sorties asynchrones — io_uring a été ajouté, remarquable pour son support du polling d'entrées/sorties et sa capacité à fonctionner à la fois en mode bufferisé et non bufferisé. En termes de performances, io_uring est très proche de SPDK et devance de manière significative libaio lors de l'utilisation du polling. Une bibliothèque liburing a été préparée pour utiliser io_uring dans les applications utilisateur, fournissant un wrapper de haut niveau autour de l'interface du noyau;
- Le support du mode pour un chiffrement rapide des périphériques.
- Le support de la compression utilisant l'algorithme (zstd) a été ajouté.
- Dans le système de fichiers ext4, des horodatages 64 bits ont été utilisés dans les champs du superbloc.
- Des outils ont été intégrés dans XFS pour informer sur l'état d'intégrité du système de fichiers pendant son fonctionnement et obtenir le statut de l'exécution de fsck à la volée.
- La pile TCP a été par défaut convertie au modèle «» au lieu de «As Fast As Possible» lors de l'envoi de paquets. Le support de GRO (Generic Receive Offload) a été ajouté pour UDP. Le support de l'envoi et de la réception de paquets TCP en mode zero-copy a été ajouté.
- Une implémentation du protocole TLS sur le niveau du noyau (KTLS) a été mise en œuvre, qui peut désormais être appliquée non seulement aux données envoyées mais aussi à celles reçues.
- Comme backend pour le pare-feu, nftables est par défaut utilisé. Le support de
bpfilter a été ajouté en option. . - Amélioré et inclus lors de l'utilisation de l'UEFI Secure Boot.
- mode. , qui limite l'accès de l'utilisateur root au noyau et bloque les chemins de contournement de l'UEFI Secure Boot. Par exemple, en mode lockdown, l'accès à /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, au mode de débogage kprobes, mmiotrace, tracefs, BPF, aux CIS PCMCIA (Card Information Structure), à certaines interfaces ACPI et aux registres MSR du CPU est limité, les appels kexec_file et kexec_load sont bloqués, la mise en veille est interdite, l'utilisation du DMA pour les périphériques PCI est restreinte, l'importation de code ACPI à partir de variables EFI est interdite, ainsi que toute manipulation des ports d'entrée/sortie, y compris le changement de numéro d'interruption et de port d'entrée/sortie pour le port série.
- Ajout de la prise en charge des instructions étendues IBRS (Enhanced Indirect Branch Restricted Speculation), qui permettent d'autoriser et d'interdire de manière adaptative l'exécution spéculative des instructions lors du traitement des interruptions, des appels système et des commutations de contexte. En cas de prise en charge d'Enhanced IBRS, cette méthode est utilisée pour se protéger contre les attaques de type Spectre V2 au lieu de Retpoline, car elle permet d'atteindre de meilleures performances.
- Amélioration de la protection dans les répertoires accessibles à tous en écriture. Dans de tels répertoires, la création de fichiers FIFO et de fichiers appartenant à des utilisateurs ne correspondant pas au propriétaire du répertoire avec le drapeau sticky est interdite.
- Par défaut, la randomisation de l'espace d'adressage du noyau est activée sur les systèmes ARM (KASLR). Pour Aarch64, l'authentification des pointeurs est activée.
- Ajout de la prise en charge de 'NVMe over Fabrics TCP'.
- Ajout d'un pilote virtio-pmem, permettant l'accès aux dispositifs de stockage reflétés dans l'espace d'adresses physiques, tels que NVDIMM.
Source : opennet.ru
