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

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds εισήχθη απελευθέρωση πυρήνα Linux 5.7. Μεταξύ των πιο αξιοσημείωτων αλλαγών: μια νέα εφαρμογή του συστήματος αρχείων exFAT, μια μονάδα bareudp για τη δημιουργία σηράγγων UDP, προστασία βάσει ελέγχου ταυτότητας δείκτη για το ARM64, δυνατότητα σύνδεσης προγραμμάτων BPF σε χειριστές LSM, νέα υλοποίηση του Curve25519, διαχωρισμός ανιχνευτής κλειδώματος, συμβατότητα BPF με PREEMPT_RT, κατάργηση του ορίου στο μέγεθος γραμμής των 80 χαρακτήρων στον κώδικα, λαμβάνοντας υπόψη τους δείκτες θερμοκρασίας της CPU στον προγραμματιστή εργασιών, τη δυνατότητα χρήσης clone() για την αναπαραγωγή διεργασιών σε άλλη cgroup, προστασία κατά της εγγραφής στη μνήμη χρησιμοποιώντας userfaultfd.

Η νέα έκδοση περιλαμβάνει 15033 διορθώσεις από 1961 προγραμματιστές,
μέγεθος ενημέρωσης κώδικα - 39 MB (οι αλλαγές επηρέασαν 11590 αρχεία, προστέθηκαν 570560 γραμμές κώδικα,
Καταργήθηκαν 297401 σειρές). Περίπου το 41% του συνόλου που παρουσιάζεται στο 5.7
Οι αλλαγές σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 16% των αλλαγών είναι
στάση απέναντι στην ενημέρωση κώδικα που αφορά τις αρχιτεκτονικές υλικού, 13%
σχετίζεται με τη στοίβα δικτύου, 4% με συστήματα αρχείων και 4% με εσωτερικά
υποσυστήματα πυρήνα.

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

  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Προστέθηκε νέα εφαρμογή προγράμματος οδήγησης exFAT, ιδρύθηκε το βασίζεται στην τρέχουσα βάση κώδικα «sdfat» (2.x) που αναπτύχθηκε από τη Samsung για τα smartphone Android της. Το πρόγραμμα οδήγησης που προστέθηκε προηγουμένως στον πυρήνα βασιζόταν στον κληρονομικό κώδικα της Samsung (έκδοση 1.2.9) και ήταν περίπου 10% πίσω από το νέο πρόγραμμα οδήγησης σε απόδοση. Ας θυμηθούμε ότι η προσθήκη υποστήριξης exFAT στον πυρήνα έγινε δυνατή μετά τη Microsoft опубликовала δημόσιες προδιαγραφές και κατέστησαν διαθέσιμες πατέντες exFAT για χρήση χωρίς δικαιώματα στο Linux.
    • Το Btrfs υλοποιεί μια νέα εντολή ioctl() - BTRFS_IOC_SNAP_DESTROY_V2, η οποία σας επιτρέπει να διαγράψετε μια υποενότητα με βάση το αναγνωριστικό της. Παρέχεται πλήρης υποστήριξη για κλωνοποίηση ενσωματωμένων εκτάσεων. Ο αριθμός των σημείων ακύρωσης για τις λειτουργίες αναδιανομής έχει επεκταθεί, γεγονός που μείωσε τις μεγάλες αναμονές κατά την εκτέλεση της εντολής «ακύρωση ισορροπίας». Ο προσδιορισμός των backlinks σε εκτάσεις έχει επιταχυνθεί (για παράδειγμα, ο χρόνος εκτέλεσης του δοκιμαστικού σεναρίου έχει μειωθεί από μία ώρα σε αρκετά λεπτά). Προστέθηκε η δυνατότητα επισύναψης εκτάσεων αρχείου σε κάθε inode ενός δέντρου. Το σχήμα αποκλεισμού που χρησιμοποιείται κατά την εγγραφή σε υποδιαιρέσεις και κατά την εξαίρεση του NOCOW έχει επανασχεδιαστεί. Βελτιωμένη απόδοση της εκτέλεσης fsync για εύρη.
    • Το XFS έχει βελτιώσει τον έλεγχο μεταδεδομένων και το fsck για ενεργά διαμερίσματα. Έχει προταθεί μια βιβλιοθήκη για την αναδόμηση δομών btree, η οποία στο μέλλον θα χρησιμοποιηθεί για την εκ νέου επεξεργασία του xfs_repair και την υλοποίηση της δυνατότητας ανάκτησης χωρίς αποπροσάρτηση του διαμερίσματος.
    • Στο CIFS προστέθηκε πειραματική υποστήριξη για την τοποθέτηση ενός διαμερίσματος ανταλλαγής σε αποθηκευτικούς χώρους SMB3. Υλοποιήθηκαν επεκτάσεις POSIX στο readdir, που ορίζονται στην προδιαγραφή SMB3.1.1. Βελτιωμένη απόδοση εγγραφής για σελίδες 64 KB όταν είναι ενεργοποιημένη η προσωρινή μνήμη=αυστηρή λειτουργία και χρησιμοποιούνται οι εκδόσεις πρωτοκόλλου 2.1+.
    • Το FS EXT4 έχει μεταφερθεί από το bmap και το iopoll στη χρήση του iomap.
    • Το F2FS παρέχει προαιρετική υποστήριξη για συμπίεση δεδομένων χρησιμοποιώντας τον αλγόριθμο zstd. Από προεπιλογή, ο αλγόριθμος LZ4 χρησιμοποιείται για συμπίεση. Προστέθηκε υποστήριξη για την εντολή "chattr -c commit". Παρέχεται ένδειξη χρόνου τοποθέτησης. Προστέθηκε ioctl F2FS_IOC_GET_COMPRESS_BLOCKS για να λάβετε πληροφορίες σχετικά με τον αριθμό των συμπιεσμένων μπλοκ. Προστέθηκε έξοδος δεδομένων συμπίεσης μέσω statx.
    • Το σύστημα αρχείων Ceph έχει προσθέσει τη δυνατότητα τοπικής εκτέλεσης λειτουργιών δημιουργίας και διαγραφής αρχείων (αποσύνδεση) χωρίς να περιμένει απάντηση από τον διακομιστή (εργάζεται σε ασύγχρονη λειτουργία). Η αλλαγή, για παράδειγμα, μπορεί να βελτιώσει σημαντικά την απόδοση κατά την εκτέλεση του βοηθητικού προγράμματος rsync.
    • Η δυνατότητα χρήσης virtiofs ως σύστημα αρχείων ανώτατου επιπέδου έχει προστεθεί στο OVERLAYFS.
    • Ξαναγραμμένο Ο κώδικας διέλευσης διαδρομής στο VFS, ο κώδικας ανάλυσης συμβολικών συνδέσμων έχει επεξεργαστεί εκ νέου και η διέλευση σημείου προσάρτησης έχει ενοποιηθεί.
    • Στο υποσύστημα scsi σε μη προνομιούχους χρήστες επιτρέπεται εκτέλεση εντολών ZBC.
    • Στο dm_writecache εφαρμόστηκε τη δυνατότητα σταδιακής εκκαθάρισης της προσωρινής μνήμης με βάση την παράμετρο max_age, η οποία ορίζει τη μέγιστη διάρκεια ζωής ενός μπλοκ.
    • Σε dm_integrity προστέθηκε υποστήριξη για τη λειτουργία "απόρριψη".
    • Σε null_blk προστέθηκε υποστήριξη για αντικατάσταση σφαλμάτων για προσομοίωση αστοχιών κατά τη διάρκεια της δοκιμής.
    • Προστέθηκε δυνατότητα αποστολής ειδοποιήσεων udev σχετικά με αλλαγές μεγέθους συσκευής αποκλεισμού.
  • Υποσύστημα δικτύου
    • Περιλαμβάνεται φίλτρο δικτύου αλλαγές, επιταχύνοντας σημαντικά την επεξεργασία μεγάλων λιστών αντιστοίχισης (σύνολα nftables), που απαιτούν έλεγχο ενός συνδυασμού υποδικτύων, θυρών δικτύου, πρωτοκόλλων και διευθύνσεων MAC.
      Βελτιστοποιήσεις μπήκε στη λειτουργική μονάδα nft_set_pipapo (Pile PAcket POlicies), η οποία λύνει το πρόβλημα της αντιστοίχισης των περιεχομένων ενός πακέτου με αυθαίρετα εύρη καταστάσεων πεδίου που χρησιμοποιούνται σε κανόνες φιλτραρίσματος, όπως περιοχές IP και θύρας δικτύου (nft_set_rbtree και nft_set_hash χειρίζονται αντιστοίχιση διαστήματος και άμεση αντανάκλαση τιμών ). Η έκδοση του pipapo διανυσματοποιημένη χρησιμοποιώντας οδηγίες AVX256 2-bit σε ένα σύστημα με επεξεργαστή AMD Epyc 7402 έδειξε αύξηση απόδοσης 420% κατά την ανάλυση 30 χιλιάδων εγγραφών, συμπεριλαμβανομένων συνδυασμών θύρας-πρωτοκόλλου. Η αύξηση κατά τη σύγκριση ενός συνδυασμού ενός υποδικτύου και ενός αριθμού θύρας κατά την ανάλυση 1000 εγγραφών ήταν 87% για το IPv4 και 128% για το IPv6.

    • Προστέθηκε Η μονάδα bareudp, η οποία σας επιτρέπει να ενσωματώσετε διάφορα πρωτόκολλα L3, όπως MPLS, IP και NSH, σε μια σήραγγα UDP.
    • Συνεχίστηκε η ενσωμάτωση των στοιχείων MPTCP (MultiPath TCP), μια επέκταση του πρωτοκόλλου TCP για την οργάνωση της λειτουργίας μιας σύνδεσης TCP με την παράδοση πακέτων ταυτόχρονα σε διάφορες διαδρομές μέσω διαφορετικών διεπαφών δικτύου που συνδέονται με διαφορετικές διευθύνσεις IP.
    • Προστέθηκε υποστήριξη για μηχανισμούς επιτάχυνσης υλικού για την ενθυλάκωση πλαισίων Ethernet στο 802.11 (Wi-Fi).
    • Όταν μετακινείτε μια συσκευή από έναν χώρο ονομάτων δικτύου σε έναν άλλο, προσαρμόζονται τα δικαιώματα πρόσβασης και η ιδιοκτησία των αντίστοιχων αρχείων στο sysfs.
    • Προστέθηκε η δυνατότητα χρήσης της επισήμανσης SO_BINDTODEVICE για χρήστες που δεν είναι root.
    • Το τρίτο μέρος των ενημερώσεων κώδικα έχει γίνει αποδεκτό, μετατρέποντας την εργαλειοθήκη ethtool από ioctl() σε χρήση της διεπαφής netlink. Η νέα διεπαφή διευκολύνει την προσθήκη επεκτάσεων, βελτιώνει τον χειρισμό σφαλμάτων, επιτρέπει την αποστολή ειδοποιήσεων όταν αλλάζει κατάσταση, απλοποιεί την αλληλεπίδραση μεταξύ του πυρήνα και του χώρου χρήστη και μειώνει τον αριθμό των ονομασμένων λιστών που πρέπει να συγχρονιστούν.
    • Προστέθηκε η δυνατότητα χρήσης ειδικών επιταχυντών υλικού για την εκτέλεση λειτουργιών παρακολούθησης σύνδεσης.
    • Στο Netfilter προστέθηκε ένα άγκιστρο για τη σύνδεση ταξινομητών εξερχόμενων πακέτων (έξοδος), που συμπλήρωνε το προηγούμενο άγκιστρο για εισερχόμενα πακέτα (είσοδος).
  • Εικονικοποίηση και Ασφάλεια
    • Προστέθηκε εφαρμογή υλικού ελέγχου ταυτότητας δείκτη (Έλεγχος ταυτότητας δείκτη), το οποίο χρησιμοποιεί εξειδικευμένες οδηγίες CPU ARM64 για προστασία από επιθέσεις χρησιμοποιώντας τεχνικές προγραμματισμού προσανατολισμένου στην επιστροφή (ROP), στις οποίες ο εισβολέας δεν προσπαθεί να τοποθετήσει τον κώδικά του στη μνήμη, αλλά λειτουργεί σε κομμάτια εντολών μηχανής που είναι ήδη διαθέσιμα σε φορτωμένες βιβλιοθήκες, τελειώνοντας με μια οδηγία επιστροφής ελέγχου. Η ασφάλεια βασίζεται στη χρήση ψηφιακών υπογραφών για την επαλήθευση των διευθύνσεων επιστροφής σε επίπεδο πυρήνα. Η υπογραφή αποθηκεύεται στα αχρησιμοποίητα κορυφαία bit του ίδιου του δείκτη. Σε αντίθεση με τις υλοποιήσεις λογισμικού, η δημιουργία και η επαλήθευση των ψηφιακών υπογραφών πραγματοποιείται χρησιμοποιώντας ειδικές οδηγίες CPU.
    • Προστέθηκε τη δυνατότητα προστασίας μιας περιοχής μνήμης από την εγγραφή χρησιμοποιώντας την κλήση συστήματος userfaultfd(), που έχει σχεδιαστεί για να χειρίζεται σφάλματα σελίδας (πρόσβαση σε σελίδες μνήμης που δεν έχουν εκχωρηθεί) στο χώρο χρήστη. Η ιδέα είναι να χρησιμοποιηθεί η userfaultfd() τόσο για τον εντοπισμό παραβιάσεων πρόσβασης σε σελίδες που έχουν επισημανθεί ως προστατευμένες από εγγραφή όσο και για την κλήση ενός χειριστή που μπορεί να ανταποκριθεί σε τέτοιες προσπάθειες εγγραφής (για παράδειγμα, για να χειριστεί αλλαγές κατά τη δημιουργία ζωντανών στιγμιότυπων διεργασιών που εκτελούνται, κατάσταση αποτύπωση κατά την απόρριψη μνήμης στο δίσκο, την εφαρμογή κοινής μνήμης, την παρακολούθηση αλλαγών στη μνήμη). Λειτουργικότητα ισοδύναμος χρησιμοποιώντας mprotect() σε συνδυασμό με τον χειριστή σήματος SIGSEGV, αλλά λειτουργεί αισθητά πιο γρήγορα.
    • Το SELinux έχει καταργήσει την παράμετρο "checkreqprot", η οποία σας επιτρέπει να απενεργοποιείτε τους ελέγχους προστασίας μνήμης κατά την επεξεργασία κανόνων (επιτρέποντας τη χρήση εκτελέσιμων περιοχών μνήμης, ανεξάρτητα από τους κανόνες που καθορίζονται στους κανόνες). Οι συμβολικοί σύνδεσμοι Kernfs επιτρέπεται να κληρονομούν το περιβάλλον των γονικών καταλόγων τους.
    • Η δομή περιλαμβάνεται μονάδα KRSI, το οποίο σας επιτρέπει να προσαρτήσετε προγράμματα BPF σε οποιοδήποτε άγκιστρο LSM στον πυρήνα. Η αλλαγή σάς επιτρέπει να δημιουργείτε μονάδες LSM (Linux Security Module) με τη μορφή προγραμμάτων BPF για την επίλυση προβλημάτων ελέγχου και υποχρεωτικού ελέγχου πρόσβασης.
    • Διεξήχθη Βελτιστοποιεί την απόδοση του /dev/random συλλέγοντας τιμές CRNG αντί να καλεί μεμονωμένα εντολές RNG. Βελτιωμένη απόδοση των getrandom και /dev/random σε συστήματα ARM64 που παρέχουν οδηγίες RNG.
    • Υλοποίηση ελλειπτικής καμπύλης Curve25519 αντικαταστάθηκε για την επιλογή από τη βιβλιοθήκη HACL, για το οποίο κρατούμενος μαθηματική απόδειξη επίσημης επαλήθευσης αξιοπιστίας.
    • Προστέθηκε μηχανισμός ενημέρωσης για σελίδες ελεύθερης μνήμης. Χρησιμοποιώντας αυτόν τον μηχανισμό, τα συστήματα φιλοξενούμενων μπορούν να μεταδώσουν πληροφορίες σχετικά με σελίδες που δεν χρησιμοποιούνται πλέον στο κεντρικό σύστημα και ο κεντρικός υπολογιστής μπορεί να πάρει πίσω τα δεδομένα της σελίδας.
    • Σε vfio/pci προστέθηκε υποστήριξη για SR-IOV (Single-Root I/O Virtualization).
  • Υπηρεσίες μνήμης και συστήματος
    • Από 80 έως 100 χαρακτήρες αυξήθηκε περιορισμός στο μέγιστο μήκος γραμμής στα κείμενα πηγής. Ταυτόχρονα, συνιστάται στους προγραμματιστές να παραμείνουν εντός 80 χαρακτήρων ανά γραμμή, αλλά αυτό δεν είναι πλέον αυστηρό όριο. Επιπλέον, η υπέρβαση του ορίου μεγέθους γραμμής θα έχει πλέον ως αποτέλεσμα μια προειδοποίηση κατασκευής μόνο εάν η επιδιόρθωση ελέγχου εκτελείται με την επιλογή «--strict». Η αλλαγή θα επιτρέψει να μην αποσπάται η προσοχή των προγραμματιστών χειρισμός με κενά και αισθανθείτε πιο ελεύθεροι κατά την ευθυγράμμιση κώδικα, καθώς και θα αποτρέψει υπερβολικό σπάσιμο γραμμής, ενοχλητικό κατανόηση και αναζήτηση κώδικα.
    • Προστέθηκε υποστήριξη για λειτουργία μικτής εκκίνησης EFI, η οποία σας επιτρέπει να φορτώσετε έναν πυρήνα 64-bit από υλικολογισμικό 32-bit που εκτελείται σε CPU 64-bit χωρίς τη χρήση εξειδικευμένου φορτωτή εκκίνησης.
    • Περιλαμβάνεται σύστημα αναγνώρισης και εντοπισμού σφαλμάτων διαχωρισμένων κλειδαριών (“σπαστό κλείδωμα"), το οποίο συμβαίνει κατά την πρόσβαση σε μη ευθυγραμμισμένα δεδομένα στη μνήμη λόγω του γεγονότος ότι κατά την εκτέλεση μιας ατομικής εντολής, τα δεδομένα διασχίζουν δύο γραμμές κρυφής μνήμης CPU. Αυτός ο αποκλεισμός οδηγεί σε σημαντική επιτυχία απόδοσης (1000 κύκλοι πιο αργά από μια ατομική λειτουργία σε δεδομένα που εμπίπτουν σε μία γραμμή κρυφής μνήμης). Ανάλογα με την παράμετρο εκκίνησης "split_lock_detect", ο πυρήνας μπορεί να ανιχνεύσει τέτοιες κλειδαριές εν κινήσει και να εκδώσει προειδοποιήσεις ή να στείλει ένα σήμα SIGBUS στην εφαρμογή που προκαλεί το κλείδωμα.
    • Ο προγραμματιστής εργασιών παρέχει παρακολούθηση των αισθητήρων θερμοκρασίας (Θερμική Πίεση) και υλοποιείται λαμβάνοντας υπόψη την υπερθέρμανση κατά την τοποθέτηση εργασιών. Χρησιμοποιώντας τα παρεχόμενα στατιστικά στοιχεία, ο θερμικός ρυθμιστής μπορεί να προσαρμόσει τη μέγιστη συχνότητα CPU όταν υπερθερμαίνεται και ο προγραμματιστής εργασιών λαμβάνει πλέον υπόψη τη μείωση της υπολογιστικής ισχύος λόγω μιας τέτοιας μείωσης στη συχνότητα κατά τον προγραμματισμό εργασιών για εκτέλεση (προηγουμένως, ο προγραμματιστής ανταποκρινόταν στις αλλαγές σε συχνότητα με κάποια καθυστέρηση, για κάποιο χρονικό διάστημα λαμβάνοντας αποφάσεις βασισμένες σε διογκωμένες υποθέσεις σχετικά με τους διαθέσιμους υπολογιστικούς πόρους).
    • Ο προγραμματιστής εργασιών περιλαμβάνει αμετάβλητοι δείκτες παρακολούθηση φορτίου, επιτρέποντάς σας να εκτιμήσετε σωστά το φορτίο, ανεξάρτητα από την τρέχουσα συχνότητα λειτουργίας της CPU. Η αλλαγή σάς επιτρέπει να προβλέψετε με μεγαλύτερη ακρίβεια τη συμπεριφορά των εργασιών υπό συνθήκες δυναμικών αλλαγών στην τάση και στη συχνότητα της CPU. Για παράδειγμα, μια εργασία που κατανάλωνε το 1/3 των πόρων της CPU στα 1000 MHz θα καταναλώσει τα 2/3 των πόρων όταν η συχνότητα πέσει στα 500 MHz, κάτι που προηγουμένως δημιουργούσε μια λανθασμένη υπόθεση ότι λειτουργούσε με πλήρη χωρητικότητα (δηλ. εμφανίστηκαν εργασίες μεγαλύτερο στον χρονοπρογραμματιστή μόνο μειώνοντας τη συχνότητα, γεγονός που οδήγησε στη λήψη εσφαλμένων αποφάσεων στον κυβερνήτη schedutil cpufreq).
    • Το πρόγραμμα οδήγησης Intel P-state, το οποίο είναι υπεύθυνο για την επιλογή τρόπων απόδοσης, έχει αλλάξει σε χρήση χρονοδιάγραμμα.
    • Η δυνατότητα χρήσης του υποσυστήματος BPF όταν ο πυρήνας εκτελείται σε πραγματικό χρόνο (PREEMPT_RT) έχει υλοποιηθεί. Προηγουμένως, όταν το PREEMPT_RT ήταν ενεργοποιημένο, το BPF έπρεπε να απενεργοποιηθεί.
    • Ένας νέος τύπος προγράμματος BPF έχει προστεθεί - BPF_MODIFY_RETURN, το οποίο μπορεί να προσαρτηθεί σε μια συνάρτηση στον πυρήνα και να αλλάξει την τιμή που επιστρέφεται από αυτήν τη συνάρτηση.
    • Προστέθηκε ευκαιρία Χρησιμοποιώντας την κλήση συστήματος clone3() για τη δημιουργία μιας διεργασίας σε μια cgroup που είναι διαφορετική από τη γονική cgroup, επιτρέποντας στη γονική διαδικασία να εφαρμόζει περιορισμούς και να ενεργοποιεί τη λογιστική αμέσως μετά τη δημιουργία μιας νέας διεργασίας ή νήματος. Για παράδειγμα, ένας διαχειριστής υπηρεσιών μπορεί να εκχωρήσει απευθείας νέες υπηρεσίες σε ξεχωριστές ομάδες c και οι νέες διεργασίες, όταν τοποθετηθούν σε «παγωμένα» cgroups, θα σταματήσουν αμέσως.
    • στο Kbuild προστέθηκε υποστήριξη για τη μεταβλητή περιβάλλοντος "LLVM=1" για μετάβαση στο Clang/LLVM toolkit κατά την κατασκευή του πυρήνα. Οι απαιτήσεις για την έκδοση binutils έχουν αυξηθεί (2.23).
    • Μια ενότητα /sys/kernel/debug/kunit/ έχει προστεθεί στα προγράμματα εντοπισμού σφαλμάτων με τα αποτελέσματα των δοκιμών kunit.
    • Προστέθηκε η παράμετρος εκκίνησης πυρήνα pm_debug_messages (ανάλογη με το /sys/power/pm_debug_messages), η οποία επιτρέπει την έξοδο πληροφοριών εντοπισμού σφαλμάτων σχετικά με τη λειτουργία του συστήματος διαχείρισης ενέργειας (χρήσιμο κατά τον εντοπισμό σφαλμάτων σε προβλήματα αδρανοποίησης και αναμονής).
    • Στην ασύγχρονη διεπαφή I/O io_uring προστέθηκε υποστήριξη συνδέω() и επιλογή ατομικού buffer.
    • Βελτιωμένο προφίλ cgroup χρησιμοποιώντας την εργαλειοθήκη perf. Προηγουμένως, το perf μπορούσε να προφίλ μόνο εργασιών σε μια συγκεκριμένη cgroup και δεν μπορούσε να βρει σε ποια cgroup ανήκει το τρέχον δείγμα. Το perf ανακτά τώρα πληροφορίες cgroup για κάθε δείγμα, επιτρέποντάς σας να δημιουργήσετε προφίλ σε περισσότερες από μία cgroup και να εφαρμόσετε ταξινόμηση κατά
      cgroup στις αναφορές.

    • Το cgroupfs, ένα ψευδο-FS για τη διαχείριση cgroups, έχει προσθέσει υποστήριξη για εκτεταμένα χαρακτηριστικά (xattrs), με τα οποία, για παράδειγμα, μπορείτε να αφήσετε πρόσθετες πληροφορίες για τους χειριστές στο χώρο χρήστη.
    • Σε ελεγκτή μνήμης cgroup προστέθηκεκαι υποστήριξη για αναδρομική προστασία της τιμής "memory.low", η οποία ρυθμίζει την ελάχιστη ποσότητα μνήμης RAM που παρέχεται στα μέλη της ομάδας. Κατά την προσάρτηση μιας ιεραρχίας cgroup με την επιλογή "memory_recursiveprot", η τιμή "memory.low" που έχει οριστεί για τους χαμηλότερους κόμβους θα διανεμηθεί αυτόματα σε όλους τους θυγατρικούς κόμβους.
    • Προστέθηκε Πλαίσιο Uacce (Ενοποιημένο/Πλαίσιο Accelerator με στόχο την πρόσβαση στο χώρο χρήστη) για κοινή χρήση εικονικών διευθύνσεων (SVA, Shared Virtual Addressing) μεταξύ της CPU και των περιφερειακών συσκευών, επιτρέποντας στους επιταχυντές υλικού να έχουν πρόσβαση σε δομές δεδομένων στην κύρια CPU.
  • Αρχιτεκτονικές υλικού
    • Για την αρχιτεκτονική ARM, εφαρμόζεται η δυνατότητα hot-fetch μνήμης.
    • Για την αρχιτεκτονική RISC-V, έχει προστεθεί υποστήριξη για hot plugging και αφαίρεση CPU (CPU hotplug). Για RISC-V 32-bit, εφαρμόζεται το eBPF JIT.
    • Η δυνατότητα χρήσης συστημάτων ARM 32-bit για την εκτέλεση περιβαλλόντων φιλοξενουμένων KVM έχει καταργηθεί.
    • Καταργήθηκε η "εικονική" υλοποίηση NUMA για την αρχιτεκτονική s390, για την οποία δεν βρέθηκαν περιπτώσεις χρήσης για την επίτευξη βελτιώσεων απόδοσης.
    • Για το ARM64, προστέθηκε υποστήριξη για την επέκταση AMU (Activity Monitors Unit), που ορίζεται στο ARMv8.4 και παρέχει μετρητές απόδοσης που χρησιμοποιούνται για τον υπολογισμό των συντελεστών διόρθωσης κλίμακας συχνότητας στον προγραμματιστή εργασιών.
  • Оборудование
    • Προστέθηκε υποστήριξη για συσκευές vDPA που χρησιμοποιούν κανάλι ανταλλαγής δεδομένων που συμμορφώνεται με τις προδιαγραφές virtio. Οι συσκευές vDPA μπορεί να είναι είτε φυσικά συνδεδεμένος εξοπλισμός είτε εικονικές συσκευές με εξομοίωση λογισμικού.
    • Στο υποσύστημα GPIO εμφανίστηκε μια νέα εντολή ioctl() για την παρακολούθηση αλλαγών, που σας επιτρέπει να ενημερώνετε τη διαδικασία σχετικά με αλλαγές στην κατάσταση οποιασδήποτε γραμμής GPIO. Ως παράδειγμα χρήσης της νέας εντολής προτείνεται βοηθητικό πρόγραμμα gpio-watch.
    • Στο πρόγραμμα οδήγησης i915 DRM για κάρτες γραφικών Intel περιλαμβάνεται προεπιλεγμένη υποστήριξη για τσιπ Tigerlake ("Gen12") και προστιθέμενη αρχική υποστήριξη για έλεγχο οπίσθιου φωτισμού OLED. Βελτιωμένη υποστήριξη για μάρκες Ice Lake, Elkhart Lake, Baytrail και Haswell.
    • Στο πρόγραμμα οδήγησης amdgpu προστέθηκε δυνατότητα φόρτωσης υλικολογισμικού στο τσιπ USBC για ASIC. Βελτιωμένη υποστήριξη για τσιπ AMD Ryzen 4000 "Renoir". Υπάρχει πλέον υποστήριξη για τον έλεγχο των πάνελ OLED. Παρέχεται εμφάνιση της κατάστασης του υλικολογισμικού σε διορθώσεις σφαλμάτων.
    • Η δυνατότητα χρήσης OpenGL 4 σε φιλοξενούμενα συστήματα έχει προστεθεί στο πρόγραμμα οδήγησης DRM vmwgfx για συστήματα εικονικοποίησης VMware (προηγουμένως υποστηριζόταν το OpenGL 3.3).
    • Προστέθηκαν νέα νέα προγράμματα οδήγησης DRM για το σύστημα απεικόνισης της πλατφόρμας TI Keystone.
    • Προστέθηκαν προγράμματα οδήγησης για πάνελ LCD: Feixin K101 IM2BA02, Samsung s6e88a0-ams452ef01, Novatek NT35510, Elida KD35T133, EDT, NewEast Optoelectronics WJFH116008A, Rocktech 101D01
    • Στο σύστημα διαχείρισης ενέργειας προστέθηκε υποστήριξη για την πλατφόρμα Intel Jasper Lake (JSL) που βασίζεται στο Atom.
    • Προστέθηκε υποστήριξη για φορητό υπολογιστή Pinebook Pro που βασίζεται σε Rockchip RK3399, tablet Pine64 PineTab και smartphone PinePhone βασισμένο στο Allwinner A64.
    • Προστέθηκε υποστήριξη για νέους κωδικοποιητές ήχου και τσιπ:
      Amlogic AIU, Amlogic T9015, Texas Instruments TLV320ADCX140, Realtek RT5682, ALC245, Broadcom BCM63XX I2S, Maxim MAX98360A, Presonus Studio 1810c, MOTU MicroBook IIc.

    • Προστέθηκε υποστήριξη για πλακέτες και πλατφόρμες ARM Qualcomm Snapdragon 865 (SM8250), IPQ6018, NXP i.MX8M Plus, Kontron “sl28”, 11 επιλογές πλακέτας i.MX6 TechNexion Pico, τρεις νέες επιλογές Toradex Colibri, Samsung S7710 με βάση το Galaxy Xco -Ericsson u2, DH Electronics DHCOM SoM και PDK8500, Renesas M2ULCB, Hoperun HiHope, Linutronix Testbox v3, PocketBook Touch Lux 2.

Πηγή: opennet.ru

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