Απελευθέρωση πυρήνα Linux 6.12 με υποστήριξη σε πραγματικό χρόνο

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds κυκλοφόρησε τον πυρήνα. Linux 6.12. Μεταξύ των πιο αξιοσημείωτων αλλαγών: η δυνατότητα ενεργοποίησης της λειτουργίας Realtime, το sched_ext για τη δημιουργία χρονοπρογραμματιστών CPU μέσω eBPF, η έξοδος κωδικού QR σε συνθήκες έκτακτης ανάγκης, ο μηχανισμός TCP μνήμης συσκευής, ο μηχανισμός δέσμευσης πόρων διακομιστή SCHED_DEADLINE, η βελτίωση του χρονοπρογραμματιστή εργασιών EEVDF, η ενότητα IPE για τον ορισμό πολιτικών ακεραιότητας.

Η νέα έκδοση περιλαμβάνει 14607 διορθώσεις από 2167 προγραμματιστές, το μέγεθος της ενημέρωσης κώδικα είναι 37 MB (οι αλλαγές επηρέασαν 13087 αρχεία, προστέθηκαν 507913 γραμμές κώδικα, διαγράφηκαν 234083 γραμμές). Η τελευταία έκδοση είχε 15130 διορθώσεις από 2078 προγραμματιστές, το μέγεθος της ενημερωμένης έκδοσης κώδικα ήταν 85 MB (στον πυρήνα 6.10 η ενημερωμένη έκδοση κώδικα είχε μέγεθος 41 MB). Περίπου το 45% όλων των αλλαγών που εισάγονται στο 6.12 σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 12% των αλλαγών σχετίζονται με την ενημέρωση κώδικα που αφορά τις αρχιτεκτονικές υλικού, το 13% σχετίζονται με τη στοίβα δικτύου, το 6% σχετίζονται με συστήματα αρχείων και το 3% σχετίζονται με εσωτερικά υποσυστήματα πυρήνα.

