Ẹya keji ti awọn abulẹ pẹlu atunto ti awọn faili akọsori ekuro Linux

Ingo Molnar ṣe afihan ẹya keji ti ṣeto awọn abulẹ kan ti o le dinku akoko ti atunko ekuro ni pataki nipasẹ atunto awọn ipo ipo ti awọn faili akọsori ati idinku nọmba awọn igbẹkẹle-agbelebu. Ẹya tuntun yatọ si ẹya akọkọ ti a dabaa ni awọn ọjọ diẹ sẹhin nipasẹ isọdọtun fun ekuro 5.16-rc8, ṣafikun awọn iṣapeye afikun ati imuse atilẹyin fun kikọ ni lilo akopọ Clang. Nigbati o ba nlo Clang, lilo awọn abulẹ dinku akoko kikọ nipasẹ 88% tabi 77% ni awọn ofin ti agbara orisun Sipiyu. Nigbati o ba tun ekuro naa ṣe patapata pẹlu aṣẹ “ṣe -j96 vmlinux,” akoko kikọ ti dinku lati 337.788 si awọn aaya 179.773.

Ẹya tuntun tun yanju iṣoro naa pẹlu awọn afikun GCC, ṣe atunṣe awọn aṣiṣe ti a damọ lakoko ilana atunyẹwo akọkọ, ati isokan awọn ikede ẹda-ẹda ti igbekalẹ “task_struct_per_task”. Ni afikun, iṣapeye ti faili akọsori linux/sched.h tẹsiwaju ati iṣapeye ti awọn faili akọsori ti RDMA subsystem (infiniband), eyiti o jẹ ki o ṣee ṣe lati dinku akoko kikọ siwaju sii nipasẹ 9% ni akawe si ẹya akọkọ. ti awọn abulẹ. Nọmba awọn faili kernel C ti o pẹlu linux/sched.h faili akọsori ti dinku lati 68% si 36% ni akawe si ẹya akọkọ ti awọn abulẹ (lati 99% si 36% ni akawe si ekuro atilẹba).

orisun: opennet.ru

Fi ọrọìwòye kun