ΑρχικήUpdatesLinux 6.1: Αναστρέφει 3 γραμμές κώδικα λόγω χαμηλής επίδοσης

Linux 6.1: Αναστρέφει 3 γραμμές κώδικα λόγω χαμηλής επίδοσης

Με τον Linux 6.1, αναστράφηκε η αλλαγή 3 γραμμών κώδικα που προκαλούσαν “τεράστιες παλινδρομήσεις στην απόδοση”.

Ο Linus Torvalds ήταν να κυκλοφορήσει σύντομα τον kernel Linux 6.1-rc8 αντί να κυκλοφορήσει κατευθείαν το Linux 6.1 stable. Έκανε μια μικρή αλλαγή που προκάλεσε “τεράστιες παλινδρομήσεις στην απόδοση” σε ορισμένα σημεία ενώ αυτό εντοπίστηκε πριν προλάβει να προκαλέσει ζημιά.

Οι αλλαγές στον κώδικα που έγιναν στην ενημέρωση Linux 6.1-rc8 προκάλεσαν τεράστια υποχώρηση των επιδόσεων για το υλικό Intel.

Πριν από την έκδοση του Linux 6.1-rc8, μια μικρή αλλαγή που θα είχε ως αποτέλεσμα “τεράστιες παλινδρομήσεις στην απόδοση” έχει εντοπιστεί και έχει αναστραφεί, προς μεγάλη ανακούφιση όλων.

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

Δείτε επίσης: Microsoft Store: Διαθέτει πλέον το υποσύστημα Windows για Linux

Linux 6.1: Αναστρέφει 3 γραμμές κώδικα λόγω χαμηλής επίδοσης
Linux 6.1: Αναστρέφει 3 γραμμές κώδικα λόγω χαμηλής επίδοσης

Το χρονικό παράθυρο συγχώνευσης του Linux 6.1 προκάλεσε μια αλλαγή στον τρόπο διαχείρισης μνήμης προκειμένου να ευθυγραμμίζονται μεγαλύτερα anonymous mappings σε όρια του THP. Η αναφορά έλεγε:

Αντιστοιχίστε μεγαλύτερα ανώνυμα mappings μνήμης με όρια THP πηγαίνοντας στο πεδίο thp_get_unmapped_area αν τα THP είναι ενεργοποιημένα για το τρέχον process.

Με αυτήν την ενημέρωση, μεγαλύτερα ανώνυμα mappings είναι πλέον αντιστοιχισμένα με THP. Όταν ένα malloc library κατανέμει μια arena 2MB ή παραπάνω, αυτή η arena μπορεί να αντιστοιχιστεί με τα THPs από την αρχή, με αποτέλεσμα καλύτερα TLB hit rates και execution time.

Οι τρεις γραμμές κώδικα που άλλαξαν είχαν ως αποτέλεσμα την επιδείνωση των επιδόσεων σε ορισμένα πεδία για τον πυρήνα Linux 6.1.

Στις δοκιμές αναφοράς will-it-scale, μια αλλαγή προκάλεσε επιδείνωση απόδοσης 95% που οδήγησε στο συμπέρασμα ότι φταίει αυτή η αλλαγή. Παρόλο που το benchmark δεν είναι ρεαλιστικό, εγείρει ανησυχίες για το πώς άλλοι φόρτοι εργασίας κάποιων χρηστών μπορεί επίσης να επηρεαστούν αρνητικά.

Ο προγραμματιστής του Linux Nathan Chancellor ανέφερε σημαντική επιδείνωση των χρόνων kernel build από την αρχική αλλαγή. Με όλα τα kernel builds σε σταθμό εργασίας Threadripper 3990X, ο χρόνος build πήγε από 2 ώρες και 20 λεπτά σε πάνω από 3 ώρες… Για ένα build x86_64 allmodconfig, αυξήθηκε από 318 δευτερόλεπτα σε 406 δευτερόλεπτα. Πρόκειται για μια αρκετά σημαντική επιβράδυνση σε σύγκριση με την απόδοση του χρόνου εκτέλεσης που σημειώθηκε στις δοκιμές της Intel. Η αρχική αλλαγή του είχε βοηθήσει με τους χρόνους Linux kernel build με βάση τον GCC, κάνοντας τα kernel build times περίπου 2% ταχύτερα.

Linux 6.1: Αναστρέφει 3 γραμμές κώδικα λόγω χαμηλής επίδοσης
Linux 6.1: Αναστρέφει 3 γραμμές κώδικα λόγω χαμηλής επίδοσης

Δείτε επίσης: OldGremlin: Χρησιμοποιεί Linux ransomware για να στοχεύσει ρώσικους οργανισμούς

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

Ο Linus Torvalds αποφάσισε να ανατρέψει μια διόρθωση 3 γραμμών που θα προκαλούσε σημαντικές παλινδρομήσεις στην απόδοση. Πιστεύει ότι η κατάσταση μπορεί να επιλυθεί χωρίς να προκαλέσει περαιτέρω προβλήματα.

Πηγή: phoronix.com

SecNews
SecNewshttps://www.secnews.gr
In a world without fences and walls, who need Gates and Windows

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS