
През последните години Линус Торвалдс не е имал време сам да напише много нов собствен код за ядрото на Linux с днешното управление на разработчиците, предоставяйки проницателни публикации в пощенския списък и преглеждайки кода за сливане в дървото на ядрото заедно със свързани задачи. За Linux 6.4 обаче успя да напише нов код.
Линус Торвалдс миналата седмица обедини своя клон „x86-rep-insns“ в ядрото за прозореца за сливане на Linux 6.4. Фокусът на кода на Torvalds за Linux 6.4 е да изчисти кода за копиране на x86 памет. обясни в Git сливане:
Това изчиства голяма част от нашия код за копиране на памет x86, особено за потребителски достъп. Дълго време настоявам за внимателна поддръжка на архитектурата за копиране и изтриване на паметта и се вижда колко агресивно ядрото използва rep movs’ и „rep stos“, когато е възможно.
И тази микроархитектурна поддръжка се е подобрила през годините до точката, в която в модерен CPU най-добрият вариант за екземпляр на паметта, който би се превърнал в извикване на функция (за разлика от нещо, което може да бъде прехвърлено само в индивидуални инструкции за „преместване“) сега е вместо това да включва последователността от низови инструкции.
Това обаче има смисъл само когато разполагаме със съвременните тагове за това: възможности за x86 FSRM и FSRS („Fast Short REP MOVS/STOS“).
Така че това изчиства голяма част от нашия исторически код, отървава се от използването на стария флаг („REP_GOOD“ и „ERMS“) от състоянията на memcpy/memset и го заменя с тази съвременна реалност. Обърнете внимание, че REP_GOOD и ERMS все още се използват от известни големи случаи (напр. изчистване на стека от страници).
Причината голяма част от това да е свързана с потребителския достъп до паметта е, че нормалните състояния вътре в ядрото се извършват от компилатора (__builtin_memcpy() и __builtin_memset()) и стигаме до точката, в която можем да използваме нашето пренаписване на инструкции, за да включим тези заявява, че инструкциите за низ ще трябва да поддържат някаква поддръжка на компилатор.
За разлика от това, функционалността на потребителския конектор се контролира изцяло от кода на ядрото, така че можем да го променяме произволно.
Прозорецът за консолидация на Linux 6.4 остава отворен до края на следващата седмица, тъй като продължава да се пуска още код на функции.

Николай Петков е автор в PRKernel.com, който следи и отразява актуални събития от сферата на новините, политиката, бизнеса, технологиите, спорта, развлеченията и начина на живот. Той се стреми да представя информацията по ясен, достъпен и обективен начин, като поставя акцент върху точността и значимостта за читателите. Работата му е насочена към предоставяне на полезни факти, актуални развития и истории, които помагат на аудиторията да бъде добре информирана за случващото се в страната и по света.

Още истории
Xiaomi официално потвърди 7-инчов OLED дисплей и голяма батерия за Redmi Note 17
Anthropic предлага временно забавяне на развитието на изкуствения интелект
Google Gemini 3.5 Flash показва ново поколение изкуствен интелект