Μετά την πρόσφατη εργασία του πίνακα σελίδων AMD IOMMU v2 και άλλες βελτιώσεις του IOMMU ως μέρος της προσπάθειας της AMD να βελτιώσει περαιτέρω την υποστήριξη εικονικοποίησης Linux σε πλατφόρμες διακομιστών EPYC, οι πιο πρόσφατες ενημερώσεις κώδικα από την AMD από χθες είναι για εργασία σε εικονικό IOMMU με επιτάχυνση υλικού (AMD HW-vIOMMU).
Η λειτουργία AMD Hardware Accelerated Virtualized IOMMU παρέχει μερική επιτάχυνση υλικού για την υλοποίηση των IOMMU επισκεπτών με εικονικοποίηση του buffer εντολών επισκέπτη, του αρχείου καταγραφής συμβάντων επισκέπτη και του αρχείου καταγραφής PPR επισκέπτη. Σε τελική ανάλυση, η εργασία αφορά τη βελτίωση της απόδοσης εισόδου/εξόδου μέσω PCI, παρέχοντας παράλληλα προστασία εισόδου/εξόδου επισκέπτη.
Η σειρά ενημερώσεων κώδικα που εστάλη την Τετάρτη από τον μηχανικό της AMD Linux Suravee Suthikulpanit προσθέτει περαιτέρω:
“Επιπλέον, αυτή η δυνατότητα μπορεί να χρησιμοποιηθεί σε συνδυασμό με ένθετους πίνακες σελίδων IOMMU για επιταχυνόμενη μετάφραση διευθύνσεων από το GIOVA στο GPA. Σε αυτήν την περίπτωση, ο πίνακας κεντρικών σελίδων (γνωστός και ως στάδιο2 ή v1) διαχειρίζεται ο υπερεπόπτης (π.χ. KVM/VFIO) και ο πίνακας σελίδων επισκέπτη (γνωστός και ως στάδιο1 ή v2) διαχειρίζεται ο επισκέπτης IOMMU πρόγραμμα οδήγησης (π.χ. κατά την εκκίνηση του πυρήνα επισκέπτη με τη λειτουργία amd_iommu=pgtable_v2).
Δεδομένου ότι το υλικό IOMMU εικονικοποιεί το buffer εντολών επισκέπτη, αυτό επιτρέπει την επιτάχυνση των λειτουργιών του IOMMU, όπως η ακύρωση των σελίδων επισκέπτη (δηλαδή το στάδιο1) όταν η εντολή εκδίδεται από τον πυρήνα επισκέπτη χωρίς παρέμβαση από τον hypervisor.
Αυτή η σειρά υλοποιείται πάνω από το πλαίσιο IOMMUFD. Αξιοποιεί τα υπάρχοντα API και ioctls για την παροχή πληροφοριών iommu επισκεπτών (δηλ. struct iommu_hw_info_amd), και επιτρέποντας στον επισκέπτη να παρέχει πληροφορίες πίνακα επισκεπτών (δηλαδή δομή iommu_hwpt_amd_v2) για τη ρύθμιση του τομέα χρήστη.”
Η εργασία της AMD IOMMU προς αυτήν την κατεύθυνση έχει γίνει εδώ και λίγο καιρό. είναι καλό να το βλέπουμε να πλησιάζει.
Το 2021 η AMD παρουσιάστηκε στη διεύθυνση τη διάσκεψη του φόρουμ kVM γύρω από την προσπάθεια πρωτοτύπου τους σε εκείνο το σημείο. patches εξακολουθούν να επισημαίνονται ως”αίτημα για σχόλια”καθώς οριστικοποιούνται σχετικά με την υλοποίηση και ελπίζουμε να φτάσουν στον κύριο πυρήνα Linux στο όχι πολύ μακρινό μέλλον.