Portál AbcLinuxu, 4. května 2025 19:21
Lennart Poettering oznámil vydání verze 221 správce systému a služeb systemd. Verze 221 vyšla necelý měsíc od vydání verze 220 (zprávička). Vývoj systemd byl mezitím přesunut z freedesktop.org na GitHub (zprávička). Jedná se především o opravnou verzi. Přináší ale také nové vlastnosti a vylepšení. API sd-bus.h a sd-event.h bylo prohlášeno za stabilní, podrobnosti v příspěvku na blogu. Vypnutí podpory kdbus při překladu již není podporováno, podpora chkconfig (--enable-chkconfig) byla odstraněna, ...
Tiskni
Sdílej:
Vypnutí podpory kdbus při překladu již není podporováno
To je dost hloupé i jako vtip…
Dobře, tak to rozepíšu. Zatím má kdbus za sebou jeden pokus o merge a ten skončil pořádnou ostudou v okamžiku, kdy se z jeho autorů konečně podařilo vytáhnout nějaký benchmark a profiler ukázal, že celý argument o tom, že D-Bus musí do jádra, protože ho brzdí context switche, je úplně mimo realitu. Kromě toho jsou pořád silné výhrady ke koncepci předávání všemožných metadat pro účely autorizace a vývojáři nesdílejí ani přesvědčení autorů, že je v pořádku smíchat IPC mechanismus a D-Bus protokol do jednoho nedělitelného klubka a zadrátovat jako interface na věky věků. Takže zatím to vypadá spíš na "zpátky k rýsovacím prknům" než na brzké začlenění do mainline.
Přejít v takové situaci se systemd na kdbus-only režim je buď ignorování reality (jako by Lennart Poettering četl jen Gregovo shrnutí "drobné problémy se zamykáním jsme vyřešili a jiné technické připomínky nezazněly") nebo pokus o dost nechutný nátlak na vývojáře z pozice síly.
In its current form kdbus really does not hurt the core kernel in any appreciable way: like Android's Binder it sits in its own corner that doesn't hurt anyone.Pamatuji si na situaci, kdy byl akceptovan Android Binder, ktery je IMHO technicky problematictejsi a takovy povyk kvuli tomu nebyl - coz mi dava dobry duvod si myslet, ze namitky proti jsou spise motivovany skutecnosti, ze systemd je jeden z uzivatelu a protagonistu kdbus.
...
Beyond some vague opportunity cost kdbus is almost zero-cost for the kernel.
...
So there exists a technical vacuum: the kernel does not have any good, modern IPC ABI at the moment that distros can rely on as a 'golden standard'.
ze systemd je jeden z uzivatelu a protagonistu kdbusA ti ostatní?
Nevim jestli bezmeznou, ale s ohledem na Gregovu minulost pri vyvoji kernelu celkem chapu, ze mu duveruje.
Stačí se podívat, jaké patche se běžně dostávají do stable updatů, aby to vzbudilo přinejmenším vážné pochybnosti o tom, nakolik je Greg zárukou, že co pošle dál, je dostatečně důvěryhodné.
Ztotoznuji se spise s nazorem dalsiho veterana, Ingo Molnara, zde, treba
Ten mail jsem četl včera ráno a okamžitě mi došlo, že v rozporu s tím, co tvrdí na začátku, vlastně neobsahuje naprosto žádný argument, proč by kdbus měl být přijat, ale jen argumenty, proč by to nemusela být úplná katastrofa.
Pamatuji si na situaci, kdy byl akceptovan Android Binder, ktery je IMHO technicky problematictejsi a takovy povyk kvuli tomu nebyl
IMHO to bude tím, že jakkoli je binder stejná hrůza jako kdbus, ne-li větší, je to něco, o čem lze předpokládat, že to stejně nikdo příčetný mimo android používat nebude. Jestliže na kdbusu bude záviset systemd - a zatím vše nasvědčuje tomu, že je jen otázka času, kdy na něm bude záviset natvrdo - bude kdbus klíčovou komponentou výrazné většiny linuxových instalací. To je úplně jiná situace a přijde mi logické, že adekvátně tomu je větší i odpor proti tomu, aby byl začleněn kdbus v současné podobě.
Stačí se podívat, jaké patche se běžně dostávají do stable updatů, aby to vzbudilo přinejmenším vážné pochybnosti o tom, nakolik je Greg zárukou, že co pošle dál, je dostatečně důvěryhodné.To je hodne o organizaci jadra vyvojaru a celem rozhodovacim procesu, nemyslim si soucasny model je dlouhodobe udrzitelny.
ale jen argumenty, proč by to nemusela být úplná katastrofa.Ano, ale o to jde. Ten modul je z hlediska kernelu maly, izolovany, neskodny a volitelny, a nejvetsi dopady bude mit na SW, ktery se ho dobrovolne rozhodne pouzit.
IMHO to bude tím, že jakkoli je binder stejná hrůza jako kdbus, ne-li větší, je to něco, o čem lze předpokládat, že to stejně nikdo příčetný mimo android používat nebude.Takze kod, na kterem stoji nejuspesnejsi Linuxova platforma v jeho historii, ktery pouzivaji ve svych zarizenich stovky milionu uzivatelu, zaclenime do kernelu bez vetsich starosti o technicke kvality.
Jestliže na kdbusu bude záviset systemd - a zatím vše nasvědčuje tomu, že je jen otázka času, kdy na něm bude záviset natvrdo - bude kdbus klíčovou komponentou výrazné většiny linuxových instalací.To je bogus. Podstatene je jak bude fungovat systemd, ktery je schopen jakoukoliv kernel implementaci kdbus odstinit.
To je úplně jiná situace a přijde mi logické, že adekvátně tomu je větší i odpor proti tomu, aby byl začleněn kdbus v současné podobě.Greg zacal pracovat na kdbus v lednu/unoru 2013, tedy pred dvema roky, za tri mesice mel zakladni koncepci. Kod byl k dispozici na GitHub. V podstate od pocatku byl otevren diskuzi, nekdy v polovine roku 2013 dostaval feedback od lidi z IVI, a jak je jeho zvykem, nikoho neposilal do haje. Pokud mel nekdo zakladni pripominky k jeho reseni, respektive zajem po letech diskuze a marnych pokusu s IPC skutecne neco delat, mohl se ozvat a aktivne zapojit. Nemyslim si ze v soucasne dobe je na stole lepsi alternativni navrh ci design, a kdbus rozhodne nedela soucasnou situaci horsi, presne naopak, v podstate se jedna o overeny a pouzivany design.
Pokud mel nekdo zakladni pripominky k jeho reseni, respektive zajem po letech diskuze a marnych pokusu s IPC skutecne neco delat, mohl se ozvat a aktivne zapojit.
Přijde mi celkem logické, že dokud se jedná o projekt, který si někdo vystaví na Githubu, vyjadřuje se k němu jen ten, kdo se na něm hodlá aktivně podílet nebo ho aspoň (přímo) využívat. Ale ve chvíli, kdy se pošle pull request, je situace úplně jiná. Ne, tuhle argumentaci metodou "dělali jsme na tom dva roky mimo strom, takže to teď musíte vzít, jak to je, jestli se vám něco nelíbí, měli jste to říct dřív" absolutně neberu.
kdbus rozhodne nedela soucasnou situaci horsi
Dělá, protože pokud projde userspace API v současné podobě, už s ním nepůjde hnout - nebo jen zatraceně obtížně.
Ale ve chvíli, kdy se pošle pull request, je situace úplně jiná.Konecne slovo ma Linus, ne ... ?
Ne, tuhle argumentaci metodou "dělali jsme na tom dva roky mimo strom, takže to teď musíte vzít, jak to je, jestli se vám něco nelíbí, měli jste to říct dřív" absolutně neberu.Ne, to ne. Jinak: pokud ma najednou tolik lidi skutecne uprimny zajem s IPC neco delat, o cemz celkove pochybuji, bylo by efektivnejsi s tim prijit za GKH drive, kdyz to zacal davat pred dvema lety dohromady, zejmena v situaci kdy maloktera featura kernelu byla tolik verejne sledovana.
už s ním nepůjde hnout - nebo jen zatraceně obtížně.To bezesporu. Nicmene diky izolovanosti modulu, ktery neni invazivni, podle vseho [zatim] s nizkymi "naklady" na udrzbu, a pritom s osvedcenou, uz deset let pouzivanou koncepci, riziko neni tak velke.
Konecne slovo ma Linus, ne ... ?
Jistě. Ale to neznamená, že se k tomu nemohou vyjádřit ostatní. Proč by se pull request vůbec posílal do LKML, kdyby to bylo čistě na Linusovi? Připomínám, že ten pull request nedostal ani jedno Acked-by
nebo Reviewed-by
od nikoho, kdo by se na něm přímo nepodílel.
Ale nejsou IMHO natolik zasadni, aby se to dalo cele splachnout,
Názory jsou od toho, aby se lišily. Pro mne je třeba no-go už samotné zamotání IPC a D-Bus protokolu dohromady (s tím, že je vážná otázka, jestli by při rozumném oddělení pořád ještě byl důvod mít v jádře i tu horní vrstvu). Jiní mají vážné výhrady k samotné koncepci předávání metadat pro potřeby autorizace. Dalším se nelíbí způsob, jak se tam přistupuje k alokaci paměti. Kromě toho se ukázalo, že hlavní argument, proč musí D-Bus za každou cenu do jádra, je od základu vylhaný (v lepším případě - pokud by ho vlastně nikdo ani nezkusil ověřit, bylo by to snad ještě horší).
K tomu jsou tady procesní záležitosti: pull request posílá Greg, ale veškeré technické připomínky bagatelizuje a vyjadřovat se k nim musejí jiní. Celé to vypadá, že Greg s tím kódem moc společného nemá a slouží jen jako ikona, která má svou autoritou zajistit hladký průběh. Takové jednání je možná zvykem jinde, ale při vývoji jádra nevzbuzuje moc důvěry. A teď tomu ještě nasadil korunu Lennart Poettering svou snahou protlačit kdbus do distribucí dřív, než bude v mainline.
Nicmene diky izolovanosti modulu, ktery neni invazivni, podle vseho [zatim] s nizkymi "naklady" na udrzbu, a pritom s osvedcenou, uz deset let pouzivanou koncepci, riziko neni tak velke.
Riziko je zatraceně velké. Lidé kolem systemd nejsou známi svým respektem ke stabilitě rozhraní - tedy aspoň ne tím, že by nějaký měli. Stejný problém je s jejich přístupem k udržování a řešení chyb. A to, že se něco deset let používá v user space, ani zdaleka neznamená, že je to navrženo dost dobře, aby to přežilo review pro začlenění do jádra.
Pro mne je třeba no-go už samotné zamotání IPC a D-Bus protokolu dohromady (s tím, že je vážná otázka, jestli by při rozumném oddělení pořád ještě byl důvod mít v jádře i tu horní vrstvu).Díváš se na to podobně jako já. Taky si myslím, že pro míchání mechanismu pro výměnu zpráv a konkrétní formát zpráv není zásadní důvod. A pokud jde o filtrování, tak pokud vím už teď kernel obsahuje nějaký interpret bajtkódu, takže by neměl být problém udělat filtrovací mechanismus zcela univerzální s dodáním filtrů z userspace. Mimojiné bych očekával konkrétní srovnání se stávajícími mechanismy a to především proto, aby se nepřidal další kód, který poskytuje nesourodou množinu služeb. Nový mechanismus by se podle mě měl vyvarovat regresím oproti těm existujícím, měl by řešit známé palčivé problémy, a především by neměl přidávat zbytečný bloat. Osobně si myslím, že je v jádře tuna totálních nesmyslů a čím dál tím víc jich přibývá. Nevidím jediný důvod, proč dávat do jádra věci, které nepřinesou zásadní výhodu. Argument, že kdbus samotný ničemu zásadně neuškodí, neberu. Stokrát nic umořilo vola. Už teďka si říkám, že by se mi moc líbilo stát se jaderným vývojářem, ale systému, který není takový bloatware jako Linux.
A pokud jde o filtrování, tak pokud vím už teď kernel obsahuje nějaký interpret bajtkódu, takže by neměl být problém udělat filtrovací mechanismus zcela univerzální s dodáním filtrů z userspace.To by se mi libilo, ale problem by to byl - nekdo by to totiz musel udelat.
Osobně si myslím, že je v jádře tuna totálních nesmyslů a čím dál tím víc jich přibývá. Nevidím jediný důvod, proč dávat do jádra věci, které nepřinesou zásadní výhodu.Co je a neni nesmysl je relativni a stejne co je a co neni vyhodne.
To by se mi libilo, ale problem by to byl - nekdo by to totiz musel udelat.U zdravého a silného projektu, kterým jádro kdysi zřejmě bylo, se toto dá řešit tím, že se změny nepřijmou, dokud nemají požadované vlastnosti.
Co je a neni nesmysl je relativni a stejne co je a co neni vyhodne.Debugovat userspace je vždycky lepší, tudíž osobně považuju za nesmysl všechno, kde není vážný důvod, proč to není v userspace. Ale chápu, že je to relativní, protože třeba i tady na ábíčku většina lidí nadává téměř výhradně na userspace a schovat něco do jádra má tedy zásadní politický význam. Nakonec možná bude výhodné přijmout kdbus proto, aby byl tento pohled přehodnocen.
Názory jsou od toho, aby se lišily.Presne tak, jinak by tu byla nuda
Pro mne je třeba no-go už samotné zamotání IPC a D-Bus protokolu dohromady (s tím, že je vážná otázka, jestli by při rozumném oddělení pořád ještě byl důvod mít v jádře i tu horní vrstvu).Jak jsem uz psal, oddeleni bych uvital, ale i protokol bych nechal v jadre. Kategorie uzivatelu Linuxu, do niz spada vetsina firem v oblasti kde pracuji, se vyznacuje tim, ze nejsou schopni sami spravovat nejake dlouhodobe konzistentni reseni v teto oblasti a ani se na nem realne schodnout (maximalne vznikne dokument design by committee jako tohle - coz vam jako vyvojari moc nepomuze). Funkcni reseni a sprava v ramci kernel projektu je v takove situaci asi to nejlepsi, co muze se stat, nebot udrzuje spolecnou platformu.
Celé to vypadá, že Greg s tím kódem moc společného nemá a slouží jen jako ikona, která má svou autoritou zajistit hladký průběh.To je hodne silne obvineni.
Az se zacne presouvat TCP/IP do userspace, bude cas me vzbudit.To bude nějakej renonc, vzhledem k tomu, že jsem psal o věcech, u kterých není důvod pro to, aby byly v kernel space. Myslím, že u TCP nebude problém dát dohromady hned několik důvodů, proč má být v kernelu.
A teď tomu ještě nasadil korunu Lennart Poettering svou snahou protlačit kdbus do distribucí dřív, než bude v mainline.:) Fedora's Rawhide Kernel Adds In KDBUS Support, Ready For Testing
Takze kod, na kterem stoji nejuspesnejsi Linuxova platforma v jeho historii, ktery pouzivaji ve svych zarizenich stovky milionu uzivatelu, zaclenime do kernelu bez vetsich starosti o technicke kvality.Samozřejmě, o technické kvality u telefonů nikdy nešlo a u zařízení pro běžného ferdu spotřebitele ani nepůjde. Co nejrychleji něco zprasit, šup s tím na trh, když to nabootuje. Android výrobcům výrazně zjednodušuje to co nejrychleji, proto měl (má) takový úspěch. Nic jiného v tom nebylo.
Having looked at the dbus performance, and come to the conclusion that the reason dbus performs abysmally badly is just pure shit user space code, I am not AT ALL impressed by the performance argument. We don't merge kernel code just because user space was written by a retarded monkey on crack.
škoda, že se k němu nemůžu vyjádřit.Copak? Už nesmíte ani naznačovat?
debug
na příkazové řádce).
Before systemd really got started, on one of the kernel summits ... Lennart was giving a talk about UUIDs to the kernel people, at the kernel summit. And we laughed him out of the room. UUIDs are crazy shit. They're up there with XML as bad ideas and exposing them as something really cool and clever was... I felt just stupid and I wasn't the only one.
Povedlo se mi najít jen jeden, kde se ale porovnává KDBUS proti unixové rouře, což není zrovna relevantní.
Podle mne je to velmi relevantní. Nedá se asi očekávat, že by se kdbus výkonově vyrovnal rourám nebo PF_UNIX socketům*. Měl by ale být aspoň ve stejné lize, jinak je to znamení, že je něco špatně.
Podle mne je ale hlavní problém současného návrhu v neoddělení IPC mechanismu od implementace vlastního D-Bus protokolu. Autoři mají pohled zkreslený tím, že žijí ve svém světě, kde "všichni používají D-Bus", takže nevidí potřebu univerzálního IPC se sběrnicovým modelem. Podle mne je to ale podobně nesmyslné uvažování, jako kdyby někdo usoudil, že "všichni používají HTTP" a tlačil do jádra kompaktní a nedělitelnou implementaci síťového stacku od driveru karty až po HTTP. Ta by pak nešla použít pro nic jiného než pro HTTP komunikaci (a věci postavené nad ním), ale to by bylo jedno, protože stejně "všichni používají HTTP" a ostatní se dá zabalit do něj. Tady je samozřejmě nesmyslnost té úvahy zřejmá, protože všichni známe další protokoly aplikační a transportní vrstvy, ale základní logika je úplně stejná; koneckonců se nezřídka D-Bus už dnes používá způsobem, který si nezadá s třeba SMTP emulovaným přes HTTP requesty.
Podle mne je ale hlavní problém současného návrhu v neoddělení IPC mechanismu od implementace vlastního D-Bus protokolu.S tim vcelku souhlasim. Ja jsem rad, ze kdbus implementace prochazi touto skrutinou, veci to jen prospeje. Obe skupiny - kernel developeri a userspace developeri - ziji ve sve bubline a maji problemy se podivat na vec optikou druhe strany.
GDBus implementace je pomala, a fakt ze to nikomu nevadilo, svedci ze performance neni na desktopu az tak velky problem.
Ja jsem rad, ze kdbus implementace prochazi touto skrutinou, veci to jen prospeje.Kde se da naucit takovy zmrdspeak ? Dalkove studium politologie nebo MBA ? Pokud vim, tak tohle CVUT neprodukovala …
Kde se da naucit takovy zmrdspeak ? Dalkove studium politologie nebo MBA ? Pokud vim, tak tohle CVUT neprodukovala …Tak treba na FF obor politologie. To slovo se pouziva pri popisu ruznych volebnich systemu. Vzhledem k tomu, ze je jedna o systemd, tak je to relevatni terminologie.
Tak treba na FF obor politologie.Staci lekce latiny ci anglictiny, kdekoliv, aby si clovek uvedomil zaklad. Ma to latinsky puvod, scrutinium, kde se vyznam postupne ustalil z prebirani odpadku na podrobnem zkoumani, prohlidku, vy/pro-setreni za ucelem se dobrat [skryte] informace ci podstaty. V anglictine si to v teto forme zive uchovalo vyznam (zde ci zde), v cestine se to skutecne pouziva nejcasteji se scitanim hlasu ci treba s cirkevnimi obrady.
Aby nakonec výsledkem takového schizmatu nebyla existence dvou docela odlišných ekosystémů.To by nebylo zase tak zlé, ne?
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.