Forwarded from Software Engineer
🔵 عنوان مقاله
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 look at how Linux handles system calls on x86-64, why crossing into the kernel has a cost, and why that cost shows up in performance profiles.
🔵 عنوان مقاله
Linux's IO_uring Sees Some "Crazy" Patches That Deliver Very Nice Improvements
🟢 خلاصه مقاله:
در دنیای لینوکس، بخش سیستم ورودی و خروجی یک بخش حیاتی و پیچیده است که نقش مهمی در بهبود کارایی و سرعت سیستم عامل دارد. اخیراً، توسعهدهندگان این حوزه، به ویژه جنس اکبوه، مدیر بخش مربوط به بلوکهای لینوکس و توسعهدهنده ارشد IO_uring، به دنبال کشف راههایی نوین برای ارتقاء و بهبود کارایی این فریمورک فوقالعاده هستند. تلاشهایی که نتیجه آنها منجر به توسعه بروز رسانیها و پچهای خاصی شده است که توانستهاند به شکل قابل توجهی عملکرد سیستمعامل و عملیاتهای ورودی-خروجی را بهبود بخشند.
در پایان این هفته، جنس اکبوه مجموعهای از این پچهای «عجیب و غریب» منتشر کرده است که معنای واقعی Improvements قابل توجه را به همراه دارند. این تغییرات و اصلاحات، با هدف افزایش سرعت و کاهش تاخیر در فرآیندهای ورودی و خروجی، توانستهاند بهرهوری سیستمهای مبتنی بر لینوکس را به شکل قابل توجهی ارتقاء دهند و نشاندهنده پتانسیل بینظیر این فناوری در رسیدن به سطوح بالاتر کارایی است.
این تلاشها نشان میدهند که با نوآوری و تمرکز بر بهبودهای فنی، میتوان سیستمهای متنباز را هر روز بهتر و قدرتمندتر ساخت، و آیندهای روشنتر برای توسعه دهندگان و کاربران رقم زد.
#لینوکس #IO_uring #بهبود_کارایی #توسعه
🟣لینک مقاله:
https://www.phoronix.com/news/Linux-IO-uring-Crazy-Friday
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
Linux's IO_uring Sees Some "Crazy" Patches That Deliver Very Nice Improvements
🟢 خلاصه مقاله:
در دنیای لینوکس، بخش سیستم ورودی و خروجی یک بخش حیاتی و پیچیده است که نقش مهمی در بهبود کارایی و سرعت سیستم عامل دارد. اخیراً، توسعهدهندگان این حوزه، به ویژه جنس اکبوه، مدیر بخش مربوط به بلوکهای لینوکس و توسعهدهنده ارشد IO_uring، به دنبال کشف راههایی نوین برای ارتقاء و بهبود کارایی این فریمورک فوقالعاده هستند. تلاشهایی که نتیجه آنها منجر به توسعه بروز رسانیها و پچهای خاصی شده است که توانستهاند به شکل قابل توجهی عملکرد سیستمعامل و عملیاتهای ورودی-خروجی را بهبود بخشند.
در پایان این هفته، جنس اکبوه مجموعهای از این پچهای «عجیب و غریب» منتشر کرده است که معنای واقعی Improvements قابل توجه را به همراه دارند. این تغییرات و اصلاحات، با هدف افزایش سرعت و کاهش تاخیر در فرآیندهای ورودی و خروجی، توانستهاند بهرهوری سیستمهای مبتنی بر لینوکس را به شکل قابل توجهی ارتقاء دهند و نشاندهنده پتانسیل بینظیر این فناوری در رسیدن به سطوح بالاتر کارایی است.
این تلاشها نشان میدهند که با نوآوری و تمرکز بر بهبودهای فنی، میتوان سیستمهای متنباز را هر روز بهتر و قدرتمندتر ساخت، و آیندهای روشنتر برای توسعه دهندگان و کاربران رقم زد.
#لینوکس #IO_uring #بهبود_کارایی #توسعه
🟣لینک مقاله:
https://www.phoronix.com/news/Linux-IO-uring-Crazy-Friday
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
Phoronix
Linux's IO_uring Sees Some "Crazy" Patches That Deliver Very Nice Improvements
Linux block subsystem maintainer and IO_uring lead developer Jens Axboe continues to uncover new opportunities for making the wonderful IO_uring framework even more performant within the Linux kernel