Si Tejun Heo noong nakaraang linggo ay nagsumite ng mga pagbabago sa workqueue para sa Linux 6.5 kernel at may kasama silang kawili-wiling karagdagan.

Ang workqueue code para sa Linux 6.5 ay nagdaragdag ng awtomatikong CPU intensive detection at monitoring. Ang serye ng patch mula sa Tejun na nagpapatuloy sa loob ng ilang buwan ay nagpapaliwanag:

“Upang suportahan ang mga per-cpu work item na maaaring sumakop sa CPU sa mahabang panahon, ang workqueue ay may WQ_CPU_INTENSIVE na flag na nagpapaliban sa trabaho mga item na inisyu sa pamamagitan ng minarkahang workqueue mula sa concurrency management-sinimulan kaagad ang mga ito at hindi hinaharangan ang iba pang mga item sa trabaho. Habang gumagana ito, ito ay madaling kapitan ng error dahil madaling makalimutan ng user ng workqueue na itakda ang flag o itakda ito nang hindi kinakailangan. Higit pa rito , ang mga epekto ng maling setting ng flag ay maaaring hindi direkta at mapaghamong sa root-cause.

Ginagawa ng patchset na ito ang workqueue na auto-detect ang CPU intensive work item batay sa pagkonsumo ng CPU. Kung ang isang work item ay kumonsumo ng higit sa threshold (10ms by default) ng oras ng CPU, awtomatiko itong mamarkahan bilang CPU intensive kapag na-iskedyul ito na nag-a-unblock ng pagsisimula ng mga nakabinbing per-cpu na mga item sa trabaho.

Ang mekanismo ay hindi palya dahil ang mga pagkaantala sa pagtuklas ay maaaring madagdagan kung maraming CPU-hogging work item ang sabay na nakapila. Gayunpaman, sa ganitong mga sitwasyon, ang mas malaking problema ay malamang na ang CPU ay puspos ng mga per-cpu work item at ang solusyon ay gagawing UNBOUND ang mga ito. Ang mga pagbabago sa hinaharap ay gagawing mas kaakit-akit ang UNBOUND workqueues sa pamamagitan ng pagpapabuti ng kanilang mga gawi sa lokalidad at pagkaka-configure. Maaari naming alisin ang tahasang WQ_CPU_INTENSIVE na flag.”

Kaya ngayon sa Linux 6.5, ang mabibigat na per-CPU na mga work item na ito ay hindi isasama sa concurrency management upang maiwasan ang pagkaantala sa pagpapatupad ng iba pang work item.

Higit pang mga detalye sa workqueues na ito ay nagbabago para sa Linux 6.5 sa pamamagitan ng hatak na ito.

Categories: IT Info