Το Linux 5.10 διαθέτει σημαντικές βελτιστοποιήσεις Ext4, βελτιωμένη συμβατότητα AMD SEV και πολλά άλλα

Πυρήνας

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds ανακοίνωσε την κυκλοφορία του νέου πυρήνα Linux έκδοση 5.10 , μιας έκδοσης που συνοδεύεται από την ιδιότητα ενός κλάδου με μακρά περίοδο υποστήριξης, του οποίου οι ενημερώσεις θα κυκλοφορούν για τουλάχιστον δύο χρόνια.

Αξιοσημείωτες αλλαγές σε αυτήν τη νέα έκδοση περιλαμβάνουν την υποστήριξη για τον μηχανισμό προστασίας MemTag για συστήματα ARM64, την επιλογή τοποθέτησης "nosymfollow", σημαντικές βελτιστοποιήσεις Ext4, τη διόρθωση του XFS 2038, μια νέα κλήση συστήματος process_madvise, βελτιωμένη υποστήριξη AMD SEV μέσω κρυπτογράφησης καταχωρητή CPU και τη δυνατότητα παύσης προγραμμάτων BPF.

Η νέα έκδοση έλαβε 17470 διορθώσεις από 2062 προγραμματιστές. Μέγεθος ενημέρωσης κώδικα: 64 MB (οι αλλαγές επηρέασαν 15101 αρχεία, πρόσθεσαν 891932 γραμμές κώδικα και αφαίρεσαν 619716 γραμμές). Περίπου το 42% όλων των αλλαγών που εισήχθησαν στην έκδοση 5.10 σχετίζονται με προγράμματα οδήγησης συσκευών , περίπου το 16% σχετίζεται με την ενημέρωση κώδικα που αφορά την αρχιτεκτονική υλικού, το 13% σχετίζεται με τη στοίβα δικτύου, το 3% σχετίζεται με συστήματα αρχείων και το 3% σχετίζεται με εσωτερικά υποσυστήματα πυρήνα.

Κύρια νέα στο Linux 5.10

Μεταξύ των κύριων αλλαγών, διαπιστώνουμε ότι για το ext4, έχει προστεθεί η λειτουργία fast_commit , η οποία μειώνει σημαντικά τις καθυστερήσεις σε πολλές λειτουργίες αρχείων λόγω της ταχύτερης εκκαθάρισης των μεταδεδομένων στον δίσκο κατά την εκτέλεση μιας κλήσης fsync(). Υπό κανονικές συνθήκες, η εκτέλεση της συνάρτησης fsync() συγχρονίζει ένα πλεονάζον σύνολο μεταδεδομένων. Στη λειτουργία fast_commit, μόνο τα μεταδεδομένα που είναι απαραίτητα για την ανάκτηση του συστήματος αρχείων σε περίπτωση σφάλματος μεταφέρονται στο μητρώο, γεγονός που επιταχύνει τις κλήσεις fsync() και βελτιώνει την απόδοση των λειτουργιών που χειρίζονται ενεργά τα μεταδεδομένα.

Ενώ για Το Btrfs περιλαμβάνει σημαντικές βελτιστοποιήσεις απόδοσης που σχετίζονται με λειτουργίες fsync (). Η μείωση της διαφωνίας log mutex οδήγησε σε αύξηση της απόδοσης κατά 4% και μείωση του λανθάνοντος χρόνου κατά 14% κατά την εκτέλεση του δείκτη αναφοράς dbench με 32 πελάτες. Η εξάλειψη πρόσθετων δεσμεύσεων για συνδέσμους και αλλαγές ονόματος αύξησε το εύρος ζώνης κατά 6% και μείωσε την καθυστέρηση κατά 30%. Ο περιορισμός του fsync για αναμονή μόνο κατά την επανεγγραφή αυξάνει την απόδοση κατά 10-40%.
Επιπλέον, Η εφαρμογή Btrfs του άμεσου I / O (direct io) έχει μεταφερθεί στο πλαίσιο iomap. 

Το XFS προσθέτει αλλαγές στα μεταδεδομένα inode για την αντιμετώπιση προβλημάτων υπερχείλισης στον τύπο δεδομένων time_t 32-bit το 2038. Παρόμοιες αλλαγές, οι οποίες μετέφεραν την υπερχείλιση του μετρητή χρόνου στο έτος 2468, προστέθηκαν στον κώδικα για τον υπολογισμό των χρόνων ποσόστωσης δίσκου. Η μορφή XFS V4 έχει κηρυχθεί παρωχημένη. Οι χρήστες ενθαρρύνονται να αναβαθμίσουν στη μορφή V5, αλλά υπάρχει άφθονος χρόνος για την αναβάθμιση, καθώς η υποστήριξη V4 θα συνεχιστεί μέχρι το 2030. Το XFS έχει επίσης αλλάξει το μέγεθος της καταχώρησης inode btree, επιτρέποντας περισσότερους ελέγχους πλεονασμού και ταχύτερους χρόνους προσάρτησης.

Για το υποσύστημα FUSE που εφαρμόστηκε η υποστήριξη λειτουργιών DAX για άμεση πρόσβαση στο σύστημα αρχείων, παρακάμπτοντας την προσωρινή μνήμη σελίδας χωρίς συσκευή κλειδώματος σε επίπεδο εφαρμογής που χρησιμοποιείται για να αποφευχθεί η διπλή κρυφή μνήμη από την οργάνωση της κοινής πρόσβασης σε συστήματα επισκεπτών , καταλόγους και αρχεία. Το Virtiofs προσθέτει επίσης υποστήριξη για ξεχωριστή τοποθέτηση διαμερισμάτων με διαφορετικά σημεία προσάρτησης στο σύστημα κεντρικού υπολογιστή.

Το σύστημα αρχείων F2FS προσθέτει μια νέα λειτουργία συλλογής απορριμμάτων ATGC (Συλλογή απορριμμάτων κατωφλίου ηλικίας) , βελτιωμένη υποστήριξη για συσκευές NVMe σε ζώνες και ταχύτερη αποσυμπίεση συμπιεσμένων δεδομένων.

Στα F2FS και Ext4, ο τρόπος εργασίας με ονόματα αρχείων που δεν κάνουν διάκριση πεζών-κεφαλαίων έχει επανασχεδιαστεί. Έχει αποφασιστεί να ενοποιηθεί η υλοποίηση ονομάτων αρχείων που δεν κάνουν διάκριση πεζών-κεφαλαίων, μετακινώντας τον σχετικό κώδικα σε μια κοινή βιβλιοθήκη.

Μια άλλη σημαντική αλλαγή είναι στην ασύγχρονη διεπαφή εισόδου/εξόδου io_uring, η οποία προσθέτει τη δυνατότητα δημιουργίας περιορισμένων δακτυλίων που μπορούν να κοινοποιηθούν με ασφάλεια σε μια μη αξιόπιστη διεργασία. Αυτή η λειτουργία επιτρέπει στη βασική εφαρμογή να περιορίζει επιλεκτικά την πρόσβαση μόνο στους μεμονωμένους περιγραφείς αρχείων της για χρήση από εφαρμογές τρίτων μέσω του io_uring. Επιπλέον, η σημαία PIDFD_NONBLOCK έχει προστεθεί στην κλήση συστήματος pidfd_open() για τη δημιουργία ενός μη κλειδωμένου περιγραφέα αρχείου (ανάλογα με το O_NONBLOCK για pidfd).


Προσθήκη ως προτιμώμενης πηγής στην Google