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

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds παρουσίασε την κυκλοφορία του πυρήνα Linux 5.15. Οι αξιοσημείωτες αλλαγές περιλαμβάνουν: νέο πρόγραμμα οδήγησης NTFS με υποστήριξη εγγραφής, μονάδα ksmbd με υλοποίηση διακομιστή SMB, υποσύστημα DAMON για παρακολούθηση πρόσβασης μνήμης, primitives κλειδώματος σε πραγματικό χρόνο, υποστήριξη fs-verity σε Btrfs, κλήση συστήματος process_mrelease για μνήμη συστημάτων απόκρισης λιμοκτονίας, μονάδα απομακρυσμένης πιστοποίησης dm-ima.

Η νέα έκδοση περιλαμβάνει 13499 διορθώσεις από 1888 προγραμματιστές, το μέγεθος της ενημέρωσης κώδικα είναι 42 MB (οι αλλαγές επηρέασαν 10895 αρχεία, προστέθηκαν 632522 γραμμές κώδικα, διαγράφηκαν 299966 γραμμές). Περίπου το 45% όλων των αλλαγών που εισάγονται στο 5.15 σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 14% των αλλαγών σχετίζονται με την ενημέρωση κώδικα ειδικού για αρχιτεκτονικές υλικού, το 14% σχετίζονται με τη στοίβα δικτύου, το 6% σχετίζονται με συστήματα αρχείων και το 3% σχετίζονται με εσωτερικά υποσυστήματα πυρήνα.

