Έκδοση πυρήνα Linux 5.9

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds εισήχθη απελευθέρωση πυρήνα Linux 5.9. Μεταξύ των πιο αξιοσημείωτων αλλαγών: περιορισμός της εισαγωγής συμβόλων από ιδιόκτητες μονάδες σε μονάδες GPL, επιτάχυνση των λειτουργιών εναλλαγής περιβάλλοντος με χρήση της εντολής επεξεργαστή FSGSBASE, υποστήριξη για συμπίεση εικόνας πυρήνα με χρήση Zstd, επανεξέταση της ιεράρχησης των νημάτων στον πυρήνα, υποστήριξη για το PRP (Πρωτόκολλο παράλληλου πλεονασμού), προγραμματισμός με επίγνωση του εύρους ζώνης στον προγραμματιστή προθεσμιών, προληπτική συσκευασία σελίδων μνήμης, επισήμανση ικανότητας CAP_CHECKPOINT_RESTOR, κλήση συστήματος close_range(), βελτιώσεις απόδοσης κρυπτογράφησης dm, αφαίρεση κώδικα για επισκέπτες μνήμης Xen PV 32 bit, νέοι επισκέπτες του Xen PV μηχανισμός διαχείρισης, επιλογή «διάσωσης» σε Btrfs, υποστήριξη κρυπτογράφησης inline σε ext4 και F2FS.

Η νέα έκδοση περιλαμβάνει 16074 διορθώσεις από προγραμματιστές του 2011,
μέγεθος ενημέρωσης κώδικα - 62 MB (οι αλλαγές επηρέασαν 14548 αρχεία, προστέθηκαν 782155 γραμμές κώδικα, διαγράφηκαν 314792 γραμμές). Περίπου το 45% του συνόλου που παρουσιάζεται στο 5.9
Οι αλλαγές σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 15% των αλλαγών είναι
στάση απέναντι στην ενημέρωση κώδικα που αφορά τις αρχιτεκτονικές υλικού, 13%
σχετίζεται με τη στοίβα δικτύου, 3% με συστήματα αρχείων και 3% με εσωτερικά
υποσυστήματα πυρήνα.

