Portál AbcLinuxu, 5. května 2025 16:49
Je to dostupné zvenku, tak to lidi používají.Ano, cílem JE, aby to bylo dostupné zvenku. Jenže za nějakých podmínek. Informace, které z jádra nejde nijak vytáhnout, jsou k ničemu.
Zrušit to znamená naštvat uživatele (vývojáře powertop)Dotyčný vývojář něco použil blbě, ergo je to blbec a pokud bude naštvaný, může si za to sám... Jo, kdyby šlo o nějaké ABI ve smyslu strč do jádra tuhle strukturu a někde se změní IP adresa, tak neřeknu ani slovo (a protože se toho jádro drží, ještě pořád funguje ifconfig). Ale když jde na struktury 1:1 spjaté s tím, jak jádro funguje vevenitř, tak to pardon, ale nikdo příčetný nemůže očekávat, že budou stabilní.
sysfs
a následně na základě nich v runtime sestavit strukturu, kterou bude s jádrem komunikovat, to mi přijde slušně řečeno trhlé.Že by měl powertop parsovat nějaký data ze sysfs a následně na základě nich v runtime sestavit strukturu, kterou bude s jádrem komunikovat, to mi přijde slušně řečeno trhlé.Taky to trhlé je, proto existuje lepší řešení. Powertop nepotřebuje všechna pole, která od jádra dostane (příkladem budiž to tgid, které víc než rok neexistuje). Takže ta struktura pro data může být napevno vytvořená už při překladu, při spuštění se proleze ten soubor ze sysfs, zjistí se offsety požadovaných polí a podle nich se načtená binární data ze sledování rozstrkají do té struktury.
Nemůže si prostě powertop naincludovat tu strukturu z nějakého jaderného .h?Tohle je slušně řečeno trhlé. Změníš verzi jádra a přestane ti to fungovat.
bufer[4]+(buffer[5]<<8)+(buffer[6]<<16)+(buffer[7]<<24)
. (plus casty)
Staci teda napsat trivialni knihovnicku, nebo pouzije neco jako libASN1. V cem je teda problem, krome lenosti vyvojare powertopu?
nejaka funkce mu vrati bufer[4]+(buffer[5]<<8)+(buffer[6]<<16)+(buffer[7]<<24)
. (plus casty)
Krása Kedy mozme ockavat statitisku 2,6.39Budeš si muset přečíst originál, s článkem se statistikami je moc práce a není tam moc zajímavého, takže překlad není.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.