د پیچونو یوه سیټ خپور شوی چې د 50-80٪ لخوا د لینکس کرنل رامینځته کول ګړندي کوي

انګو مولنر، د لینوکس کرنل مشهور جوړونکی او د CFS (په بشپړ ډول منصفانه شیډولر) ټاسک شیډولر لیکوال، د لینکس کرنل پراختیا کونکي میلینګ لیست په اړه د بحث لپاره وړاندیز کړی د پیچونو لړۍ چې د کرنل سرچینو کې د نیمایي څخه ډیر فایلونه اغیزه کوي او د ترتیباتو پراساس د 50-80٪ لخوا د بشپړ کرنل بیا جوړونې سرعت کې زیاتوالی چمتو کوي. تطبیق شوی اصلاح د پام وړ دی چې پدې کې د کرنل پراختیا په تاریخ کې د بدلونونو ترټولو لوی سیټ اضافه کول شامل دي - 2297 پیچونه په یوځل کې د شاملولو لپاره وړاندیز شوي ، له 25 زره څخه ډیر فایلونه بدلول (د "شامل/" کې 10 زره سرلیک فایلونه او "arch/*/include/" لارښودونه "او 15 زره فایلونه د سرچینې متنونو سره).

د فعالیت لاسته راوړنه د سرلیک فایلونو پروسس کولو میتود بدلولو سره ترلاسه کیږي. د یادونې وړ ده چې د کرنل پراختیا له دېرشو کلونو راهیسې، د سرلیک فایلونو حالت د فایلونو ترمنځ د کراس انحصارونو د لوی شمیر شتون له امله خپګان څرګند کړی. د سرلیک فایل بیا تنظیم کول یو کال وخت نیسي او د درجه بندي او انحصارونو د پام وړ بیا کار کولو ته اړتیا لري. د بیا جوړونې په جریان کې، کار د مختلف کرنل فرعي سیسټمونو لپاره د ډول تعریفونو او APIs جلا کولو لپاره ترسره شو.

د بدلونونو په مینځ کې: د لوړې کچې سرلیک فایلونه له یو بل څخه جلا کول ، د انلاین افعال له مینځه وړل چې د سر فایلونو سره اړیکه لري ، د ډولونو او APIs لپاره د سر فایلونو جلا کول ، د سرلیک فایلونو جلا جلا تنظیم یقیني کول (شاوخوا 80 فایلونه غیر مستقیم انحصار درلود چې په مجلس کې مداخله کوي ، له لارې افشا شوي. نور سرلیک فایلونه)، په ".h" او ".c" فایلونو کې د انحصاراتو اتوماتیک اضافه کول، د سرلیک فایلونو ګام په ګام اصلاح کول، د "CONFIG_KALLSYMS_FAST=y" حالت کارول، د اسمبلۍ بلاکونو کې د C فایلونو انتخابي یوځای کول. د اعتراض فایلونو شمیر کم کړئ.

د پایلې په توګه، ترسره شوي کار دا ممکنه کړه چې د سرلیک فایلونو اندازه کمه کړي چې د پروسس کولو وروسته مرحله کې پروسس شوي د 1-2 امرونو اندازه کمه کړي. د مثال په توګه، د اصلاح کولو دمخه، د سرلیک فایل "linux/gfp.h" کارولو په پایله کې د کوډ 13543 لینونو اضافه کول او د 303 انحصار سرلیک فایلونو شاملول، او د اصلاح کولو وروسته اندازه 181 لینونو او 26 پورې تړلي فایلونو ته راټیټه شوه. یا بله بېلګه: کله چې د "kernel/pid.c" فایل پرته له پیچ څخه پروسس کول، د کوډ 94 زره لینونه شامل دي، چې ډیری یې په pid.c کې نه کارول کیږي. د سرلیک فایلونو جلا کول دا امکان رامینځته کړی چې د پروسس شوي کوډ مقدار درې ځله کم کړي ، د پروسس شوي لینونو شمیر 36 زره ته راکم کړي.

کله چې کرنل په بشپړ ډول د ازموینې سیسټم کې د "make -j96 vmlinux" کمانډ سره بیا جوړ شو، د پیچونو غوښتنلیک د v5.16-rc7 څانګې د جوړیدو وخت له 231.34 څخه تر 129.97 ثانیو پورې کموالی ښودلی (د 15.5 څخه تر 27.7 جوړونو پورې. فی ساعت) ، او همدارنګه د مجلسونو په جریان کې د CPU کور کارولو موثریت ډیر کړی. د زیاتیدونکي جوړونې سره، د اصلاح کولو اغیزه نوره هم د پام وړ ده - د سرلیک فایلونو کې د بدلونونو وروسته د کرنل د بیا جوړولو وخت د پام وړ کم شوی (د 112٪ څخه تر 173٪ پورې د سرلیک فایل بدلولو پورې اړه لري). اصلاح اوس مهال یوازې د ARM64، MIPS، سپارک او x86 (32- او 64-bit) جوړښتونو لپاره شتون لري.

سرچینه: opennet.ru

Add a comment