Βασικές καινοτομίες:

  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Ο πυρήνας έχει υιοθετήσει μια νέα υλοποίηση του συστήματος αρχείων NTFS, που άνοιξε η Paragon Software. Το νέο πρόγραμμα οδήγησης μπορεί να λειτουργήσει σε λειτουργία εγγραφής και υποστηρίζει όλες τις δυνατότητες της τρέχουσας έκδοσης του NTFS 3.1, συμπεριλαμβανομένων των εκτεταμένων χαρακτηριστικών αρχείων, λιστών πρόσβασης (ACL), λειτουργίας συμπίεσης δεδομένων, αποτελεσματικής εργασίας με κενά διαστήματα σε αρχεία (αραιό) και αναπαραγωγή αλλαγών από το αρχείο καταγραφής για την αποκατάσταση της ακεραιότητας μετά από αποτυχίες.
    • Το σύστημα αρχείων Btrfs υποστηρίζει τον μηχανισμό fs-verity, ο οποίος χρησιμοποιείται για τον διαφανή έλεγχο της ακεραιότητας και της αυθεντικότητας μεμονωμένων αρχείων χρησιμοποιώντας κρυπτογραφικούς κατακερματισμούς ή κλειδιά που σχετίζονται με τα αρχεία, που είναι αποθηκευμένα στην περιοχή μεταδεδομένων. Προηγουμένως, το fs-verity ήταν διαθέσιμο μόνο για συστήματα αρχείων Ext4 και F2fs.

      Το Btrfs προσθέτει επίσης υποστήριξη για αντιστοίχιση αναγνωριστικών χρηστών για προσαρτημένα συστήματα αρχείων (προηγουμένως υποστηριζόταν για συστήματα αρχείων FAT, ext4 και XFS). Αυτή η δυνατότητα σάς επιτρέπει να συγκρίνετε αρχεία ενός συγκεκριμένου χρήστη σε ένα προσαρτημένο ξένο διαμέρισμα με έναν άλλο χρήστη στο τρέχον σύστημα.

      Άλλες αλλαγές στο Btrfs περιλαμβάνουν: ταχύτερη προσθήκη κλειδιών στο ευρετήριο καταλόγου για τη βελτίωση της απόδοσης δημιουργίας αρχείων. η δυνατότητα εργασίας του raid0 με μία συσκευή και του raid10 με δύο (για παράδειγμα, κατά τη διαδικασία αναδιαμόρφωσης της συστοιχίας). επιλογή "rescue=ibadroots" για να αγνοήσετε ένα λανθασμένο δέντρο έκτασης. επιτάχυνση της λειτουργίας "αποστολή". μείωση των διενέξεων κλειδώματος κατά τη λειτουργία μετονομασίας. τη δυνατότητα χρήσης τομέων 4K σε συστήματα με μέγεθος σελίδας μνήμης 64K.

    • Στο XFS, η δυνατότητα χρήσης ημερομηνιών μετά το 2038 στο σύστημα αρχείων έχει σταθεροποιηθεί. Εφάρμοσε έναν μηχανισμό για καθυστερημένη απενεργοποίηση inode και υποστήριξη καθυστερημένης εγκατάστασης και αφαίρεσης χαρακτηριστικών αρχείων. Για την εξάλειψη προβλημάτων, η δυνατότητα απενεργοποίησης των ορίων δίσκου για ήδη τοποθετημένα διαμερίσματα έχει αφαιρεθεί (μπορείτε να απενεργοποιήσετε αναγκαστικά τα όρια, αλλά ο υπολογισμός που σχετίζεται με αυτά θα συνεχιστεί, επομένως απαιτείται εκ νέου προσάρτηση για την πλήρη απενεργοποίησή τους).
    • Στο EXT4, έχει γίνει δουλειά για να αυξηθεί η απόδοση της εγγραφής buffers delalloc και η επεξεργασία των ορφανών αρχείων που συνεχίζουν να υπάρχουν λόγω του γεγονότος ότι παραμένουν ανοιχτά, αλλά δεν σχετίζονται με έναν κατάλογο. Η επεξεργασία των λειτουργιών απόρριψης έχει μετακινηθεί από το νήμα kthread jbd2 για να αποφευχθεί ο αποκλεισμός λειτουργιών με μεταδεδομένα.
    • Το F2FS πρόσθεσε την επιλογή "discard_unit=block|segment|section" για τη δέσμευση λειτουργιών απόρριψης (επισήμανση ελευθερωμένων μπλοκ που ενδέχεται να μην είναι πλέον αποθηκευμένα φυσικά) στη στοίχιση σε σχέση με ένα μπλοκ, τομέα, τμήμα ή τμήμα. Προστέθηκε υποστήριξη για παρακολούθηση αλλαγών στην καθυστέρηση εισόδου/εξόδου.
    • Το σύστημα αρχείων EROFS (Extendable Read-Only File System) προσθέτει άμεση υποστήριξη I/O για αρχεία που αποθηκεύονται χωρίς συμπίεση, καθώς και υποστήριξη fiemap.
    • Το OverlayFS εφαρμόζει τον σωστό χειρισμό των σημαιών προσάρτησης "αμετάβλητο", "μόνο προσάρτηση", "συγχρονισμός" και "noatime".
    • Το NFS έχει βελτιώσει τον χειρισμό καταστάσεων όπου ο διακομιστής NFS σταματά να ανταποκρίνεται σε αιτήματα. Προστέθηκε η δυνατότητα προσάρτησης από διακομιστή που χρησιμοποιείται ήδη, αλλά είναι προσβάσιμος μέσω διαφορετικής διεύθυνσης δικτύου.
    • Ξεκίνησαν οι προετοιμασίες για την επανεγγραφή του υποσυστήματος FSCACHE.
    • Προστέθηκε υποστήριξη για κατατμήσεις EFI με μη τυπική τοποθέτηση πινάκων GPT.
    • Ο μηχανισμός fanotify υλοποιεί μια νέα σημαία, FAN_REPORT_PIDFD, η οποία προκαλεί τη συμπερίληψη του pidfd στα μεταδεδομένα που επιστρέφονται. Το Pidfd βοηθά στο χειρισμό καταστάσεων επαναχρησιμοποίησης PID για την ακριβέστερη αναγνώριση διεργασιών που έχουν πρόσβαση σε αρχεία παρακολούθησης (ένα pidfd σχετίζεται με μια συγκεκριμένη διαδικασία και δεν αλλάζει, ενώ ένα PID μπορεί να συσχετιστεί με μια άλλη διαδικασία μετά τον τερματισμό της τρέχουσας διεργασίας που σχετίζεται με αυτό το PID).
    • Προστέθηκε η δυνατότητα προσθήκης σημείων προσάρτησης σε υπάρχουσες κοινόχρηστες ομάδες στην κλήση συστήματος move_mount(), η οποία επιλύει προβλήματα με την αποθήκευση και την επαναφορά της κατάστασης διεργασίας στο CRIU όταν υπάρχουν πολλαπλοί χώροι προσάρτησης κοινόχρηστοι σε απομονωμένα κοντέινερ.
    • Προστέθηκε προστασία από κρυφές συνθήκες κούρσας που θα μπορούσαν ενδεχομένως να προκαλέσουν καταστροφή του αρχείου κατά την εκτέλεση αναγνώσεων προσωρινής μνήμης κατά την επεξεργασία κενών σε ένα αρχείο.
    • Η υποστήριξη για υποχρεωτικό (υποχρεωτικό) κλείδωμα αρχείων, που υλοποιείται μέσω αποκλεισμού κλήσεων συστήματος που οδηγούν σε αλλαγή αρχείου, έχει διακοπεί. Λόγω πιθανών συνθηκών αγώνα, αυτές οι κλειδαριές θεωρήθηκαν αναξιόπιστες και καταργήθηκαν πριν από πολλά χρόνια.
    • Το υποσύστημα LightNVM καταργήθηκε, το οποίο επέτρεψε την άμεση πρόσβαση στη μονάδα SSD, παρακάμπτοντας το επίπεδο εξομοίωσης. Το LightNVM έχασε το νόημά του μετά την εμφάνιση των προτύπων NVMe που προβλέπουν ζωνοποίηση (ZNS, Zoned Namespace).
  • Υπηρεσίες μνήμης και συστήματος
    • Το υποσύστημα DAMON (Data Access MONitor) έχει υλοποιηθεί, επιτρέποντάς σας να παρακολουθείτε τη δραστηριότητα που σχετίζεται με την πρόσβαση σε δεδομένα στη μνήμη RAM σε σχέση με μια επιλεγμένη διαδικασία που εκτελείται στο χώρο του χρήστη. Το υποσύστημα σάς επιτρέπει να αναλύσετε σε ποιες περιοχές μνήμης είχε πρόσβαση η διεργασία κατά τη διάρκεια ολόκληρης της λειτουργίας της και ποιες περιοχές μνήμης παρέμειναν αζήτητες. Το DAMON διαθέτει χαμηλό φορτίο CPU, χαμηλή κατανάλωση μνήμης, υψηλή ακρίβεια και προβλέψιμη σταθερή επιβάρυνση, ανεξάρτητα από το μέγεθος. Το υποσύστημα μπορεί να χρησιμοποιηθεί τόσο από τον πυρήνα για τη βελτιστοποίηση της διαχείρισης της μνήμης όσο και από βοηθητικά προγράμματα στο χώρο του χρήστη για να κατανοήσει τι ακριβώς κάνει μια διαδικασία και να βελτιστοποιήσει τη χρήση της μνήμης, για παράδειγμα, ελευθερώνοντας την περίσσεια μνήμης για το σύστημα.
    • Η κλήση συστήματος process_mrelease έχει υλοποιηθεί για να επιταχυνθεί η διαδικασία απελευθέρωσης της μνήμης μιας διεργασίας που ολοκληρώνει την εκτέλεσή της. Υπό κανονικές συνθήκες, η απελευθέρωση πόρων και ο τερματισμός της διαδικασίας δεν είναι στιγμιαία και μπορεί να καθυστερήσουν για διάφορους λόγους, παρεμποδίζοντας τα συστήματα πρώιμης απόκρισης στη μνήμη του χρήστη, όπως το oomd (παρέχεται από το systemd) και το lmkd (που χρησιμοποιείται από το Android). Καλώντας το process_mrelease, τέτοια συστήματα μπορούν πιο προβλέψιμα να ενεργοποιήσουν την ανάκτηση μνήμης από αναγκαστικές διεργασίες.
    • Από τον κλάδο του πυρήνα PREEMPT_RT, ο οποίος αναπτύσσει υποστήριξη για λειτουργία σε πραγματικό χρόνο, έχουν μεταφερθεί παραλλαγές πρωτόγονων για την οργάνωση κλειδαριών mutex, ww_mutex, rw_semaphore, spinlock και rwlock, με βάση το υποσύστημα RT-Mutex. Έχουν προστεθεί αλλαγές στον κατανεμητή πλακών SLUB για τη βελτίωση της λειτουργίας στη λειτουργία PREEMPT_RT και τη μείωση του αντίκτυπου στις διακοπές.
    • Η υποστήριξη για το χαρακτηριστικό προγραμματιστή εργασιών SCHED_IDLE προστέθηκε στην ομάδα cgroup, επιτρέποντάς σας να παρέχετε αυτό το χαρακτηριστικό σε όλες τις διεργασίες μιας ομάδας που περιλαμβάνεται σε μια συγκεκριμένη cgroup. Εκείνοι. Αυτές οι διεργασίες θα εκτελούνται μόνο όταν δεν υπάρχουν άλλες εργασίες που περιμένουν να εκτελεστούν στο σύστημα. Σε αντίθεση με τη ρύθμιση του χαρακτηριστικού SCHED_IDLE σε κάθε διεργασία ξεχωριστά, όταν δεσμεύετε το SCHED_IDLE σε μια cgroup, το σχετικό βάρος των εργασιών εντός της ομάδας λαμβάνεται υπόψη κατά την επιλογή μιας εργασίας προς εκτέλεση.
    • Ο μηχανισμός για τον υπολογισμό της κατανάλωσης μνήμης σε cgroup έχει επεκταθεί με τη δυνατότητα παρακολούθησης πρόσθετων δομών δεδομένων πυρήνα, συμπεριλαμβανομένων εκείνων που δημιουργούνται για ψηφοφορία, επεξεργασία σήματος και χώρους ονομάτων.
    • Προστέθηκε υποστήριξη για ασύμμετρο προγραμματισμό σύνδεσης εργασιών σε πυρήνες επεξεργαστή σε αρχιτεκτονικές στις οποίες ορισμένες CPU επιτρέπουν την εκτέλεση εργασιών 32 bit και ορισμένες λειτουργούν μόνο σε λειτουργία 64 bit (για παράδειγμα, ARM). Η νέα λειτουργία σάς επιτρέπει να λαμβάνετε υπόψη μόνο CPU που υποστηρίζουν εργασίες 32 bit κατά τον προγραμματισμό εργασιών 32 bit.
    • Η ασύγχρονη διεπαφή εισόδου/εξόδου io_uring υποστηρίζει τώρα το άνοιγμα αρχείων απευθείας στον πίνακα ευρετηρίου σταθερών αρχείων, χωρίς τη χρήση περιγραφέα αρχείων, που καθιστά δυνατή τη σημαντική επιτάχυνση ορισμένων τύπων λειτουργιών, αλλά έρχεται σε αντίθεση με την παραδοσιακή διαδικασία Unix της χρήσης περιγραφών αρχείων για να ανοίξετε αρχεία.

      Το io_uring για το υποσύστημα BIO (Block I/O Layer) εφαρμόζει έναν νέο μηχανισμό ανακύκλωσης ("BIO recycling"), ο οποίος μειώνει τα έξοδα στη διαδικασία διαχείρισης της εσωτερικής μνήμης και αυξάνει τον αριθμό των επεξεργασμένων λειτουργιών I/O ανά δευτερόλεπτο κατά περίπου 10% . Το io_uring προσθέτει επίσης υποστήριξη για τις κλήσεις συστήματος mkdirat(), symlinkat() και linkat().

    • Για τα προγράμματα BPF, έχει εφαρμοστεί η δυνατότητα υποβολής αιτήματος και επεξεργασίας συμβάντων χρονοδιακόπτη. Έχει προστεθεί ένας επαναλήπτης για υποδοχές UNIX και έχει εφαρμοστεί η δυνατότητα λήψης και ρύθμισης επιλογών υποδοχών για το setsockopt. Το ανατρεπόμενο όχημα BTF υποστηρίζει πλέον πληκτρολογημένα δεδομένα.
    • Σε συστήματα NUMA με διαφορετικούς τύπους μνήμης που διαφέρουν ως προς την απόδοση, όταν εξαντληθεί ο ελεύθερος χώρος, οι σελίδες μνήμης που έχουν εξαλειφθεί μεταφέρονται από τη δυναμική μνήμη (DRAM) σε πιο αργή μόνιμη μνήμη (Μόνιμη μνήμη) αντί να διαγραφούν αυτές οι σελίδες. Οι δοκιμές έχουν δείξει ότι τέτοιες τακτικές συνήθως βελτιώνουν την απόδοση σε τέτοια συστήματα. Το NUMA παρέχει επίσης τη δυνατότητα εκχώρησης σελίδων μνήμης για μια διεργασία από ένα επιλεγμένο σύνολο κόμβων NUMA.
    • Για την αρχιτεκτονική ARC, έχει υλοποιηθεί υποστήριξη για πίνακες σελίδων μνήμης τριών και τεσσάρων επιπέδων, που θα επιτρέψει περαιτέρω την υποστήριξη για επεξεργαστές ARC 64-bit.
    • Για την αρχιτεκτονική s390, έχει εφαρμοστεί η δυνατότητα χρήσης του μηχανισμού KFENCE για τον εντοπισμό σφαλμάτων κατά την εργασία με μνήμη και έχει προστεθεί υποστήριξη για τον ανιχνευτή καταστάσεων αγώνα KCSAN.
    • Προστέθηκε υποστήριξη για την ευρετηρίαση της λίστας των μηνυμάτων που εξάγονται μέσω της printk(), που σας επιτρέπει να ανακτάτε όλα αυτά τα μηνύματα ταυτόχρονα και να παρακολουθείτε τις αλλαγές στο χώρο χρήστη.
    • Η mmap() έχει αφαιρέσει την υποστήριξη για την επιλογή VM_DENYWRITE και ο κώδικας του πυρήνα έχει αφαιρεθεί από τη χρήση της λειτουργίας MAP_DENYWRITE, η οποία έχει μειώσει τον αριθμό των καταστάσεων που οδηγούν σε αποκλεισμό εγγραφών σε ένα αρχείο με το σφάλμα ETXTBSY.
    • Στο υποσύστημα ανίχνευσης προστέθηκε ένας νέος τύπος ελέγχων, οι "Ερευνητές συμβάντων", ο οποίος μπορεί να προσαρτηθεί σε υπάρχοντα συμβάντα ανίχνευσης, ορίζοντας τη δική σας μορφή εξόδου.
    • Κατά την κατασκευή του πυρήνα χρησιμοποιώντας τον μεταγλωττιστή Clang, χρησιμοποιείται πλέον ο προεπιλεγμένος assembler από το έργο LLVM.
    • Ως μέρος ενός έργου για την απαλλαγή του πυρήνα από κώδικα που οδηγεί στην έξοδο προειδοποιήσεων από τον μεταγλωττιστή, πραγματοποιήθηκε ένα πείραμα με τη λειτουργία "-Λάθος" ενεργοποιημένη από προεπιλογή, στην οποία οι προειδοποιήσεις του μεταγλωττιστή επεξεργάζονται ως σφάλματα. Κατά την προετοιμασία για την κυκλοφορία του 5.15, ο Linus άρχισε να δέχεται μόνο αλλαγές που δεν οδηγούσαν σε προειδοποιήσεις κατά την κατασκευή του πυρήνα και ενεργοποίησε τη δημιουργία με "-Werror", αλλά στη συνέχεια συμφώνησε ότι μια τέτοια απόφαση ήταν πρόωρη και καθυστέρησε να ενεργοποιήσει το "-Werror" από προεπιλογή . Η συμπερίληψη της σημαίας "-Λάθος" κατά τη συναρμολόγηση ελέγχεται χρησιμοποιώντας την παράμετρο WERROR, η οποία έχει οριστεί ως COMPILE_TEST από προεπιλογή, δηλ. Προς το παρόν είναι ενεργοποιημένο μόνο για δοκιμαστικές εκδόσεις.
  • Εικονικοποίηση και Ασφάλεια
    • Ένας νέος χειριστής dm-ima προστέθηκε στο Device Mapper (DM) με την εφαρμογή ενός μηχανισμού απομακρυσμένης πιστοποίησης που βασίζεται στο υποσύστημα IMA (Integrity Measurement Architecture), το οποίο επιτρέπει σε μια εξωτερική υπηρεσία να επαληθεύει την κατάσταση των υποσυστημάτων του πυρήνα για να διασφαλίσει την αυθεντικότητά τους . Στην πράξη, το dm-ima σάς επιτρέπει να δημιουργείτε αποθηκευτικούς χώρους χρησιμοποιώντας το Device Mapper που είναι συνδεδεμένοι με εξωτερικά συστήματα cloud, στα οποία ελέγχεται η εγκυρότητα της διαμόρφωσης στόχου DM που ξεκίνησε με χρήση IMA.
    • Η prctl() υλοποιεί μια νέα επιλογή PR_SPEC_L1D_FLUSH, η οποία όταν είναι ενεργοποιημένη, αναγκάζει τον πυρήνα να ξεπλένει τα περιεχόμενα της κρυφής μνήμης πρώτου επιπέδου (L1D) κάθε φορά που εμφανίζεται ένας διακόπτης περιβάλλοντος. Αυτή η λειτουργία επιτρέπει, επιλεκτικά για τις πιο σημαντικές διεργασίες, την εφαρμογή πρόσθετης προστασίας από τη χρήση επιθέσεων πλευρικού καναλιού που πραγματοποιούνται για τον προσδιορισμό δεδομένων που έχουν εγκατασταθεί στην κρυφή μνήμη ως αποτέλεσμα τρωτών σημείων που προκαλούνται από κερδοσκοπική εκτέλεση εντολών στην CPU. Το κόστος ενεργοποίησης του PR_SPEC_L1D_FLUSH (δεν είναι ενεργοποιημένο από προεπιλογή) είναι μια σημαντική ποινή απόδοσης.
    • Είναι δυνατή η κατασκευή του πυρήνα με την προσθήκη της σημαίας "-fzero-call-used-regs=used-gpr" στο GCC, το οποίο διασφαλίζει ότι όλοι οι καταχωρητές μηδενίζονται πριν επιστρέψει ο έλεγχος από τη συνάρτηση. Αυτή η επιλογή σάς επιτρέπει να προστατεύσετε από διαρροή πληροφοριών από λειτουργίες και να μειώσετε κατά 20% τον αριθμό των μπλοκ κατάλληλων για τη δημιουργία gadget ROP (Return-Oriented Programming) σε exploits.
    • Έχει υλοποιηθεί η δυνατότητα δημιουργίας πυρήνων για την αρχιτεκτονική ARM64 με τη μορφή clients για τον Hyper-V hypervisor.
    • Προτείνεται ένα νέο πλαίσιο ανάπτυξης προγραμμάτων οδήγησης «VDUSE», το οποίο επιτρέπει την εφαρμογή εικονικών συσκευών μπλοκ στο χώρο των χρηστών και τη χρήση του Virtio ως μέσο μεταφοράς για πρόσβαση από συστήματα φιλοξενούμενων.
    • Προστέθηκε πρόγραμμα οδήγησης Virtio για το δίαυλο I2C, καθιστώντας δυνατή την εξομοίωση ελεγκτών I2C σε λειτουργία παραεικονικής χρήσης χρησιμοποιώντας ξεχωριστά backend.
    • Προστέθηκε πρόγραμμα οδήγησης Virtio gpio-virtio για να επιτρέπει στους επισκέπτες να έχουν πρόσβαση σε γραμμές GPIO που παρέχονται από το κεντρικό σύστημα.
    • Προστέθηκε η δυνατότητα περιορισμού της πρόσβασης σε σελίδες μνήμης για προγράμματα οδήγησης συσκευών με υποστήριξη DMA σε συστήματα χωρίς I/O MMU (μονάδα διαχείρισης μνήμης).
    • Ο hypervisor KVM έχει τη δυνατότητα να εμφανίζει στατιστικά στοιχεία με τη μορφή γραμμικών και λογαριθμικών ιστογραμμάτων.
  • Υποσύστημα δικτύου
    • Η ενότητα ksmbd έχει προστεθεί στον πυρήνα με την υλοποίηση ενός διακομιστή αρχείων χρησιμοποιώντας το πρωτόκολλο SMB3. Η ενότητα συμπληρώνει την υλοποίηση του προγράμματος-πελάτη SMB που ήταν προηγουμένως διαθέσιμη στον πυρήνα και, σε αντίθεση με τον διακομιστή SMB που εκτελείται στο χώρο χρήστη, είναι πιο αποτελεσματική όσον αφορά την απόδοση, την κατανάλωση μνήμης και την ενσωμάτωση με προηγμένες δυνατότητες πυρήνα. Το Ksmbd διαφημίζεται ως μια υψηλής απόδοσης, ενσωματωμένη-έτοιμη επέκταση Samba που ενσωματώνεται με εργαλεία και βιβλιοθήκες Samba όπως απαιτείται. Οι δυνατότητες του ksmbd περιλαμβάνουν βελτιωμένη υποστήριξη για τεχνολογία κατανεμημένης προσωρινής αποθήκευσης αρχείων (μισθώσεις SMB) σε τοπικά συστήματα, η οποία μπορεί να μειώσει σημαντικά την επισκεψιμότητα. Στο μέλλον, σχεδιάζουν να προσθέσουν υποστήριξη για RDMA (“smbdirect”) και επεκτάσεις πρωτοκόλλου που σχετίζονται με την αύξηση της αξιοπιστίας της κρυπτογράφησης και της επαλήθευσης με χρήση ψηφιακών υπογραφών.
    • Ο πελάτης CIFS δεν υποστηρίζει πλέον το NTLM και τους ασθενέστερους αλγόριθμους ελέγχου ταυτότητας που βασίζονται σε DES που χρησιμοποιούνται στο πρωτόκολλο SMB1.
    • Η υποστήριξη πολλαπλής εκπομπής υλοποιείται στην υλοποίηση γεφυρών δικτύου για vlans.
    • Το πρόγραμμα οδήγησης bonding, που χρησιμοποιείται για τη συγκέντρωση διεπαφών δικτύου, έχει προσθέσει υποστήριξη για το υποσύστημα XDP (eXpress Data Path), το οποίο σας επιτρέπει να χειρίζεστε πακέτα δικτύου στο στάδιο πριν υποστούν επεξεργασία από τη στοίβα δικτύου πυρήνα Linux.
    • Η ασύρματη στοίβα mac80211 υποστηρίζει 6GHZ STA (Ειδική Προσωρινή Εξουσιοδότηση) σε λειτουργίες LPI, SP και VLP, καθώς και τη δυνατότητα ρύθμισης μεμονωμένων TWT (Target Wake Time) σε λειτουργία σημείου πρόσβασης.
    • Προστέθηκε υποστήριξη για το MCTP (Management Component Transport Protocol), που χρησιμοποιείται για την αλληλεπίδραση μεταξύ ελεγκτών διαχείρισης και σχετικών συσκευών (κεντρικοί επεξεργαστές, περιφερειακές συσκευές κ.λπ.).
    • Ενσωμάτωση στον πυρήνα του MPTCP (MultiPath TCP), μια επέκταση του πρωτοκόλλου TCP για την οργάνωση της λειτουργίας μιας σύνδεσης TCP με την παράδοση πακέτων ταυτόχρονα σε διάφορες διαδρομές μέσω διαφορετικών διεπαφών δικτύου που σχετίζονται με διαφορετικές διευθύνσεις IP. Η νέα έκδοση προσθέτει υποστήριξη για διευθύνσεις σε λειτουργία fullmesh.
    • Στο Netfilter έχουν προστεθεί προγράμματα χειρισμού για ροές δικτύου που είναι ενσωματωμένα στο πρωτόκολλο SRv6 (Segment Routing IPv6).
    • Προστέθηκε υποστήριξη sockmap για υποδοχές ροής Unix.
  • Оборудование
    • Το πρόγραμμα οδήγησης amdgpu υποστηρίζει Cyan Skillfish APU (εξοπλισμένες με Navi 1x GPU). Η Yellow Carp APU υποστηρίζει πλέον κωδικοποιητές βίντεο. Βελτιωμένη υποστήριξη GPU Aldebaran. Προστέθηκαν νέα αναγνωριστικά χάρτη με βάση την GPU Navi 24 "Beige Goby" και το RDNA2. Προτείνεται μια βελτιωμένη υλοποίηση εικονικών οθονών (VKMS). Έχει υλοποιηθεί υποστήριξη για την παρακολούθηση της θερμοκρασίας των τσιπ AMD Zen 3.
    • Το πρόγραμμα οδήγησης amdkfd (για διακριτές GPU, όπως το Polaris) υλοποιεί έναν κοινόχρηστο διαχειριστή εικονικής μνήμης (SVM, κοινόχρηστη εικονική μνήμη) που βασίζεται στο υποσύστημα HMM (Heterogeneous memory management), το οποίο επιτρέπει τη χρήση συσκευών με τις δικές τους μονάδες διαχείρισης μνήμης (MMU). , μονάδα διαχείρισης μνήμης), η οποία μπορεί να έχει πρόσβαση στην κύρια μνήμη. Συγκεκριμένα, χρησιμοποιώντας το HMM, μπορείτε να οργανώσετε έναν κοινόχρηστο χώρο διευθύνσεων μεταξύ της GPU και της CPU, στον οποίο η GPU μπορεί να έχει πρόσβαση στην κύρια μνήμη της διαδικασίας.
    • Το πρόγραμμα οδήγησης i915 για κάρτες γραφικών Intel επεκτείνει τη χρήση του διαχειριστή μνήμης βίντεο TTM και περιλαμβάνει τη δυνατότητα διαχείρισης της κατανάλωσης ενέργειας με βάση το GuC (Graphics Micro Controller). Ξεκίνησαν οι προετοιμασίες για την υλοποίηση υποστήριξης για την κάρτα γραφικών Intel ARC Alchemist και την Intel Xe-HP GPU.
    • Το πρόγραμμα οδήγησης nouveau εφαρμόζει έλεγχο οπίσθιου φωτισμού για πίνακες eDP χρησιμοποιώντας DPCD (Δεδομένα διαμόρφωσης DisplayPort).
    • Προστέθηκε υποστήριξη για τις GPU Adreno 7c Gen 3 και Adreno 680 στο πρόγραμμα οδήγησης msm.
    • Το πρόγραμμα οδήγησης IOMMU υλοποιείται για το τσιπ Apple M1.
    • Προστέθηκε πρόγραμμα οδήγησης ήχου για συστήματα που βασίζονται σε APU της AMD Van Gogh.
    • Το πρόγραμμα οδήγησης Realtek R8188EU προστέθηκε στον κλάδο εγκατάστασης, το οποίο αντικατέστησε την παλιά έκδοση του προγράμματος οδήγησης (rtl8188eu) για τα ασύρματα τσιπ Realtek RTL8188EU 802.11 b/g/n.
    • Το πρόγραμμα οδήγησης ocp_pt περιλαμβάνεται για την πλακέτα PCIe που αναπτύχθηκε από τη Meta (Facebook) με την υλοποίηση ενός μικροσκοπικού ατομικού ρολογιού και ενός δέκτη GNSS, που μπορεί να χρησιμοποιηθεί για την οργάνωση της λειτουργίας ξεχωριστών διακομιστών ακριβούς συγχρονισμού χρόνου.
    • Προστέθηκε υποστήριξη για smartphone Sony Xperia 10II (Snapdragon 665), Xiaomi Redmi 2 (Snapdragon MSM8916), Samsung Galaxy S3 (Snapdragon MSM8226), Samsung Gavini/Codina/Kyle.
    • Προστέθηκε υποστήριξη για το ARM SOI και το Nvidia Jetson TX2 NX Developer Kit, το Sancloud Bbe Lite, το Picoitx, το DRC02, το SolidRun Solidsense, το Skov I.MX6, το άζωτο8, το Traverse Ten64, το GW7902, το Microchip Sama7, το Ualcomm Sdm636/ πλακέτες -8150G/M3e-2G, Marvell CN3x, ASpeed ​​AST2 (πίνακες διακομιστών Facebook Cloudripper, Elbert και Fuji), 913KOpen STiH2600-b4.
    • Προστέθηκε υποστήριξη για πάνελ LCD Gopher 2b, EDT ETM0350G0DH6/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030 Innolux EJ3.0NA -KCA, Samsung ATNA9341XC3300 33, Samsung DB20, WideChips WS7430 .
    • Προστέθηκε πρόγραμμα οδήγησης LiteETH με υποστήριξη για ελεγκτές Ethernet που χρησιμοποιούνται σε SoC λογισμικού LiteX (για FPGA).
    • Μια επιλογή χαμηλής καθυστέρησης έχει προστεθεί στο πρόγραμμα οδήγησης ήχου usb για τον έλεγχο της συμπερίληψης της λειτουργίας στη λειτουργία ελάχιστης καθυστέρησης. Προστέθηκε επίσης η επιλογή quirk_flags για να περάσουν ρυθμίσεις για συγκεκριμένες συσκευές.

Ταυτόχρονα, το Ίδρυμα Ελεύθερου Λογισμικού Λατινικής Αμερικής δημιούργησε μια έκδοση του εντελώς δωρεάν πυρήνα 5.15 - Linux-libre 5.15-gnu, απαλλαγμένη από στοιχεία υλικολογισμικού και προγράμματα οδήγησης που περιέχουν μη ελεύθερα στοιχεία ή τμήματα κώδικα, το πεδίο εφαρμογής του οποίου είναι περιορισμένο από τον κατασκευαστή. Η νέα έκδοση υλοποιεί την έξοδο ενός μηνύματος στο αρχείο καταγραφής σχετικά με την ολοκλήρωση του καθαρισμού. Τα προβλήματα με τη δημιουργία πακέτων με χρήση mkspec επιδιορθώθηκαν, η υποστήριξη για πακέτα snap έχει βελτιωθεί. Καταργήθηκαν ορισμένες προειδοποιήσεις που εμφανίζονται κατά την επεξεργασία του αρχείου κεφαλίδας firmware.h. Επιτρέπεται η έξοδος ορισμένων τύπων προειδοποιήσεων (“format-extra-args”, σχόλια, αχρησιμοποίητες συναρτήσεις και μεταβλητές) κατά τη δημιουργία στη λειτουργία “-Error”. Προστέθηκε καθαρισμός προγράμματος οδήγησης gehc-achc. Ενημερωμένος κώδικας καθαρισμού blob σε προγράμματα οδήγησης και υποσυστήματα adreno, btusb, btintel, brcmfmac, aarch64 qcom. Ο καθαρισμός των προγραμμάτων οδήγησης prism54 (αφαιρέθηκε) και rtl8188eu (αντικαταστάθηκε από r8188eu) έχει σταματήσει.

Πηγή: opennet.ru

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