Ο κύριος καινοτομίες:

  • Υπηρεσίες μνήμης και συστήματος
    • Σφιγμένο προστασία από τη χρήση επιπέδων GPL για τη σύνδεση ιδιόκτητων προγραμμάτων οδήγησης με στοιχεία πυρήνα που εξάγονται μόνο για λειτουργικές μονάδες υπό την άδεια GPL. Η σημαία TAINT_PROPRIETARY_MODULE κληρονομείται πλέον σε όλες τις λειτουργικές μονάδες που εισάγουν σύμβολα από λειτουργικές μονάδες με αυτήν τη σημαία. Εάν μια λειτουργική μονάδα GPL επιχειρήσει να εισαγάγει σύμβολα από μια λειτουργική μονάδα που δεν είναι GPL, τότε αυτή η λειτουργική μονάδα GPL θα κληρονομήσει την ετικέτα TAINT_PROPRIETARY_MODULE και δεν θα μπορεί να έχει πρόσβαση σε στοιχεία πυρήνα που είναι διαθέσιμα μόνο σε λειτουργικές μονάδες με άδεια GPL, ακόμα κι αν η λειτουργική μονάδα έχει προηγουμένως εισαγάγει σύμβολα από την κατηγορία "gplonly". Το αντίστροφο κλείδωμα (εξαγωγή μόνο EXPORT_SYMBOL_GPL σε λειτουργικές μονάδες που εισήγαγαν το EXPORT_SYMBOL_GPL), το οποίο θα μπορούσε να διακόψει την εργασία των ιδιόκτητων προγραμμάτων οδήγησης, δεν εφαρμόζεται (μόνο η σημαία της αποκλειστικής μονάδας κληρονομείται, αλλά όχι οι δεσμεύσεις της GPL).
    • Προστέθηκε kcompactd υποστήριξη κινητήρα για προσυσκευασία σελίδων μνήμης στο παρασκήνιο για να αυξήσετε τον αριθμό των μεγάλων σελίδων μνήμης που είναι διαθέσιμες στον πυρήνα. Σύμφωνα με προκαταρκτικές εκτιμήσεις, η συσκευασία στο παρασκήνιο, με το κόστος των ελάχιστων γενικών εξόδων, μπορεί να μειώσει τις καθυστερήσεις κατά την κατανομή μεγάλων σελίδων μνήμης (τεράστια σελίδα) κατά 70-80 φορές σε σύγκριση με τον μηχανισμό συσκευασίας που χρησιμοποιήθηκε προηγουμένως, που λανσαρίστηκε όταν παραστεί ανάγκη (κατ' απαίτηση ). Για να ορίσετε τα όρια του εξωτερικού κατακερματισμού που θα παρέχει το kcompactd, προστέθηκε sysctl vm.compaction_proactiveness.
    • Προστέθηκε υποστήριξη για συμπίεση εικόνας πυρήνα χρησιμοποιώντας αλγόριθμο Zstandard (zstd).
    • Η υποστήριξη για οδηγίες επεξεργαστή έχει εφαρμοστεί για συστήματα x86 FSGSBASE, το οποίο σας επιτρέπει να διαβάζετε και να αλλάζετε τα περιεχόμενα των καταχωρητών FS/GS από το χώρο χρήστη. Στον πυρήνα, το FSGSBASE χρησιμοποιείται για την επιτάχυνση των λειτουργιών μεταγωγής περιβάλλοντος εξαλείφοντας τις περιττές λειτουργίες εγγραφής MSR για το GSBASE και στον χώρο χρήστη αποφεύγει τις περιττές κλήσεις συστήματος για αλλαγή FS/GS.
    • Προστέθηκε η παράμετρος "allow_writes" σάς επιτρέπει να απαγορεύσετε τις αλλαγές στους καταχωρητές MSR του επεξεργαστή από το χώρο χρήστη και να περιορίσετε την πρόσβαση στα περιεχόμενα αυτών των καταχωρητών για λειτουργίες ανάγνωσης, καθώς η αλλαγή του MSR μπορεί να οδηγήσει σε προβλήματα. Από προεπιλογή, η εγγραφή δεν είναι ακόμη απενεργοποιημένη και οι αλλαγές στο MSR αντικατοπτρίζονται στο αρχείο καταγραφής, αλλά στο μέλλον σχεδιάζεται η αλλαγή της προεπιλεγμένης πρόσβασης σε λειτουργία μόνο για ανάγνωση.
    • Στην ασύγχρονη διεπαφή I/O io_uring Προστέθηκε πλήρης υποστήριξη για ασύγχρονες λειτουργίες ανάγνωσης προσωρινής αποθήκευσης που δεν απαιτούν νήματα πυρήνα. Η υποστήριξη ηχογράφησης αναμένεται σε μελλοντική κυκλοφορία.
    • Στην προθεσμία προγραμματιστή I/O εφαρμόστηκε προγραμματισμός με βάση την ικανότητα, επιτρέποντας να λαμβάνουν σωστές αποφάσεις για ασύμμετρα συστήματα όπως συστήματα που βασίζονται σε ARM DynamIQ και big.LITTLE, που συνδυάζουν ισχυρούς και λιγότερο αποδοτικούς ενεργειακά αποδοτικούς πυρήνες CPU σε ένα τσιπ. Συγκεκριμένα, η νέα λειτουργία σάς επιτρέπει να αποφύγετε αναντιστοιχίες προγραμματισμού όταν ένας αργός πυρήνας CPU δεν έχει τους κατάλληλους πόρους για να ολοκληρώσει μια εργασία εγκαίρως.
    • Το μοντέλο κατανάλωσης ενέργειας στον πυρήνα (Energy Model frame) είναι τώρα περιγράφει όχι μόνο η συμπεριφορά κατανάλωσης ενέργειας της CPU, αλλά καλύπτει και περιφερειακές συσκευές.
    • Η κλήση συστήματος close_range() έχει υλοποιηθεί για να επιτρέψει σε μια διαδικασία να κλείσει μια ολόκληρη σειρά ανοιχτών περιγραφών αρχείων ταυτόχρονα.
    • Από την υλοποίηση της κονσόλας κειμένου και του προγράμματος οδήγησης fbcon ο κωδικός αφαιρέθηκε, το οποίο παρέχει τη δυνατότητα προγραμματισμού κύλισης κειμένου προς τα πίσω (CONFIG_VGACON_SOFT_SCROLLBACK) περισσότερο από την ποσότητα της μνήμης βίντεο σε λειτουργία κειμένου VGA.
    • Επανασχεδιασμένο αλγόριθμος για την ανάθεση προτεραιοτήτων σε νήματα εντός του πυρήνα. Η νέα επιλογή παρέχει καλύτερη συνέπεια σε όλα τα υποσυστήματα πυρήνα κατά την ανάθεση προτεραιοτήτων σε εργασίες σε πραγματικό χρόνο.
    • Προστέθηκε sysctl sched_uclamp_util_min_rt_default για να ελέγξετε τις ρυθμίσεις ενίσχυσης της CPU για εργασίες σε πραγματικό χρόνο (για παράδειγμα, μπορείτε να αλλάξετε τη συμπεριφορά των εργασιών σε πραγματικό χρόνο εν κινήσει για εξοικονόμηση ενέργειας μετά τη μετάβαση σε ισχύ μπαταρίας ή σε κινητά συστήματα).
    • Έχουν γίνει προετοιμασίες για την εφαρμογή υποστήριξης για την τεχνολογία Transparent Huge Pages στην προσωρινή μνήμη σελίδων.
    • Η μηχανή fanotify εφαρμόζει νέες σημαίες FAN_REPORT_NAME και FAN_REPORT_DIR_FID για να αναφέρει το γονικό όνομα και τις μοναδικές πληροφορίες FID όταν συμβαίνουν συμβάντα δημιουργίας, διαγραφής ή μετακίνησης για στοιχεία καταλόγου και αντικείμενα εκτός καταλόγου.
    • Για cgroups εφαρμόστηκε ένας νέος ελεγκτής μνήμης slab, ο οποίος είναι αξιοσημείωτος για τη μετακίνηση της λογιστικής πλακών από το επίπεδο σελίδας μνήμης στο επίπεδο αντικειμένου πυρήνα, που καθιστά δυνατή την κοινή χρήση σελίδων πλακών σε διαφορετικές cgroups, αντί να εκχωρούνται ξεχωριστές κρυφές μνήμες πλακών για κάθε cgroup. Η προτεινόμενη προσέγγιση καθιστά δυνατή την αύξηση της αποτελεσματικότητας της χρήσης slab, τη μείωση του μεγέθους της μνήμης που χρησιμοποιείται για την πλάκα κατά 30-45%, τη σημαντική μείωση της συνολικής κατανάλωσης μνήμης του πυρήνα και τη μείωση του κατακερματισμού της μνήμης.
    • Στο υποσύστημα ήχου ALSA и Στοίβα USB, σύμφωνα με που υιοθετήθηκε πρόσφατα συστάσεις για τη χρήση περιεκτικής ορολογίας στον πυρήνα του Linux· καθαρίστηκαν πολιτικά εσφαλμένοι όροι. Ο κωδικός έχει απαλειφθεί από τις λέξεις "slave", "master", "blacklist" και "whitelist".
  • Εικονικοποίηση και Ασφάλεια
    • Κατά την κατασκευή του πυρήνα χρησιμοποιώντας τον μεταγλωττιστή Clang εμφανίστηκε τη δυνατότητα ρύθμισης παραμέτρων (CONFIG_INIT_STACK_ALL_ZERO) αυτόματης προετοιμασίας στο μηδέν όλων των μεταβλητών που είναι αποθηκευμένες στη στοίβα (κατά τη δημιουργία, καθορίστε "-ftrivial-auto-var-init=zero").
    • Στο υποσύστημα seccomp, όταν χρησιμοποιείτε τη λειτουργία ελέγχου διεργασίας στο χώρο χρήστη, προστέθηκε ευκαιρία αντικατάσταση περιγραφέων αρχείων στην παρακολουθούμενη διαδικασία για την πλήρη εξομοίωση κλήσεων συστήματος που οδηγούν στη δημιουργία περιγραφέων αρχείων. Η λειτουργικότητα είναι περιζήτητη σε συστήματα μεμονωμένων κοντέινερ και σε υλοποιήσεις sandbox για το Chrome.
    • Για τις αρχιτεκτονικές xtensa και csky, έχει προστεθεί υποστήριξη για περιορισμό κλήσεων συστήματος χρησιμοποιώντας το υποσύστημα seccomp. Για το xtensa, η υποστήριξη για τον μηχανισμό ελέγχου εφαρμόζεται επιπλέον.
    • Προστέθηκε νέα σημαία δυνατότητας CAP_CHECKPOINT_RESTORE, η οποία σας επιτρέπει να παρέχετε πρόσβαση σε δυνατότητες που σχετίζονται με το πάγωμα και την επαναφορά της κατάστασης των διεργασιών χωρίς να μεταφέρετε πρόσθετα δικαιώματα.
    • Το GCC 11 παρέχει όλες τις δυνατότητες που χρειάζεστε
      εργαλείο εντοπισμού σφαλμάτων KCSAN (Kernel Concurrency Sanitizer), σχεδιασμένο για να ανιχνεύει δυναμικά τις συνθήκες αγώνα μέσα στον πυρήνα. Έτσι, το KCSAN μπορεί τώρα να χρησιμοποιηθεί με πυρήνες ενσωματωμένους στο GCC.

    • Για AMD Zen και νεότερα μοντέλα CPU προστέθηκε υποστήριξη για την τεχνολογία P2PDMA, η οποία σας επιτρέπει να χρησιμοποιείτε το DMA για άμεση μεταφορά δεδομένων μεταξύ της μνήμης δύο συσκευών που είναι συνδεδεμένες στο δίαυλο PCI.
    • Προστέθηκε μια λειτουργία στο dm-crypt που σας επιτρέπει να μειώσετε τον λανθάνοντα χρόνο εκτελώντας κρυπτογραφική επεξεργασία δεδομένων χωρίς να χρησιμοποιείτε ουρές εργασίας. Αυτή η λειτουργία είναι επίσης απαραίτητη για τη σωστή λειτουργία με χωρισμένος εις ζώνες μπλοκ συσκευών (συσκευές με περιοχές που πρέπει να γράφονται διαδοχικά, ενημερώνοντας ολόκληρη την ομάδα μπλοκ). Έχει γίνει δουλειά για την αύξηση της απόδοσης και τη μείωση του λανθάνοντος χρόνου στο dm-crypt.
    • Καταργήθηκε ο κώδικας για την υποστήριξη προσκεκλημένων 32 bit που εκτελούνται σε λειτουργία παραεικονικής λειτουργίας που εκτελούν τον hypervisor Xen. Οι χρήστες τέτοιων συστημάτων θα πρέπει να στραφούν στη χρήση πυρήνων 64-bit σε περιβάλλοντα επισκέπτη ή να χρησιμοποιούν λειτουργίες πλήρους (HVM) ή συνδυασμένου (PVH) εικονικοποίησης αντί της παραεικονικής (PV) για την εκτέλεση περιβαλλόντων.
  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Στο σύστημα αρχείων Btrfs εφαρμόστηκε μια επιλογή στήριξης "διάσωσης" που ενοποιεί την πρόσβαση σε όλες τις άλλες επιλογές ανάκτησης. Η υποστήριξη για τις επιλογές "alloc_start" και "subvolrootid" έχει καταργηθεί και η επιλογή "inode_cache" έχει καταργηθεί. Έχουν γίνει βελτιστοποιήσεις απόδοσης, επιταχύνοντας ιδιαίτερα αισθητά την εκτέλεση των λειτουργιών fsync(). Προστέθηκε τη δυνατότητα χρήσης εναλλακτικών τύπων αθροισμάτων ελέγχου εκτός του CRC32c.
    • Προστέθηκε τη δυνατότητα χρήσης ενσωματωμένης κρυπτογράφησης (Inline Encryption) σε συστήματα αρχείων ext4 και F2FS, για την ενεργοποίηση της οποίας παρέχεται η επιλογή προσάρτησης «inlinecrypt». Η λειτουργία ενσωματωμένης κρυπτογράφησης σάς επιτρέπει να χρησιμοποιείτε τους μηχανισμούς κρυπτογράφησης που είναι ενσωματωμένοι στον ελεγκτή μονάδας δίσκου, ο οποίος κρυπτογραφεί και αποκρυπτογραφεί με διαφάνεια την είσοδο/έξοδο.
    • Σε XFS εξασφαλισμένη επαναφορά inode (flush) σε εντελώς ασύγχρονη λειτουργία που δεν εμποδίζει τις διεργασίες κατά την εκτέλεση μιας λειτουργίας καθαρισμού μνήμης. Επιλύθηκε ένα μακροχρόνιο πρόβλημα ορίου που είχε ως αποτέλεσμα την εσφαλμένη παρακολούθηση των προειδοποιήσεων ορίου μηδενικού ορίου και inode. Ενοποιημένη υλοποίηση υποστήριξης DAX για ext4 και xfs.
    • Στο Ext4 εφαρμόστηκε προφόρτωση bitmaps κατανομής μπλοκ. Σε συνδυασμό με τον περιορισμό της σάρωσης μη αρχικοποιημένων ομάδων, η βελτιστοποίηση μείωσε τον χρόνο που απαιτείται για την τοποθέτηση πολύ μεγάλων κατατμήσεων.
    • Στο F2FS προστέθηκε ioctl F2FS_IOC_SEC_TRIM_FILE, το οποίο σας επιτρέπει να χρησιμοποιείτε τις εντολές TRIM/απόρριψη για να επαναφέρετε φυσικά καθορισμένα δεδομένα σε ένα αρχείο, για παράδειγμα, για να διαγράψετε κλειδιά πρόσβασης χωρίς να αφήσετε υπολειπόμενα δεδομένα στη μονάδα δίσκου.
      Στο F2FS επίσης προστέθηκε νέα λειτουργία συλλογής απορριμμάτων GC_URGENT_LOW, η οποία λειτουργεί πιο επιθετικά εξαλείφοντας ορισμένους ελέγχους για την ύπαρξη σε κατάσταση αδράνειας πριν από την εκκίνηση του συλλέκτη απορριμμάτων.

    • Στην bcache, το bucket_size για τις εκτάσεις έχει αυξηθεί από 16 σε 32 bit στο πλαίσιο προετοιμασίας για την ενεργοποίηση της κρυφής μνήμης συσκευών με ζώνες.
    • Η δυνατότητα χρήσης ενσωματωμένης κρυπτογράφησης που βασίζεται σε ενσωματωμένη κρυπτογράφηση υλικού που παρέχεται από ελεγκτές UFS έχει προστεθεί στο υποσύστημα SCSI (Παγκόσμια αποθήκευση Flash).
    • Προστέθηκε μια νέα παράμετρος γραμμής εντολών πυρήνα "debugfs", η οποία σας επιτρέπει να ελέγχετε τη διαθεσιμότητα του ψευδο-FS με το ίδιο όνομα.
    • Το πρόγραμμα-πελάτης NFSv4.2 παρέχει υποστήριξη για εκτεταμένα χαρακτηριστικά αρχείου (xattr).
    • Σε dm-σκόνη προστέθηκε διεπαφή για την ταυτόχρονη εμφάνιση μιας λίστας με όλα τα εντοπισμένα κακά μπλοκ στο δίσκο (“dmsetup message dust1 0 listbadblocks”).
    • Για md/raid5, η παράμετρος /sys/block/md1/md/stripe_size έχει προστεθεί για τη διαμόρφωση του μεγέθους του μπλοκ STRIPE.
    • Για συσκευές αποθήκευσης NVMe προστέθηκε υποστήριξη για εντολές ζωνών μονάδας δίσκου (ZNS, NVM Express Zoned Namespace), που σας επιτρέπει να διαιρέσετε τον αποθηκευτικό χώρο σε ζώνες που αποτελούν ομάδες μπλοκ για πιο ολοκληρωμένο έλεγχο της τοποθέτησης δεδομένων στη μονάδα δίσκου.
  • Υποσύστημα δικτύου
    • Στο Netfilter προστέθηκε τη δυνατότητα απόρριψης πακέτων στο στάδιο πριν από τον έλεγχο δρομολόγησης (η έκφραση REJECT μπορεί πλέον να χρησιμοποιηθεί όχι μόνο στις αλυσίδες INPUT, FORWARD και OUTPUT, αλλά και στο στάδιο PREROUTING για icmp και tcp).
    • Σε nftables προστέθηκε τη δυνατότητα ελέγχου συμβάντων που σχετίζονται με αλλαγές διαμόρφωσης.
    • Σε nftables στο netlink API προστέθηκε υποστήριξη για ανώνυμες αλυσίδες, το όνομα των οποίων εκχωρείται δυναμικά από τον πυρήνα. Όταν διαγράφετε έναν κανόνα που σχετίζεται με μια ανώνυμη αλυσίδα, η ίδια η αλυσίδα διαγράφεται αυτόματα.
    • Το BPF προσθέτει υποστήριξη για επαναλήπτες για τη διέλευση, το φιλτράρισμα και την τροποποίηση στοιχείων συσχετιστικών πινάκων (χάρτες) χωρίς αντιγραφή δεδομένων στο χώρο χρήστη. Οι επαναλήπτες μπορούν να χρησιμοποιηθούν για υποδοχές TCP και UDP, επιτρέποντας στα προγράμματα BPF να επαναλαμβάνουν λίστες ανοιχτών υποδοχών και να εξάγουν τις πληροφορίες που χρειάζονται από αυτές.
    • Προστέθηκε ένας νέος τύπος προγράμματος BPF BPF_PROG_TYPE_SK_LOOKUP, το οποίο εκκινείται όταν ο πυρήνας αναζητά μια κατάλληλη υποδοχή ακρόασης για μια εισερχόμενη σύνδεση. Χρησιμοποιώντας ένα πρόγραμμα BPF όπως αυτό, μπορείτε να δημιουργήσετε χειριστές που λαμβάνουν αποφάσεις σχετικά με την υποδοχή με την οποία πρέπει να συσχετιστεί μια σύνδεση, χωρίς να περιορίζονται από την κλήση συστήματος bind(). Για παράδειγμα, μπορείτε να συσχετίσετε μια μεμονωμένη υποδοχή με μια σειρά από διευθύνσεις ή θύρες. Επιπλέον, η υποστήριξη για τη σημαία SO_KEEPALIVE έχει προστεθεί στη bpf_setsockopt() και έχει υλοποιηθεί η δυνατότητα εγκατάστασης χειριστών BPF_CGROUP_INET_SOCK_RELEASE, που καλούνται όταν απελευθερωθεί η υποδοχή.
    • Υλοποιήθηκε υποστήριξη πρωτοκόλλου PRP (Parallel Redundancy Protocol), το οποίο επιτρέπει την εναλλαγή μέσω Ethernet σε εφεδρικό κανάλι, διαφανές για εφαρμογές, σε περίπτωση αστοχίας οποιωνδήποτε στοιχείων δικτύου.
    • Στοίβα mac80211 προστέθηκε υποστήριξη για διαπραγμάτευση καναλιών τεσσάρων σταδίων WPA/WPA2-PSK σε λειτουργία σημείου πρόσβασης.
    • Προστέθηκε η δυνατότητα εναλλαγής του χρονοπρογραμματιστή qdisc (discipline ουράς) για χρήση του αλγόριθμου διαχείρισης ουράς δικτύου FQ-PIE (Flow Queue PIE) από προεπιλογή, με στόχο τη μείωση του αρνητικού αντίκτυπου της προσωρινής αποθήκευσης ενδιάμεσων πακέτων στον εξοπλισμό δικτύου αιχμής (bufferbloat) σε δίκτυα με καλωδιακά μόντεμ.
    • Νέες δυνατότητες έχουν προστεθεί στο MPTCP (MultiPath TCP), επεκτάσεις του πρωτοκόλλου TCP για την οργάνωση της λειτουργίας μιας σύνδεσης TCP με την παράδοση πακέτων ταυτόχρονα σε διάφορες διαδρομές μέσω διαφορετικών διεπαφών δικτύου που σχετίζονται με διαφορετικές διευθύνσεις IP. Προστέθηκε υποστήριξη για syn cookie, DATA_FIN, αυτόματο συντονισμό buffer, διαγνωστικά υποδοχών και σημαίες REUSEADDR, REUSEPORT και V6ONLY στο setsockopt.
    • Για εικονικούς πίνακες δρομολόγησης VRF (Virtual Routing and Forwarding), οι οποίοι επιτρέπουν την οργάνωση της λειτουργίας πολλών τομέων δρομολόγησης σε ένα σύστημα, έχει εφαρμοστεί η «αυστηρή» λειτουργία. Σε αυτήν τη λειτουργία, ένας εικονικός πίνακας μπορεί να συσχετιστεί μόνο με έναν πίνακα δρομολόγησης που δεν χρησιμοποιείται σε άλλους εικονικούς πίνακες.
    • Το πρόγραμμα οδήγησης ασύρματης σύνδεσης είναι ath11k προστέθηκε υποστήριξη συχνότητας 6 GHz και φασματική σάρωση.
  • Оборудование
    • Καταργήθηκε ο κώδικας για την υποστήριξη της αρχιτεκτονικής UniCore, που αναπτύχθηκε στο Κέντρο Μικροεπεξεργαστών του Πανεπιστημίου του Πεκίνου και συμπεριλήφθηκε στον πυρήνα του Linux το 2011. Αυτή η αρχιτεκτονική δεν έχει συντηρηθεί από το 2014 και δεν έχει υποστήριξη στο GCC.
    • Έχει υλοποιηθεί υποστήριξη για την αρχιτεκτονική RISC-V kcov (διεπαφή εντοπισμού σφαλμάτων για ανάλυση κάλυψης κώδικα πυρήνα), kmemleak (σύστημα ανίχνευσης διαρροής μνήμης), προστασία στοίβας, σημάδια άλματος και λειτουργίες χωρίς τσιμπήματα (πολλαπλές εργασίες ανεξάρτητα από σήματα χρονοδιακόπτη).
    • Για την αρχιτεκτονική του PowerPC, έχει εφαρμοστεί υποστήριξη για ουρές spinlock, γεγονός που έχει βελτιώσει σημαντικά την απόδοση σε καταστάσεις σύγκρουσης κλειδαριών.
    • Για τις αρχιτεκτονικές ARM και ARM64, ο μηχανισμός ρύθμισης συχνότητας επεξεργαστή είναι ενεργοποιημένος από προεπιλογή χρονοδιάγραμμα (cpufreq guvernator), που χρησιμοποιεί απευθείας πληροφορίες από τον προγραμματιστή εργασιών για να αποφασίσει για την αλλαγή της συχνότητας και μπορεί να έχει άμεση πρόσβαση στα προγράμματα οδήγησης cpufreq για να αλλάξει γρήγορα τη συχνότητα, προσαρμόζοντας άμεσα τις παραμέτρους λειτουργίας της CPU στο τρέχον φορτίο.
    • Το πρόγραμμα οδήγησης i915 DRM για κάρτες γραφικών Intel περιλαμβάνει υποστήριξη για τσιπ που βασίζονται σε μικροαρχιτεκτονική Λίμνη πυραύλων και προστέθηκε αρχική υποστήριξη για διακριτές κάρτες Intel Xe DG1.
    • Το πρόγραμμα οδήγησης Amdgpu πρόσθεσε αρχική υποστήριξη για GPU της AMD Navi 21 (Navy Flounder) και Navi 22 (Sienna Cichlid). Προστέθηκε υποστήριξη για μηχανές επιτάχυνσης κωδικοποίησης και αποκωδικοποίησης βίντεο UVD/VCE για τη GPU των Νοτίων Νήσων (Radeon HD 7000).
      Προστέθηκε μια ιδιότητα για περιστροφή της οθόνης κατά 90, 180 ή 270 μοίρες.

      Είναι ενδιαφέρον το πρόγραμμα οδήγησης για την AMD GPU είναι το μεγαλύτερο πρόγραμμα οδήγησης στον πυρήνα - έχει περίπου 2.71 εκατομμύρια γραμμές κώδικα, που είναι περίπου το 10% του συνολικού μεγέθους του πυρήνα (27.81 εκατομμύρια γραμμές). Ταυτόχρονα, 1.79 εκατομμύρια γραμμές υπολογίζονται από αρχεία κεφαλίδας που δημιουργούνται αυτόματα με δεδομένα για καταχωρητές GPU και ο κωδικός C είναι 366 χιλιάδες γραμμές (για σύγκριση, το πρόγραμμα οδήγησης Intel i915 περιλαμβάνει 209 χιλιάδες γραμμές και το Nouveau - 149 χιλιάδες).

    • Πρόγραμμα οδήγησης σε Nouveau προστέθηκε υποστήριξη για έλεγχο ακεραιότητας καρέ-καρέ χρησιμοποιώντας CRC (Cyclic Redundancy Checks) σε μηχανές οθόνης NVIDIA GPU. Η υλοποίηση βασίζεται στην τεκμηρίωση που παρέχεται από την NVIDIA.
    • Προστέθηκαν προγράμματα οδήγησης για πάνελ LCD: Frida FRD350H54004, KOE TX26D202VM0BWA, CDTech S070PWS19HP-FC21, CDTech S070SWV29HG-DC44, Tianma TM070JVHG33 και XBD599da.
    • Το υποσύστημα ήχου ALSA υποστηρίζει Intel Silent Stream (λειτουργία συνεχούς τροφοδοσίας για εξωτερικές συσκευές HDMI για την εξάλειψη της καθυστέρησης κατά την έναρξη της αναπαραγωγής) και νέα συσκευή για τον έλεγχο του φωτισμού των κουμπιών ενεργοποίησης και σίγασης του μικροφώνου, καθώς και πρόσθετη υποστήριξη για νέο εξοπλισμό, συμπεριλαμβανομένου ενός ελεγκτή Longson 7A1000.
    • Προστέθηκε υποστήριξη για πλακέτες, συσκευές και πλατφόρμες ARM: Pine64 PinePhone v1.2, Lenovo IdeaPad Duet 10.1, ASUS Google Nexus 7, Acer Iconia Tab A500, Qualcomm Snapdragon SDM630 (χρησιμοποιείται σε Sony Xperia 10, X10A, X2, Plus Ultra), Jetson Xavier NX, Amlogic WeTek Core2, Aspeed EthanolX, πέντε νέες πλακέτες βασισμένες στο NXP i.MX2, MikroTik RouterBoard 2, Xiaomi Libra, Microsoft Lumia 6, Sony Xperia Z3011, MStar, Microchip Keep Bay, Intel v950, Renesas RZ/G5H.

Ταυτόχρονα, το Ίδρυμα Ελεύθερου Λογισμικού της Λατινικής Αμερικής σχηματίστηκε
επιλογή εντελώς δωρεάν πυρήνας 5.9 - Linux-libre 5.9-gnu, απαλλαγμένα από στοιχεία υλικολογισμικού και προγράμματος οδήγησης που περιέχουν μη ελεύθερα στοιχεία ή τμήματα κώδικα, το πεδίο εφαρμογής των οποίων περιορίζεται από τον κατασκευαστή. Η νέα έκδοση απενεργοποιεί τη φόρτωση blob στα προγράμματα οδήγησης για WiFi rtw8821c και SoC MediaTek mt8183. Ενημερωμένος κώδικας καθαρισμού blob σε προγράμματα οδήγησης και υποσυστήματα οθόνης αφής Habanalabs, Wilc1000, amdgpu, mt7615, i915 CSR, Mellanox mlxsw (Spectrum3), r8169 (rtl8125b-2) και x86.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο