ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³ напусна поста ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° DMA Mapping ΠΈ ConfigFS слСд Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust

ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³ (Christoph Hellwig) напусна позицията Π½Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‡ Π½Π° подсистСмитС dma-mapping ΠΈ configfs. Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ сС ΡΡŠΡΡ‚ΠΎΠΈ Π² ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° заявка Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ ΠΎΡ‚ списъка Π½Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‡ΠΈΡ‚Π΅ ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° останалитС ΡΡŠΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‰ΠΈ. Π’ подсистСмата dma-mapping ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ ΠœΠ°Ρ€Π΅ΠΊ Шипровски (Marek Szyprowski) ΠΎΡ‚ Samsung, Π° Π² configfs β€” Π”ΠΆΠΎΡŠΠ» Π‘Π΅ΠΊΠΊΠ΅Ρ€ (Joel Becker) ΠΎΡ‚ Oracle.

ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³ Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° остава Π² списъка Π½Π° ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° подсистСмитС NVM Express, vmalloc ΠΈ FreeVXFS. Π’ ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π΅ Ρ‡Π»Π΅Π½ΡƒΠ²Π°Π» Π² управитСлния тСхничСски ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ Π½Π° организацията Linux Foundation ΠΈ Π΅ участвал Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° подсистСми ΠΊΠ°Ρ‚ΠΎ XFS, KVM, Trace events, SCSI ΠΈ Slab Allocator, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΅ отговарял Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° PowerPC Π² ядрото Π½Π° Linux. ОсвСн Ρ‚ΠΎΠ²Π° ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π΅ Π±ΠΈΠ» ΠΈΡ‰Π΅Ρ† Π² съдСбСн иск срСщу VMware, ΡΠ²ΡŠΡ€Π·Π°Π½ с Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΠΈΡ†Π΅Π½Π·Π° GPL.

ΠŸΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° подсистСмитС dma-mapping ΠΈ configfs Π΅ обусловСно ΠΎΡ‚ изявлСниС Π½Π° Линус Ворвалдс Π·Π° Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π² ядрото ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust нСзависимо ΠΎΡ‚ ΡΡŠΠ³Π»Π°ΡΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° подсистСмитС, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ са създадСни Ρ‚Π΅Π·ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ. ΠŸΡ€Π΅Π· януари ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π° Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ Rust-ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π½Π°Π΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с DMA, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ ядрото напуснаха ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° подсистСмитС Nouveau ΠΈ ARM/Apple. На 24 Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rust for Linux ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ…Π° ΠΏΠ°Ρ‚Ρ‡ със слой Π½Π° абстракция Π·Π° FS configfs, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° която Π΅ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Π» ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³. ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π½Π΅ участва Π² дискусията относно Π½ΠΎΠ²Π°Ρ‚Π° Rust-ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° своята подсистСма ΠΈ слСд няколко Π΄Π½ΠΈ сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π° ΠΎΡ‚ списъка Π½Π° ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° dma-mapping ΠΈ configfs.

ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³ счита, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° няколко ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π΅Π·ΠΈΠΊΠ° Π² Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° слоТни ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ядрото Π½Π° Linux Π΅ нСдопустимо. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„, смСсСнитС ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ услоТняват Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ поставят ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π² зависимост ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° Π΄Ρ€ΡƒΠ³ Π΅Π·ΠΈΠΊ. Π’ частност, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π½Π° Rust, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° подсистСми, написани Π½Π° C, трябва Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ влияниСто Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‰Π°Ρ‚Π° работоспособност Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈΡ‚Π΅. Всяка промяна Π² структуритС Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° C ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ нСобходимостта ΠΎΡ‚ промяна Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈΡ‚Π΅, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ влияят Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈΡ‚Π΅, Π² ΠΊΠΎΠ΄Π° Π½Π° C трябва Π΄Π° сС прослСдяват ΠΈ синхронизират с ΠΊΠΎΠ΄Π° Π½Π° Rust.

Π’ процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ядрото Π²Π΅Ρ‡Π΅ имашС Ρ„Π°ΠΊΡ‚ΠΈ Π·Π° ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° pull-заявки с измСнСния Π² подсистСмата Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ срив ΠΏΡ€ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° компилация Π½Π° ядрото с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Rust. Π‘Ρ€ΠΈΠ²ΡŠΡ‚ възникна Π·Π°Ρ€Π°Π΄ΠΈ нСсинхронизираност с ΠΊΠΎΠ΄Π° Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Rust-ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ (bindgen) ΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈΡ‚Π΅ подсистСмата Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΡ€ΠΈ Π½Π°ΠΏΡ€Π΅Π΄Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, напълно ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° C ΠΊΠΎΠ΄Π° ΠΈ самото ядро, сС ΠΎΠΊΠ°Π·Π°Ρ…Π° зависими ΠΎΡ‚ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ външСн ΠΊΠΎΠ΄ Π² ядрото, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ отговарят Π΄Ρ€ΡƒΠ³ΠΈ Ρ…ΠΎΡ€Π°.

Линус Ворвалдс смята, Ρ‡Π΅ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ Π₯Π΅Π»Π²ΠΈΠ³ няма правомощия Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π² ядрото Π½Π° Rust-ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π·Π° подсистСмата DMA, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π½Π΅ засяга ΠΊΠΎΠ΄Π° Π½Π° подсистСмата DMA Mapping ΠΈ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ сС Π³Ρ€ΠΈΠΆΠΈ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Линус сравнява дСйствията Π½Π° ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ с ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° областта Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° подсистСмата DMA, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ отговарят само Π·Π° ΠΊΠΎΠ΄Π° Π½Π° своята подсистСма, Π° Π½Π΅ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π° ΠΈ Ρ…ΠΎΡ€Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄. НапримСр, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π° Π½Π° основнитС подсистСми ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° някой Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π·Π° намСса Π² ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster