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
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
Codingconfessions
What Makes System Calls Expensive: A Linux Internals Deep Dive
An explanation of how Linux handles system calls on x86-64 and why they show up as expensive operations in performance profiles
🔵 عنوان مقاله
Linear Address Space Separation Revised Following Prior Intel Engineer's Departure
🟢 خلاصه مقاله:
طی حدود سه سال گذشته، جامعه Linux روی قابلیت LASS کار کرده تا جداسازی فضای آدرس خطی را تقویت و خطر نشت دادهها در حملات همخانواده Spectre/Meltdown را کاهش دهد. ایده اصلی LASS جدا کردن دقیق ناحیههای آدرسدهی کاربر و هسته است تا از عبورهای ناخواسته یا حدسی جلوگیری شود و در کنار KPTI، SMEP/SMAP و دیگر راهکارها لایهای حفاظتی اضافه فراهم کند. پس از خروج یک مهندس از Intel که پیشتر این مجموعه وصلهها را پیش میبرد، سری LASS بازبینی و با هستههای جدید هماهنگ شده و اکنون با مستندسازی و تست بهتر در مسیر ارسال به upstream قرار دارد. انتظار میرود سربار کارایی کم باشد و بسته به ویژگیهای CPU و بار کاری تفاوت کند؛ در عین حال، سازگاری با KASLR، ماژولها و مجازیسازی نیز در حال بررسی است تا امکان ادغام امن در نسخههای آتی Linux فراهم شود.
#LinuxKernel #Security #LASS #Spectre #Meltdown #x86 #Intel #KernelHardening
🟣لینک مقاله:
https://www.phoronix.com/news/Intel-LASS-v10
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
Linear Address Space Separation Revised Following Prior Intel Engineer's Departure
🟢 خلاصه مقاله:
طی حدود سه سال گذشته، جامعه Linux روی قابلیت LASS کار کرده تا جداسازی فضای آدرس خطی را تقویت و خطر نشت دادهها در حملات همخانواده Spectre/Meltdown را کاهش دهد. ایده اصلی LASS جدا کردن دقیق ناحیههای آدرسدهی کاربر و هسته است تا از عبورهای ناخواسته یا حدسی جلوگیری شود و در کنار KPTI، SMEP/SMAP و دیگر راهکارها لایهای حفاظتی اضافه فراهم کند. پس از خروج یک مهندس از Intel که پیشتر این مجموعه وصلهها را پیش میبرد، سری LASS بازبینی و با هستههای جدید هماهنگ شده و اکنون با مستندسازی و تست بهتر در مسیر ارسال به upstream قرار دارد. انتظار میرود سربار کارایی کم باشد و بسته به ویژگیهای CPU و بار کاری تفاوت کند؛ در عین حال، سازگاری با KASLR، ماژولها و مجازیسازی نیز در حال بررسی است تا امکان ادغام امن در نسخههای آتی Linux فراهم شود.
#LinuxKernel #Security #LASS #Spectre #Meltdown #x86 #Intel #KernelHardening
🟣لینک مقاله:
https://www.phoronix.com/news/Intel-LASS-v10
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
Phoronix
Linear Address Space Separation Revised Following Prior Intel Engineer's Departure
Being worked on for the past roughly three years has been Linear Address Space Separation 'LASS' for the Linux kernel as a security improvement in light of Spectre/Meltdown.