Portál AbcLinuxu, 7. května 2025 10:01
Jaderné noviny – 12. 4. 2018: První polovina začleňovacího okna 4.17
Články
-
Jaderné noviny – 12. 4. 2018: První polovina začleňovacího okna 4.17
Stav vydání jádra. První polovina začleňovacího okna 4.17.
Stav vydání jádra
Kernel release status. Jonathan Corbet. 11. dubna 2018
Začleňovací okno 4.17 bylo stále otevřené a k jeho uzavření došlo 15. dubna.
Stabilní aktualizace:
4.16.1,
4.15.16,
4.14.33,
4.9.93,
4.4.127 a
3.18.103 byly vydány 8. dubna. 10. dubna následovala aktualizace
3.18.104, která opravuje chybu při sestavení.
Aktualizace 4.16.2,
4.15.17 a
4.14.34 byly v době psaní článku revidovány a vyšly 12. dubna.
O den později následovaly aktualizace
4.9.94,
4.4.218 a
3.18.105.
První polovina začleňovacího okna 4.17
The first half of the 4.17 merge window. Jonathan Corbet. 5. dubna 2018
V době psaní tohoto článku bylo do hlavního repozitáře pro vydání 4.17 začleněno 5 392 neslučovacích sad změn. Začleňovací okno 4.17 je tedy na dobré cestě, ale zdaleka ještě není hotovo. Dosud začleněné změny pokrývají rozsáhlou část jádra, jakožto i subsystémů sítí, ovladačů a souborových systémů.
Vybrané významnější začleněné změny zahrnují:
Ústřední část jádra
- Stále se rozšiřující systémové volání
perf_event_open()
získalo schopnost umístit sondu kprobe či uprobe a spojit s ní novou událost, sonda poté vydrží po celou dobu existence vzniklého deskriptoru souboru. Takto vytvořené sondy nebudou pozorovatelné virtuálním souborovým systémem tracefs. Toto rozhraní vzniklo za účelem zajistit, že sondy zaniknou, až proces, který je vytvořil, skončí.
- Kód, který v plánovači odhaduje zátěž, se dočkal vylepšení, především s ohledem na druhy zátěže v mobilních a embedded zařízeních.
- Nový příkaz
BPF_RAW_TRACEPOINT
systémového volání bpf()
ke sledovacímu bodu připojí program BPF, ale nebude zpracovávat argumenty sledovacího bodu před voláním programu. Tím se umožňuje trasování s minimální režií za cenu větší vyžadované obezřetností při psaní programů BPF. Stručné shrnutí této funkcionality najdete v tomto commitu.
Změny určitých architektur
- Byla přidána podpora architektury Andes Technologies NDS32.
- Jak bylo popsáno v tomto článku, došlo k odstranění architektur blackfin, cris, frv, m32r, metag, mn10300, score a tile. Zdá se, že už je nikdo nepoužíval. Příslušný začleněný commit jádro zmenšuje o takřka 470 tisíc řádek kódu.
- Funkce SPARC Application Data Integrity je nyní podporována. Umožňuje přidávat štítky adresám virtuální paměti. Takový štítek je čtyřbitová hodnota, která se umístí do horních bitů adresy. Reference bez řádného štítku vyvolají trap. Podrobnosti v tomto commitu.
Souborové systémy
- Souborový systém XFS nyní podporuje volbu
lazytime
při připojování.
- Souborový systém Btrfs již dlouho podporuje řízení transakcí pomocí skupiny operací
ioctl()
. Bylo však shledáno, že nejsou využívány, a tak jsou v cyklu 4.17 odstraněny.
- Souborový systém CIFS nově podporuje integritu před autentizací, součást SMB 3.1.1 Rovněž SMB 3.1.1 již nenese označení „experimentální“.
- Souborový systém ext4 se stal odolnějším vůči zákeřně vytvořeným obrazům souborového systému. Správce Ted Ts'o upozorňuje: „Lidem kolem kontejnerů ale stále nedoporučuji, aby věřili bludům, že připojování nahodilých obrazů, které mohly být vytvořeny zákeřnými útočníky, je příčetné chování.“
Sítě
- Protokol Reliable Datagram Socket nyní umí fungovat bez kopírování.
- Nově je možné používat skripty BPF k filtrování provozu odeslaného systémovými voláními
sendmsg()
a sendfile()
. Podrobnosti v tomto commitu.
- Byla přidána implementace strany příjemce protokolu TLS. Doplňuje se tím stávající implementace odesílání, a tak je podpora protokolu TLS v jádře úplná.
- Systémovým voláním
bind()
a connect()
byla přidána skupina háčků BPF pro práci s kontrolními skupinami. Připojené programy mohou měnit chování těchto volání. Nějaké informace jsou k mání v tomto commitu.
Podpora hardwaru
- Grafika: panely ARM Versatile, HDMI PHY Allwinner DesignWare, GPU AMD Vega12 a 720×1280 DSI panely Raydium RM68200.
- Multimédia: HDMI přijímače NXP TDA1997x, senzory Omnivision ov2685 a ov5695, CEU Renesas, DVB-T2/T tunery/demodulátory Sony CXD2880 a iMON přijímače SoundGraph.
- Různé: regulátory napětí Marvell 88PG86X, KCS IPMI rozhraní Aspeed a PATA řadiče Amiga Gayle.
- Sítě: transceivery NXP MCR20AVHM, rozhraní gigabitového Ethernetu Microchip LAN743x a rozhraní Intel E800 Ethernet Series.
- Řízení pinů: řadiče pinů Qualcomm SDM845, NXP IMX6SLL, MediaTek MT2712 a Allwinner H6.
Různé
Změny uvnitř jádra
- Sestavení jádra pro architekturu x86 nyní vyžaduje překladač podporující
asm goto
, tzn. je potřeba GCC 4.5 nebo novější. Clang je tím pádem na x86 mimo hru, dokud i on nezačne podporovat asm goto
.
wait_on_atomic_one()
bylo nahrazeno obecnějším rozhraním wait_event_var()
. Podrobnosti v tomto článku.
- V rámci velkého úklidu napříč jádrem byla odstraněna téměř všechna přímá vyvolání systémových volání zevnitř jádra. Užitečné je to z celé řady důvodů: mimo jiné to dodává rozhraní systémových volání na pružnosti a usnadňuje odstranění volání
set_fs()
. V dohledné době se chystá významná změna mechanismu systémových volání na architektuře x86.
Toto začleňovací okno zabralo obvyklé dva týdny, a tedy zůstalo otevřené do 15. dubna – k finálnímu vydání 4.17 dojde začátkem června. Na shrnutí zbytku změn začleněných pro toto vydání se podíváme příště.
Odkazy a zdroje
Další články z této rubriky
Diskuse k tomuto článku
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.