Portál AbcLinuxu, 8. května 2025 16:24
Jaderné noviny - 13. 1. 2016: Začleňovací okno 4.5 je otevřeno
Články
-
Jaderné noviny - 13. 1. 2016: Začleňovací okno 4.5 je otevřeno
Stav vydání jádra. Začleňovací okno 4.5 je otevřeno.
Stav vydání jádra
Začleňovací okno 4.5 se otevřelo po vydání verze 4.4, která vyšla 10. ledna. Pro přehled o tom, co již bylo začleněno, viz článek níže.
Stabilní aktualizace: Od 14. prosince nebyly žádné vydány.
V době psaní tohoto textu došlo ke začlenění již 3100 neslučovacích sad změn pro vývojový cyklus 4.5. Vzhledem k tomu, že to bylo teprve tři dny po zahájení, je jasné, že vše je teprve na začátku. I tak již bylo vtaženo dost zajímavých změn. Mezi ty nejzajímavější patří:
- dm-verity subsystém device mapperu, který je pověřen ověřováním integrity dat na příslušném paměťovém zařízení, získal podporu samoopravného kódování. Díky tomu je možná obnova dat i ze zařízení, na kterém došlo k poškození několika po sobě jdoucích bloků. Prvním systém, který pro toto najde využití, je Android, který ostatně dm-verity používá již nyní.
- Mnoho vylepšení subsystému perf events, viz tento začleňovací commit.
- Povinné zamykání souborů je nově volitelné při konfiguraci jádra. Jedná se o první krok směrem k odstranění (někdy v daleké budoucnosti) této neoblíbené a málo využívané funkce.
- Došlo ke sloučení systémového volání copy_file_range(). Umožňuje rychlé kopírování části souboru s možností optimalizace operace příslušným souborovým systémem. Podpůrný kód pro copy_file_range() také usnadnil implementaci operace NFSv4.2 Clone.
- Systémové volání seccomp() je nyní podporováno v portu User-Mode Linux.
- Operace SOCK_DESTROY, která umožňuje systémovému administrátorovi ukončit otevřené síťové připojení, je nyní podporována.
- Byl přidán síťový modul pro řazení disciplín „clsact“. Pro více informací viz. tento commit.
- Rozhraní pro kontrolní skupiny „verze 2“ je nyní považovaný za oficiální a nikoli experimentální. Je možné ho připojit pomocí souborového systému cgroup2. Zatím toto rozhraní nepodporují všechny ovladače, viz Documentation/cgroup-v2.txt.
- Nově podporovaný hardware:
- Šifrování: šifrovací enginy Rockchip a šifrovací akcelerátory Intel C3xxx, C3xxxf, C62x a C62xvf.
- Různé: řadiče přerušení HiSilicon MBIGEN, Technologic TS-4800 a A/D převodník Cirrus Logic CS3308.
- Sítě: Rozhraní Netronome NFP4000/NFP6000 VF, síťové řadiče Analog Devices ADF7242 SPI 802.15.4, virtuální rozhraní IBM VNIC, Freescale data-path acceleration architecture frame manager devices(?), transceivery STMicroelectronics ST95HF NFC.
- Pin control: řadiče Qualcomm MSM8996, Marvell PXA27x, Broadcom NSP GPIO a Allwinner H3.
Změny viditelné jaderným vývojářům:
- Metoda follow_link() ve struct inode_operations byla nahrazena následujícím:
const char *(*get_link) (struct dentry *dentry, struct inode *inode,
struct delayed_call *done);
Od follow_link se liší (bylo popsáno v dřívějším článku) oddělením argumentů dentry a inode, ale hlavně tím, že je možné volat z režimu RCU-walk. V tomto případě bude dentry null a get_link() nemá povolení blokovat.
Přidán byl také mechanismus pro „žebrákovy uzávěry“, reprezentovaný struct delayed_call:
struct delayed_call {
void (*fn)(void *);
void *arg;
};
Viz include/linux/delayed_call.h pro celé (ale malé) rozhraní. V tomto případě by mělo get_link() nastavit done-> do svého destruktoru inode — pravděpodobně toho, který byl dříve zpřístupněn jako (nyní odstraněná) funkce put_link() inode_operations.
K dispozici je nové primitivum pro paměťovou bariéru:
void smp_cond_acquire(condition);
Bude se přepínat, dokud podmínka nevyhodnotí nenulovou hodnotu, potom dojde ke vložení bariéry pro čtení.
K dispozici je nový detektor přetížení pro pracovní fronty; pokud se frontě nepodaří postoupit do třiceti vteřin, vydá kernel řadu informací, které by měly pomoci při odstranění problému.
Přibyla nová pomocná funkce:
void *memdup_user_nul(const void __user *src, size_t len);
Funkce zkopíruje len bajtů z uživatelského prostoru. Začne v src, alokuje paměť pro výsledek a přidání ukončovací bajt s null. V kernelu se již objevilo více než 50 volaných stránek.
Virtuální souborové systémy configfs nyní podporují binární atributy. Pro více informací viz tento commit.
Změny v síťovém jádru znamenají, že síťové ovladače NAPI pollují zdarma bez nutnosti přidání explicitní podpory.
Došlo k začlenění patchů směřujících k odstranění kontrolních součtů závislých na protokolu ze síťových ovladačů (více v tomto článku). Pro více informací viz tento commit.
Začleňovací okno 4.5 zůstane pravděpodobně otevřené až do 24. ledna, takže je stále čas, aby si více změn našlo cestu do hlavního stromu.
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.