
به گزارش فورونیکس (Phoronix)، تغییرات زیرسیستم PCI/PCIe برای پنجره ادغام (Merge Window) لینوکس ۷.۴ ادغام شده است. این چرخه شامل وصلههای هسته (Kernel) و بهبودهای دستگاهمحور متعددی است، اما یکی از تغییرات قابل توجه به بهبود مدیریت انرژی (Power Management) در فرآیند هایبرنیت (Hibernation) لینوکس مربوط میشود.
خلاصه تغییرات کلیدی
- هماهنگسازی جریان خاموششدن هایبرنیت با جریان تعلیق برای پلهای PCI(e).
- امکان بردن پلهای PCIe دارای دستگاههای پاییندستی به حالتهای کممصرف D3hot یا D3cold در هایبرنیت.
- جلوگیری از باقیماندن پلهای دارای فرزند فعال در حالت D0 در مسیر poweroff_noirq.
- کمک به برآوردهشدن معیارهای گواهی انرژی، بهویژه در طراحیهای دارای کارت گرافیک مجزا (dGPU).
هماهنگی هایبرنیت با تعلیق برای پلهای PCIe
جریان خاموششدن (Poweroff Flow) در هایبرنیت لینوکس اکنون برای پلهای PCI(e) با جریان تعلیق (Suspend Flow) هماهنگ شده است تا این پلها نیز در فرآیند هایبرنیت بتوانند به حالت کممصرف (Low-Power State) بروند. پیش از این، رفتار تعلیق لینوکس چنین امکانی را پوشش میداد، اما پلها در فرآیند هایبرنیت پوشش داده نمیشدند.
توضیح مهندس AMD و جزئیات فنی
ماریو لیمونچیلو (Mario Limonciello)، مهندس لینوکس در AMD، در پیام وصله (Patch) خود درباره این تغییر توضیح داده است: در تعلیق S3، تابع pci_pm_suspend_noirq() پلهای PCIe دارای دستگاههای پاییندستی را در صورت مجاز بودن پلتفرم به حالت کممصرف D3hot یا D3cold میبرد. اما مسیر poweroff_noirq در هایبرنیت هرگز این کار را انجام نمیداد و تنها برای دستگاههای بدون زیرمجموعه pci_prepare_to_sleep() را فراخوانی میکرد؛ در نتیجه پلهایی که فرزند فعال داشتند در حالت D0 باقی میماندند.
اهمیت برای گواهیهای انرژی
به گفته او، در بسیاری از طراحیها فریمور پلتفرم (Platform Firmware) هنگام ورود سیستم به حالت S4 پلها را رها میکند. این موضوع میتواند مانع از برآوردهشدن معیارهای مختلف گواهیهای انرژی (Energy Certifications) در مناطق مختلف جهان شود، بهویژه در طراحیهایی که از کارت گرافیک مجزا (dGPU) استفاده میکنند.
بنابراین این تغییر برای بهبود مدیریت انرژی و کمک به تطابق رفتار هایبرنیت لینوکس با گواهیهای انرژی اهمیت دارد. فهرست کامل تغییرات PCI برای لینوکس ۷.۴ از طریق درخواست ادغام (Pull Request) مربوطه در دسترس است.