Βασικές καινοτομίες στον πυρήνα 6.12:

  • Υπηρεσίες μνήμης και συστήματος
    • Η δυνατότητα δημιουργίας του πυρήνα με την επιλογή PREEMPT_RT χωρίς πρόσθετες ενημερώσεις κώδικα για λειτουργία σε πραγματικό χρόνο είναι πλέον διαθέσιμη. Η τελευταία λειτουργία του πυρήνα που έλειπε και εμπόδιζε την ενεργοποίηση της λειτουργίας PREEMPT_RT ήταν η υποστήριξη για μη αποκλεισμένη ατομική έξοδο μέσω της συνάρτησης printk, η οποία περιλαμβάνεται επίσης στον πυρήνα. Η υποστήριξη PREEMPT_RT είναι διαθέσιμη για τις αρχιτεκτονικές x86, x86_64, ARM64 και RISC-V. Μέχρι τώρα, η υλοποίηση της λειτουργίας PREEMPT_RT παρεχόταν με τη μορφή εξωτερικών ενημερώσεων κώδικα, τις οποίες ορισμένες διανομές, όπως οι RHEL, SUSE και... Ubuntu, δημιούργησαν ξεχωριστές εκδόσεις πραγματικού χρόνου των προϊόντων τους, οι οποίες έχουν ζήτηση σε τομείς όπως τα χρηματοοικονομικά συστήματα, οι συσκευές επεξεργασίας ήχου και βίντεο, η αεροπορία, η ιατρική, η ρομποτική, οι τηλεπικοινωνίες και τα βιομηχανικά συστήματα, όπου είναι απαραίτητο να διασφαλιστεί ο προβλέψιμος χρόνος επεξεργασίας συμβάντων.
    • Έχει προστεθεί ο μηχανισμός "sched_ext" (SCX), επιτρέποντας τη χρήση του eBPF για τη δημιουργία χρονοπρογραμματιστών CPU που καλύπτουν σχεδόν όλες τις πτυχές του χρονοπρογραμματισμού εργασιών και της κατανομής πόρων CPU. Τέτοιοι χρονοπρογραμματιστές μπορούν να φορτωθούν και να εκτελεστούν δυναμικά εντός του πυρήνα. Linux в εικονική μηχανή eBPF. Ο μηχανισμός sched_ext απλοποιεί τη δημιουργία χρονοπρογραμματιστών για συγκεκριμένες εργασίες, επιτρέπει τον πειραματισμό με διάφορες τεχνικές και στρατηγικές προγραμματισμού και επιτρέπει την ταχεία δημιουργία λειτουργικών πρωτοτύπων και την άμεση αντικατάσταση χρονοπρογραμματιστών σε υποδομές παραγωγής. Για παράδειγμα, χρησιμοποιώντας το sched_ext, μπορείτε να δημιουργήσετε έναν χρονοπρογραμματιστή που λαμβάνει υπόψη τις ιδιαιτερότητες μιας συγκεκριμένης εφαρμογής και αλλάζει δυναμικά τη στρατηγική προγραμματισμού της ανάλογα με την κατάσταση του συστήματος και άλλους παράγοντες.
    • Η σύνθεση περιλαμβάνει το υπόλοιπο μέρος των ενημερώσεων κώδικα που είναι απαραίτητες για τη λειτουργία του μηχανισμού διακομιστή SCHED_DEADLINE, ο οποίος λύνει το πρόβλημα της υποχρησιμοποίησης των πόρων της CPU από συνηθισμένες εργασίες όταν η CPU μονοπωλείται από εργασίες υψηλής προτεραιότητας (σε πραγματικό χρόνο). Για να αποφευχθεί η μονοπώληση της CPU, ο πυρήνας χρησιμοποιούσε προηγουμένως τον μηχανισμό στραγγαλισμού σε πραγματικό χρόνο, ο οποίος προσπάθησε να κρατήσει το 5% για εργασίες χαμηλής προτεραιότητας, αφήνοντας το 95% του χρόνου για εργασίες σε πραγματικό χρόνο. Αυτός ο μηχανισμός άφηνε πολλά να είναι επιθυμητοί, καθώς οι συνηθισμένες εργασίες σε πολλές περιπτώσεις δεν έλαβαν αρκετό χρόνο επεξεργαστή. Ο διακομιστής SCHED_DEADLINE εφαρμόζει έναν πιο αποτελεσματικό μηχανισμό κράτησης πόρων.
    • Ολοκληρώθηκε η ενσωμάτωση του προγραμματιστή εργασιών EEVDF (Earliest Eligible Virtual Deadline First), ο οποίος αντικατέστησε τον προγραμματιστή CFS (Completely Fair Scheduler), ο οποίος παρέχεται ξεκινώντας από τον πυρήνα 2.6.23. Ο νέος προγραμματιστής, όταν επιλέγει την επόμενη διεργασία στην οποία θα μεταφερθεί η εκτέλεση, λαμβάνει υπόψη διεργασίες που δεν έχουν λάβει αρκετούς πόρους επεξεργαστή ή έχουν λάβει αδικαιολόγητα μεγάλο χρόνο στον επεξεργαστή. Στην πρώτη περίπτωση, η μεταφορά του ελέγχου στη διαδικασία είναι αναγκαστική και στη δεύτερη, αντίθετα, αναβάλλεται. Ο παλιός προγραμματιστής CFS χρησιμοποιούσε ευρετικές μεθόδους και λεπτομέρεια για τον εντοπισμό διεργασιών που χρειάζονταν ιδιαίτερη προσοχή, ενώ ο νέος προγραμματιστής τις παρακολουθεί με μεγαλύτερη σαφήνεια και δεν απαιτεί λεπτομέρεια. Η EEVDF αναμένεται να μειώσει τις καθυστερήσεις σε εργασίες για τις οποίες η CFS είχε προβλήματα προγραμματισμού.
    • Στον χειριστή έκτακτης ανάγκης πυρήνα - DRM Panic, το οποίο χρησιμοποιεί το υποσύστημα DRM (Direct Rendering Manager) για να εμφανίσει μια οπτική αναφορά στο στυλ της "μπλε οθόνη του θανάτου", τη δυνατότητα εμφάνισης λογότυπου και κωδικού QR με αναφορά kmsg στο έχει προστεθεί η οθόνη όταν εμφανίζεται μια κατάσταση έκτακτης ανάγκης. Δεδομένου ότι μόνο 2953 byte χωρούν σε έναν κωδικό QR, παρέχεται η επιλογή DRM_PANIC_SCREEN_QR_CODE_URL, στην οποία η αναφορά kmsg συμπιέζεται χρησιμοποιώντας zlib και προσαρτάται ως παράμετρος στη διεύθυνση URL, η οποία επιτρέπει τη μεταφορά περίπου 40 byte μέσω του κώδικα QR V7500. Κατά τη δημιουργία πακέτων με τον πυρήνα, οι διανομές μπορούν να ορίσουν μια βασική διεύθυνση URL για τη διεύθυνση URL, η οποία θα τους επιτρέψει να πλοηγηθούν σε μια σελίδα για την αναφορά ενός προβλήματος. Για να επιλέξετε τη μορφή κωδικού QR, παρέχεται η ρύθμιση DRM_PANIC_SCREEN_QR_VERSION.
    • Προστέθηκε υποστήριξη για το ARM POE (Permission Overlay Extension), το οποίο σας επιτρέπει να ορίσετε δικαιώματα πρόσβασης σε περιοχές μνήμης. Χρησιμοποιώντας αυτήν την επέκταση, σε συστήματα με επεξεργαστές ARM64, μπορεί να εφαρμοστεί ο μηχανισμός Memory Protection Keys, ο οποίος χρησιμοποιείται για τον περιορισμό της πρόσβασης σε σελίδες μνήμης χωρίς αλλαγή του πίνακα σελίδων μνήμης.
    • Για τις αρχιτεκτονικές Loongarch, ARM64, PowerPC και s390, η υλοποίηση της κλήσης συστήματος getrandom() έχει μετακινηθεί, βελτιστοποιημένη χρησιμοποιώντας τον μηχανισμό vDSO (εικονικό δυναμικό κοινόχρηστο αντικείμενο), ο οποίος καθιστά δυνατή τη μετακίνηση του χειριστή κλήσεων συστήματος από τον πυρήνα στον χρήστη χώρο και αποφύγετε τους διακόπτες περιβάλλοντος. Η βελτιστοποίηση σάς επιτρέπει να επιταχύνετε τη δημιουργία τυχαίων αριθμών έως και 15 φορές.
    • Η δυνατότητα χρήσης απόλυτων χρονικών ορίων, που ενεργοποιείται όταν επιτευχθεί μια συγκεκριμένη ώρα στο ρολόι του συστήματος, έχει προστεθεί στο υποσύστημα ασύγχρονης εισόδου/εξόδου io_uring (προηγουμένως, μπορούσαν να οριστούν μόνο σχετικά χρονικά όρια, τα οποία έδειχναν τη διάρκεια από την αρχή της λειτουργίας ).
    • Προστέθηκαν αρχεία για τη δημιουργία δεσμεύσεων για τη βιβλιοθήκη libcpupower χρησιμοποιώντας το κιτ εργαλείων SWIG, το οποίο σας επιτρέπει να δημιουργείτε δεσμεύσεις από κώδικα C/C++ για διάφορες γλώσσες προγραμματισμού. Τα Bindings σάς επιτρέπουν να δημιουργείτε σενάρια σε Python και άλλες γλώσσες και να τα χρησιμοποιείτε για να επεκτείνετε τη λειτουργικότητα της βιβλιοθήκης libcpupower, η οποία παρέχει ένα API για τη διαχείριση cpufreq και προγραμμάτων οδήγησης από το χώρο χρήστη.
    • Το βοηθητικό πρόγραμμα cpuidle εμφανίζει την τιμή της κατάστασης αδράνειας "residency", που χρησιμοποιείται για συστήματα σε πραγματικό χρόνο και λαμβάνοντας υπόψη τον ελάχιστο χρόνο που πρέπει να βρίσκεται ο επεξεργαστής σε κατάσταση αδράνειας για να δικαιολογήσει το ενεργειακό κόστος μετάβασης σε και εκτός αυτής της κατάστασης.
    • Προστέθηκε η δυνατότητα χρήσης του μεταγλωττιστή Clang για την κατασκευή της τυπικής βιβλιοθήκης C nolibc, η οποία περιλαμβάνεται στον πηγαίο κώδικα του πυρήνα. Linux και παρέχει ένα περιτύλιγμα γύρω από βασικές κλήσεις συστήματος. Κατά την κατασκευή του nolibc στο Clang, ενεργοποιείται η βελτιστοποίηση χρόνου σύνδεσης (LTO).
    • Ορισμένες διεπαφές cgroup1 έχουν καταργηθεί, όπως η λογιστική TCP, η έκδοση XNUMX soft limit και η διαχείριση εξάντλησης μνήμης. Η υποστήριξη για αυτές τις λειτουργίες παραμένει πλήρης προς το παρόν και η προειδοποίηση γίνεται για να μελετηθεί ο αριθμός των χρηστών που συνεχίζουν να χρησιμοποιούν αυτές τις δυνατότητες.
    • Προστέθηκε η δυνατότητα διαμόρφωσης μιας προσωρινής μνήμης ανίχνευσης δακτυλίου για αποθήκευση συσσωρευμένων δεδομένων μετά από επανεκκίνηση, η οποία θα σας επιτρέψει να μην χάσετε τις συσσωρευμένες πληροφορίες εντοπισμού σφαλμάτων σε περίπτωση κατάρρευσης του πυρήνα. Τα δεδομένα αποθηκεύονται στη μνήμη. Η ενεργοποίηση πραγματοποιείται μέσω της παραμέτρου γραμμής εντολών του πυρήνα trace_instance, για παράδειγμα, η ρύθμιση "trace_instance=boot_map@0x285400000:12M" θα δεσμεύσει 12 MB μνήμης στα 0x285400000 για την προσωρινή μνήμη "boot_map", η οποία θα είναι προσβάσιμη μέσω του αρχείου /s/ysker /tracing/instances/boot_map.
    • Συνεχής μετεγκατάσταση αλλαγών από τον κλάδο Rust-for-Linux, που σχετίζεται με τη χρήση της Rust ως δεύτερης γλώσσας για την ανάπτυξη προγραμμάτων οδήγησης και ενοτήτων πυρήνα (Η υποστήριξη Rust δεν είναι ενεργή από προεπιλογή και δεν περιλαμβάνει τη Rust μεταξύ των απαιτούμενων εξαρτήσεων κατασκευής του πυρήνα). Προστέθηκαν οι ενότητες 'list' και 'rbtree' για εργασία με διπλά συνδεδεμένες λίστες και κόκκινα-μαύρα δέντρα αναζήτησης. Επεκτάθηκαν οι δυνατότητες των ενοτήτων 'init', 'sync', 'types' και 'error'. Προστέθηκε η δυνατότητα χρήσης κώδικα Rust κατά την κατασκευή ενός πυρήνα με προστασία από επιθέσεις Spectre (επιλογές MITIGATION_{RETHUNK,RETPOLINE,SLS}), χρησιμοποιώντας το σύστημα εντοπισμού σφαλμάτων KASAN, τους μηχανισμούς προστασίας kCFI (kernel Control Flow Integrity) και Shadow Call, καθώς και κατά τη χρήση πρόσθετων plugins GCC. Προστέθηκε ένα πρόγραμμα οδήγησης για τον ελεγκτή Ethernet Applied Micro QT2025 PHY, γραμμένο σε Rust. Έχει ετοιμαστεί ξεχωριστός ιστότοπος με τεκμηρίωση: rust.docs.kernel.org.
    • Το βοηθητικό πρόγραμμα xdrgen έχει προστεθεί στον πηγαίο κώδικα του πυρήνα για τη μετατροπή των προδιαγραφών XDR (eXternal Data Representation) σε συναρτήσεις κωδικοποίησης και αποκωδικοποίησης XDR γραμμένες χρησιμοποιώντας το στυλ C που έχει υιοθετήσει ο πυρήνας. Linux.
    • Ο πυρήνας έχει τροποποιηθεί για την εφαρμογή ενός μηχανισμού κάλυψης δείκτη για τη μείωση του αριθμού των αργών κλήσεων στη barrier_nospec() στη συνάρτηση copy_from_user() 64-bit, που χρησιμοποιείται για την αντιγραφή δεδομένων στον πυρήνα από το χώρο χρήστη. Η χρήση κάλυψης επιταχύνει τη δοκιμή "per_thread_ops", η οποία αξιολογεί τον αριθμό των λειτουργιών που μπορούν να εκτελεστούν σε ένα νήμα, κατά 2.6%.
    • Προστέθηκε ένα νέο πρόγραμμα οδήγησης USB που σας επιτρέπει να χρησιμοποιείτε το πρωτόκολλο 9pfs ως μεταφορά για την αποστολή και λήψη δεδομένων από μια συσκευή USB κατά την προσάρτηση του συστήματος αρχείων 9p μέσω USB (για παράδειγμα, "mount -t 9p -o trans=usbg, aname=/path/to/ fs /mnt/9"). Ένα παράδειγμα χρήσης του νέου προγράμματος οδήγησης είναι η χρήση του αντί για το NFS για την οργάνωση της εκκίνησης του ριζικού διαμερίσματος κατά την ανάπτυξη ενσωματωμένων συσκευών.
  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Η δυνατότητα εργασίας με συσκευές αποθήκευσης των οποίων το μέγεθος μπλοκ είναι μεγαλύτερο από το μέγεθος της σελίδας μνήμης στο σύστημα έχει προστεθεί στο υποσύστημα VFS. Στα συστήματα αρχείων, αυτή η δυνατότητα υποστηρίζεται προς το παρόν μόνο σε XFS.
    • Το υποσύστημα FUSE, το οποίο σας επιτρέπει να δημιουργείτε υλοποιήσεις συστημάτων αρχείων που λειτουργούν στο χώρο χρήστη, έχει προσθέσει υποστήριξη για την αντιστοίχιση αναγνωριστικών χρηστών προσαρτημένων συστημάτων αρχείων, που χρησιμοποιούνται για την αντιστοίχιση των αρχείων ενός συγκεκριμένου χρήστη σε ένα προσαρτημένο ξένο διαμέρισμα με έναν άλλο χρήστη στο τρέχον σύστημα.
    • Μια νέα λειτουργία fcntl, F_CREATED_QUERY, έχει υλοποιηθεί, δίνοντας σε μια εφαρμογή τη δυνατότητα να προσδιορίζει εάν ένα αρχείο που άνοιξε με τη σημαία O_CREAT δημιουργήθηκε ή αν υπήρχε ήδη πριν.
    • Προστέθηκε η δυνατότητα χρήσης μοναδικών αναγνωριστικών σημείων προσάρτησης 64-bit στην κλήση συστήματος name_to_handle_at() για την αποφυγή συνθηκών κούρσας κατά την ανάλυση του /proc/mountinfo.
    • Το μέγεθος της δομής «αρχείου» στον πυρήνα έχει μειωθεί από 232 σε 184 byte, γεγονός που μειώνει την κατανάλωση μνήμης σε συστήματα που λειτουργούν ενεργά με αρχεία.
    • Η προσάρτηση συστημάτων αρχείων σε σημεία προσάρτησης εντός της ιεραρχίας /proc, όπως το /proc/PID/fd, απαγορεύτηκε, γεγονός που δημιούργησε πιθανά ζητήματα ασφαλείας.
    • Το ψευδο-FS NSFS (NameSpace FS), που χρησιμοποιείται για την εργασία με χώρους ονομάτων, παρέχει πρόσθετες πληροφορίες σχετικά με τους χώρους ονομάτων των σημείων προσάρτησης.
    • Το σύστημα αρχείων EROFS (Extendable Read-Only File System), σχεδιασμένο για χρήση σε κατατμήσεις μόνο για ανάγνωση, υποστηρίζει πλέον την τοποθέτηση συστημάτων αρχείων απευθείας από εικόνες δίσκου που έχουν αποθηκευτεί ως αρχεία.
    • Νέες εντολές ioctl XFS_IOC_START_COMMIT και XFS_IOC_COMMIT_RANGE έχουν προστεθεί στο XFS για την ανταλλαγή περιεχομένου μεταξύ δύο αρχείων.
    • Το NFS έχει προσθέσει υποστήριξη για το πρωτόκολλο "LOCALIO", το οποίο σας επιτρέπει να προσδιορίσετε εάν ο πελάτης και διακομιστή NFS στον ίδιο κεντρικό υπολογιστή για να ενεργοποιήσετε τις αντίστοιχες βελτιστοποιήσεις.
    • Στο σύστημα αρχείων Btrfs, έχουν προταθεί βελτιστοποιήσεις απόδοσης, ο κώδικας έχει ανακατασκευαστεί, η περιοχή κλειδώματος της έκτασης κατά τη διάρκεια των εργασιών ανάγνωσης έχει μειωθεί, η εργασία συνεχίστηκε για τη μετατροπή σελίδων μνήμης για χρήση φύλλων σελίδας και η αυτόματη απελευθέρωση μνήμης υλοποιείται για τη δομή btrfs_path.
    • Στο σύστημα αρχείων Ext4, διορθώθηκαν σφάλματα που σχετίζονται με την κατανομή μπλοκ, τη διαχείριση έκτασης, τη γρήγορη δέσμευση και το ημερολόγιο.
  • Εικονικοποίηση και Ασφάλεια
    • Προστέθηκε η ενότητα IPE (Integrity Policy Enforcement) LSM, που αναπτύχθηκε από τη Microsoft για την επέκταση του υπάρχοντος υποχρεωτικού συστήματος ελέγχου πρόσβασης. Η ενότητα σάς επιτρέπει να ορίσετε μια γενική πολιτική ακεραιότητας για ολόκληρο το σύστημα, υποδεικνύοντας ποιες λειτουργίες επιτρέπονται και πώς πρέπει να επαληθεύεται η αυθεντικότητα των στοιχείων. Για παράδειγμα, χρησιμοποιώντας το IPE, μπορείτε να καθορίσετε ποια εκτελέσιμα αρχεία επιτρέπεται να εκτελούνται, λαμβάνοντας υπόψη τη συμμόρφωσή τους με την έκδοση αναφοράς χρησιμοποιώντας κρυπτογραφικούς κατακερματισμούς που παρέχονται από το σύστημα dm-verity.
    • Στο στάδιο της μεταγλώττισης του πυρήνα, είναι δυνατό να ενεργοποιηθούν ξεχωριστά οι διαθέσιμες μέθοδοι προστασίας από διαφορετικές ευπάθειες κλάσης Spectre στην CPU. Το Kconfig προσφέρει νέες παραμέτρους: MITIGATE_MDS (προστασία έναντι της ευπάθειας δειγματοληψίας μικροαρχιτεκτονικών δεδομένων), MITIGATE_TAA (προστασία έναντι της ευπάθειας ασύγχρονης ματαίωσης TSX), MITIGATE_MMIO_STALE_DATA (προστασία έναντι της ευπάθειας MMIO Stale Data (MIGATE_inLIT). ITIGATE_RETBLEED (προστασία από ευπάθειες του Retbleed), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V1 (προστασία από ευπάθειες Spectre), MITIGATE_SRBDS (προστασία έναντι της ευπάθειας δειγματοληψίας δεδομένων Buffer Special Register), MITIGATE_SSB (Προστασία Specvulnerability By the Passes).
    • Προστέθηκε η επιλογή γραμμής εντολών proc_mem.force_override και ένα σύνολο ρυθμίσεων συναρμολόγησης στο Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE και PROC_MEM_FORCE_NEVER) για την αποφυγή αλλαγών στη μνήμη μέσω του /proc/pid/mem.
    • Υποσύστημα LSM (Linux (η ενότητα ασφαλείας) έχει αλλάξει σε χρήση στατικών κλήσεων, γεγονός που έχει βελτιώσει την ασφάλεια και την απόδοση.
    • Η δυνατότητα χρήσης τυπικών πυρήνων για την αρχιτεκτονική ARM64 σε περιβάλλοντα επισκεπτών που εκτελούνται σε Android-συστήματα με τροποποιημένο υπερεπόπτη KVM (προστατευμένο KVM).
    • Η μονάδα Landlock LSM, η οποία σας επιτρέπει να περιορίσετε την αλληλεπίδραση μιας ομάδας διεργασιών με το εξωτερικό περιβάλλον, εφαρμόζει την έννοια «IPC scope» για τον επιλεκτικό περιορισμό της αλληλεπίδρασης με περιβάλλοντα sandbox χρησιμοποιώντας υποδοχές και σήματα Unix. Για παράδειγμα, μπορείτε να απαγορεύσετε συνδέσεις χρησιμοποιώντας υποδοχές Unix από περιβάλλον sandbox σε διεργασίες που δεν έχουν εφαρμογή απομόνωσης, αλλά επιτρέπουν συνδέσεις σε διεργασίες στο ίδιο εύρος.
    • Στον hypervisor KVM, έχει προστεθεί μια σημαία στο CPUID για φιλοξενούμενα συστήματα που υποδεικνύει υποστήριξη για επεκτάσεις AVX10.1.
  • Υποσύστημα δικτύου
    • Προστέθηκε ο μηχανισμός Device Memory TCP, που επιτρέπει τη χρήση υποδοχών δικτύου για την απευθείας αποστολή των περιεχομένων της μνήμης των περιφερειακών συσκευών μέσω του δικτύου (λειτουργία μηδενικής αντιγραφής) και την απευθείας τοποθέτηση των περιεχομένων των πακέτων δικτύου στην περιοχή μνήμης της συσκευής στο πλευρά του παραλήπτη. Τα δεδομένα που μεταδίδονται σε πακέτα μεταφέρονται από την κάρτα δικτύου στη μνήμη μιας περιφερειακής συσκευής ή από τη μνήμη της συσκευής στην κάρτα δικτύου απευθείας, παρακάμπτοντας την CPU και οι κεφαλίδες των πακέτων καταλήγουν σε κανονικά buffer πυρήνα.
    • Οι δυνατότητες πολλών προγραμμάτων οδήγησης Ethernet και ασύρματης σύνδεσης έχουν επεκταθεί. Για παράδειγμα, το πρόγραμμα οδήγησης Intel iwlwifi πρόσθεσε υποστήριξη για τη μετακίνηση λειτουργιών RLC/SMPS στην πλευρά του υλικολογισμικού, το πρόγραμμα οδήγησης RealTek rtw89 αύξησε την απόδοση και πρόσθεσε υποστήριξη για τσιπ RTL8852BT/8852BE-VT (WiFi 6), το πρόγραμμα οδήγησης μικροτσίπ Ethernet πρόσθεσε υποστήριξη για το IEEE 802.3 Οι προδιαγραφές bw (100BASE) -T1) και IEEE 802.3bp, Microsoft vNIC και IBM veth υλοποιήσεις εικονικού Ethernet έχουν βελτιωθεί. Προστέθηκαν νέα προγράμματα οδήγησης για τα τσιπ Ethernet Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 και Microchip LAN8650/1 10BASE-T1S MAC-PHY.
    • Στο MPTCP (MultiPath TCP), μια επέκταση του πρωτοκόλλου TCP για την οργάνωση της παράδοσης πακέτων TCP ταυτόχρονα κατά μήκος πολλών διαδρομών μέσω διαφορετικών διεπαφών δικτύου, το μέγεθος των βαρών που χρησιμοποιούνται στη δρομολόγηση αυξάνεται από 8 σε 16 bit. Εφαρμοσμένη ανίχνευση χαμένης (μαύρης τρύπας) κυκλοφορίας και αναστολή για κάποιο χρονικό διάστημα προσπαθειών δημιουργίας συνδέσεων με συστήματα που οδηγούν σε απώλεια κυκλοφορίας.
    • Για το IPv6, υλοποιείται υποστήριξη για τη σημαία "p" στο PIO (επιλογή πληροφοριών προθέματος), που χρησιμοποιείται σε διαφημίσεις RA (διαφημίσεις δρομολογητή IPv6) για την επιλογή ενός μοντέλου ανάπτυξης πελάτη μέσω DHCPv6-PD (Ανάθεση προθέματος DHCPv6, RFC9663) αντί για εκχώρηση μεμονωμένες διευθύνσεις που βασίζονται σε προθέματα χρησιμοποιώντας SLAAC (Αυτόματη διαμόρφωση διεύθυνσης χωρίς κατάσταση). IPv6 Το IOAM6 προσθέτει υποστήριξη για μια νέα λειτουργία ενθυλάκωσης tunsrc που επιτρέπει καλύτερη απόδοση.
    • Βελτιωμένη απόδοση για την επεξεργασία πακέτων ελέγχου IPsec.
    • Βελτιωμένη απόδοση των μεγάλων σετ κανόνων έκπλυσης nftables. Το nfnetlink_queue έχει βελτιωμένη υποστήριξη για το πρωτόκολλο SCTP.
    • Το API ethtool έχει προσθέσει υποστήριξη για τη σύνδεση πολλαπλών καρτών δικτύου σε μία διεπαφή δικτύου.
  • Оборудование
    • Στο πρόγραμμα οδήγησης AMDGPU, συνεχίζονται οι εργασίες για την υλοποίηση υποστήριξης για GPU AMD RDNA4 ("GFX12"). Προστέθηκε η δυνατότητα επαναφοράς μεμονωμένων ουρών εργασιών χωρίς επαναφορά ολόκληρης της GPU.
    • Συνεχίστηκαν οι εργασίες για το πρόγραμμα οδήγησης Xe drm (Direct Rendering Manager) για GPU που βασίζονται στην αρχιτεκτονική Intel Xe, το οποίο χρησιμοποιείται σε κάρτες γραφικών της οικογένειας Intel Arc και ενσωματωμένα γραφικά, ξεκινώντας με τους επεξεργαστές Tiger Lake. Η νέα έκδοση περιλαμβάνει υποστήριξη για GPU που βασίζονται στις μικροαρχιτεκτονικές Battlemage και Lunar Lake. Έχει εισαχθεί υποστήριξη για τροποποιητές Xe2 CCS (Color Control Surface) για τον έλεγχο των παραμέτρων των ενσωματωμένων και διακριτών GPU.
    • Το πρόγραμμα οδήγησης i915 υλοποιεί τη δυνατότητα εξαγωγής πληροφοριών σχετικά με την ταχύτητα του ανεμιστήρα μέσω της διεπαφής HWMON ή sysfs (το χαρακτηριστικό "fan1_input"). Η παράμετρος "i915.modeset" έχει καταργηθεί.
    • Προστέθηκε υποστήριξη για GPU A615, A306 και A621 στο πρόγραμμα οδήγησης msm DRM (GPU Qualcomm Adreno).
    • Το πρόγραμμα οδήγησης Nouveau έχει επεξεργαστεί και καθαρίσει τις εσωτερικές του δομές.
    • Το πρόγραμμα οδήγησης intel_pstate, το οποίο ελέγχει τις παραμέτρους κατανάλωσης ενέργειας (P-state) σε συστήματα με επεξεργαστές Intel, έχει προσθέσει υποστήριξη για υβριδικά συστήματα με ασύμμετρες (διαφορετικά χαρακτηριστικά) CPU, καθώς και υποστήριξη για διαχείριση ενέργειας επεξεργαστών που βασίζονται σε Granite Rapids και Sierra Forest μικροαρχιτεκτονικές. Προστέθηκε υποστήριξη για CPU Xeon Granite Rapids στο πρόγραμμα οδήγησης intel_idle. Το πρόγραμμα οδήγησης intel_rapl παρέχει αναγνώριση των διαδικασιών της οικογένειας AMD 1Ah και των επεξεργαστών Intel ArrowLake-U.
    • Συνεχίζεται η συμπερίληψη αλλαγών για την υποστήριξη του ARM SoC Snapdragon X Elite, το οποίο χρησιμοποιεί τη δική της 12πύρηνη CPU Oryon και την Qualcomm Adreno GPU της Qualcomm. Το τσιπ στοχεύει στη χρήση σε φορητούς υπολογιστές και υπολογιστές και βρίσκεται μπροστά από τα τσιπ Apple M3 και Intel Core Ultra 155H σε πολλές δοκιμές απόδοσης.
    • Προστέθηκε υποστήριξη για πλακέτες ARM, SoC και συσκευές: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo, 6000, Lenovo A6010 XXSP , Firefly Core-PX7-JD35, Lunzn Fastrhino R30s, Aspeed Riser, Agx Orin, Rockchip Qnap-Ts4, Huashan PI, Meta Catalina, Beagle-Ai, Nanopi R68s Plus, Exynosauto V433, Sophgo SG2, Qualcomm IPQ920, LG G2002 (H5332 ), Cool Pi CM4 GenBook, Anbernic RG815XXSP, GameForce Ace, IBM P5, Kontron i.MX35 OSM-S, NanoPC-T11
    • Προστέθηκε υποστήριξη για πάνελ οθόνης Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip A40A, Microchip 08XAN116, B02.3XAT116, BOE TV06.1WUM -LL116, BOE NV04.1WUM-N101, BOE NV2WUM-N140, BOE NV41WHM-A133D, BOE NE63WUM-N116G, CMN N4BCA-EA140, CMN N6BCP-EA116, CSW2MN, Star.
    • Το υποσύστημα ήχου έχει προσθέσει υποστήριξη για τσιπ και κωδικοποιητές RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. Τα παλιά προγράμματα οδήγησης ήχου για το Intel ASoC έχουν κηρυχθεί απαρχαιωμένα και συνιστάται η χρήση προγραμμάτων οδήγησης AVS. Έχουν γίνει πολλές βελτιώσεις στο πρόγραμμα οδήγησης SoundWire.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster