
هسته لینوکس (Linux Kernel) مجموعهای از پچهای (Patch) در انتظار را دریافت کرده است که فلاشینگ کش (Cache Flushing) نرمافزاری را در ارتباط با Intel Trust Domain Extensions (TDX) حذف میکند. بر اساس گزارش Phoronix، این تغییر میتواند با حذف فلاشینگهای غیرضروری، به عملکرد ماشینهای مجازی (VM) مجهز به TDX اینتل کمک کند.
چرا فلاشینگ کش در TDX غیرضروری بود؟
در معماری اولیه TDX فرض میشد سختافزار برای انتقال حافظه میان KeyIDها که در رمزنگاری کل حافظه (Total Memory Encryption یا MKTME) برای کلیدهای یکتای AES استفاده میشوند، به کمک نرمافزار برای فلاشینگ کش نیاز دارد. به همین دلیل معماری TDX مشخص میکرد که مدیر ماشین مجازی (VMM) چگونه باید به ماژول در انجام این کار کمک کند.
اما در عمل مشخص شد سختافزار پردازندههای Intel Xeon این مسائل را بدون کمک نرمافزار مدیریت میکند. با این حال، بخش مربوط به فلاشینگ در معماری TDX باقی مانده بود. اکنون معماری TDX اصلاح میشود و لینوکس میتواند کدی را که برای این فلاشینگ غیرضروری کمک میکرد حذف کند.
جزئیات تغییرات و مستندات اینتل
ریک اجکامب (Rick Edgecombe)، مهندس نرمافزار اینتل، در فهرست پستی هسته لینوکس توضیح داده است که مجموعه پچ «Drop unneeded cache flushing» این کد اضافی را حذف میکند. به گفته او، تغییرات در بهروزرسانی آینده مستندات ظاهر خواهند شد.
- تمام سختافزارهای نهاییشده TDX به فلاشینگ کش اضافی نرمافزاری حول KeyIDها نیاز ندارند.
- مستندات اینتل این موضوع را منعکس نکرده بود و قرار است در بازنگری بعدی بهروزرسانی شود.
- TDX اینتل نخست در برخی پردازندههای Xeon Sapphire Rapids ظاهر شد و از Emerald Rapids به بعد در همه پردازندههای Xeon پشتیبانی میشود.
این تغییر کد هسته را سادهتر میکند، اما در پیامهای پچ اشارهای به تأثیر عملکردی مورد انتظار نشده است.