Linux Labdon
374 subscribers
35 photos
1 file
639 links
🕸 Linux Labdon

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
Forwarded from Software Engineer Labdon
🔵 عنوان مقاله
What Makes System Calls Expensive: A Linux Internals Deep Dive (18 minute read)

🟢 خلاصه مقاله:
این مقاله توضیح می‌دهد چرا syscall در Linux گران است: عبور از مرز user به kernel باعث برهم‌زدن وضعیت ریزمعماری CPU می‌شود؛ از تخلیه pipeline و پاک‌سازی پیش‌بینی انشعاب تا به‌هم‌خوردن return stack buffer. در مسیر ورود/خروج syscall، kernel علاوه بر جابه‌جایی بین stack و گاه page table (در نتیجهٔ KPTI)، مجموعه‌ای از دفاع‌ها علیه حملات حدسی مثل Spectre را اعمال می‌کند؛ اقداماتی مانند IBPB/IBRS/STIBP، retpoline و RSB stuffing که همگی چرخه‌های اضافی مصرف می‌کنند. نتیجه این است که بخش بزرگی از هزینه، صرف خودِ تغییر سطح دسترسی و بازسازی بهینه‌سازی‌های CPU می‌شود، نه منطق اصلی kernel.

نمونهٔ روشن آن vDSO است که clock_gettime را در user-space فراهم می‌کند و بر اساس بنچمارک‌ها حدود ۸۹٪ سریع‌تر از نسخهٔ syscall عمل می‌کند؛ یعنی خودِ عبور به kernel گلوگاه اصلی است. پیام عملی برای توسعه‌دهندگان این است که در مسیرهای داغ از فراوانی syscall بکاهند: از vDSO برای زمان، batching و I/O برداری، و راهکارهایی مانند io_uring یا async I/O استفاده کنند و نتایج تکراری را cache نمایند. جمع‌بندی: هزینهٔ syscall بیشتر از برهم‌خوردن وضعیت ریزمعماری و ملاحظات امنیتی ورود/خروج ناشی می‌شود و پرهیز از این عبورها می‌تواند بهبود چشمگیری در کارایی ایجاد کند.

#Linux #Syscalls #Kernel #Performance #Microarchitecture #Spectre #vDSO #io_uring

🟣لینک مقاله:
https://blog.codingconfessions.com/p/what-makes-system-calls-expensive?utm_source=tldrinfosec


👑 @software_Labdon