abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 3
    dnes 09:55 | IT novinky

    Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.

    Ladislav Hagara | Komentářů: 11
    dnes 09:44 | IT novinky

    Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.

    Ladislav Hagara | Komentářů: 9
    dnes 09:33 | Nová verze

    Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    dnes 03:22 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Komunita

    Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Zajímavý projekt

    ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    včera 21:00 | Zajímavý software

    ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 8
    včera 16:33 | Zajímavý software

    Strands Decider 2B je malý open-source model s 2 miliardami parametrů, určený k rychlé klasifikaci vstupů a rozhodování mezi možnostmi, generující odpovědi ve stylu modelu Jev. Strands dosáhl přibližně 72% shody s Jevem na veřejné testovací sadě JevBench (tento benchmark pochopitleně nepředstavuje přímé srovnání s modelem Jev). Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache-2.0, váhy modelu na Hugging Face.

    ❗Červivý Hřib krade❗ | Komentářů: 4
    včera 16:22 | Upozornění

    Ve věku 90 let zemřela americká softwarová inženýrka Margaret Hamiltonová, která vedla tým, jenž vyvíjel letový software pro program Apollo amerického Národního úřadu pro letectví a vesmír (NASA).

    Ladislav Hagara | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2818 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)

    7.11.2012 22:11 pan
    /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Přečteno: 671×
    Zdravím,

    hledám nějakého kernel experta, který by mi trochu pomohl objasnit následující. Chtěl jsem na svém androidím telefonu vyzkoušet smartass governor. Našel jsem tedy správné zdrojáky jádra i onoho governoru a přeložil ho. insmod ale selhal kvůli chybějícímu symbolu nr_running (vlastní jádro použít nemohu, resp. nechci, protože se mi nechce odemykat bootloader). Trochu jsem pátral a objevil soubor /proc/kallsyms, který (jak jsem pochopil) obsahuje všechny symboly, co jsou v jádře. Ten pro zmiňovaný symbol obashuje toto:

    800c8df0 T nr_running

    Celý problém by měl tedy jít vyřešit tak, že bych modul upravil tak, že by požadoval jeden parametr, a to tuhle adresu. Sice mi to přijde jako prasárna, ale mělo to fungovat. Moje první otázka je, jestli není nějaký hezčí způsob, jak to udělat. Další co mi vrtá hlavou, je vztah souboru /proc/kallsyms a EXPORT_SYMBOL - z toho, co jsem vygooglil existují lidé, kteří jsou přesvědčeni, že co je v kallsyms s T, je exportováno. Ale v tomhle případě to tak není. man nm (kterému by struktura kallsyms snad měla odpovídat) říká, že velkými písmeny jsou označeny symboly globální (externí). Rozdíl mezi globálním a externím chápu (alespoň si to myslím), a podle toho by ono chování dávalo smysl, ale rád bych se o tom ujistil z povolanějších zdrojů. A poslední otázka - pokud je moje předchozí úvaha správně, jak (a jestli vůbec) se dá z běžíco kernelu zjistit, které symboly jsou exportovány? Tedy krom toho, že se pokusím načíst modul, který se na ně odkazuje.

    Díky za rady :-)

    Řešení dotazu:


    Odpovědi

    8.11.2012 14:42 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    exportovane to je
    
     * nr_running, nr_uninterruptible and nr_context_switches:
     *
     * externally visible scheduler statistics: current number of runnable
     * threads, current number of uninterruptible-sleeping threads, total
     * number of context switches performed since bootup.
     */
    unsigned long nr_running(void)
    {
            unsigned long i, sum = 0;
    
            for_each_online_cpu(i)
                    sum += cpu_rq(i)->nr_running;
    
            return sum;
    }
    
    ukaz zrojaky, btw schedulery, co si pamatuju, se prepinaji pres /proc nebo /sys/
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 15:41 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Jakto ale, že pokus o načtení toho modulu skončí kvůli chybějícímu symbolu nr_runnig? To, že v tom zdrojáku píšou "externally visible" jsem taky našel, ale už jsem nikde nenašel něco jako EXPORT_SYMBOL(nr_running). Proved jsem fígl, co jsem popsal a funguje to, takže alespoň zčásti je problem vyřešen. Co mi ale pořád není jasné jak je to s tím vztahem /proc/kallsyms a EXPORT_SYMBOL a jestli by se ten fígl nedal udělat nějak lépe (tj. vevnitř v tom modulu).

    Zdrojáky toho modulu jsou třeba tady

    Zdrojáky jádra tady
    8.11.2012 15:55 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    rad bych videl zrojaky, abych ti mohl rict vice, kde je najdu?
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 16:08 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Zdrojáky čeho? Zdrojáky toho modulu i jádra jsem odkázal v předcházejícím příspěvku. Každopádně mi nejde ani tak o tuhle konkrétní situaci, ale nějaký obecnější vhled do problematiky exportování symbolů v jádře a toho, jaký k tomu má vztah /proc/kallsyms. Ono problém s smartass je spíš ilustrace toho, co nechápu. Modul jsem už do jádra, za použití triku, zaved a zdá se, že funguje přesně jak má. Kdyby se navíc našel někdo, kdo by mi poradil, jak ten trik udělat jen vevnitř v jádře, byl bych rád :-)
    8.11.2012 16:01 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    sorka, nevidel jsem odkazy.

    Exported symbols and the internal API
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 16:09 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    To vypadá, že by mi mohlo leccos vysvětlit. Nastuduju a dám vědět. Dík :-)
    8.11.2012 16:08 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    a jeste jak jsi to sestavoval? poslal jsi mi 2 kernely
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 16:11 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Z toho první odkazu jsem použil jen ten jeden soubor - smotný modul. Jádro, vůči kterému jsem to kompiloval (a které mám v telefonu), je v druhém.
    8.11.2012 16:15 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    heh, to musis backportovat do kernelu co mas v telefonu, v tom strome to buildnout a pak teprve muzes vlozit.
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 16:20 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    O to se přesně snažím a končí na tom neznámém symbolu. Ono by stačilo do sched.c přidat EXPPORT_SYMBOL(nr_running), ale to znamenalo vyměnit jádro v telefonu a to se mi nechce (musel bych odemykat bootloader). Proto hledám alternativní cesty a našel jsem je. Jen jsem cestou narazil na věco, kterým nerozumím a rád bych rozuměl. Jdu si přečíst ten článek :-)
    8.11.2012 16:28 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    tohle je verejne api, pristupne odevsad, neni treba delat EXPORT_SYMBOL
    include/linux/sched.h:140: extern unsigned long nr_running(void);
    ukaz jak vypada tvuj patch do 4.1.B (blabla) ;)
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 16:52 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Api ano, ale mě jde o symbol. Nedělám patch, kompiluju modul - stáhnul jsem jen cpufreq_smartass2.c a dopsal Makefile, který se odkazuje na kernel od Sony.
    8.11.2012 17:06 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    ja si myslim, ze ten module je napsany blbe. Jako modul nejde pouzit. kdyz se kouknes na patch a hlavne na radek + CONFIG_CPU_FREQ_GOV_SMARTASS2=y, dojde ti, ze je to primo zadratovane v jadre (neni to module, jinak by tam bylo =m) proto ma pristup k nr_running a module ne (jedine reseni je to tvoje). Nebo prepsat module :)
    Save the whales. Feed the hungry. Free the mallocs
    9.11.2012 12:11 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    To ale není nic, co bych nevěděl. Buď překompilovat kernel s EXPORT_SYMBOL(nr_running) nebo smartass nalikovat přímo da jádra. Ani jedno neřeší můj problém. Já hledám cestu jak to obejít. Jednu sice mám, ale ta se mi úplně nelíbí, pořád si říkám, že by to mohlo jít vyřešit nějak vevnitř v tom modulu. Další věc, ve které pořád tápu je vztah /proc/kallsyms a exportovaných symbolů - např. dá se z toho souboru zjistit, které symboly jsou exportované? Jak? Co přesně znamená T u symbolu v tomhle souboru (totéž co v nm?)? Nebo tam žádná souvislost není? Zatím se přiklaním k tomu poslednímu.
    10.11.2012 17:28 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Pán pracuje pre Nvidia?
    12.11.2012 10:09 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Ne. Proč?
    8.11.2012 16:35 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    a jo, mas recht
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 16:23 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    tomu nerozumim
    
    $ git clone git://github.com/CyanogenMod/semc-kernel-msm7x30.git
    $ ls semc-kernel-msm7x30/drivers/cpufreq/
    Kconfig    cpufreq_conservative.c  cpufreq_performance.c  cpufreq_userspace.c
    Makefile   cpufreq_interactive.c   cpufreq_powersave.c    freq_table.c
    cpufreq.c  cpufreq_ondemand.c      cpufreq_stats.c
    
    $ find semc-kernel-msm7x30/ -name '*smartass*'
    
    kde je sakra chytra prdel? :)
    Save the whales. Feed the hungry. Free the mallocs
    8.11.2012 16:50 pan
    Rozbalit Rozbalit vše Re: /proc/kallsyms a EXPORT_SYMBOL (volání neexportovaného symbolu)
    Je tam víc větví, to co jsem odkazoval, je v master. Taky mi dalo dost práce to najít. Nebo je to taky stejné (až na pár konstatnt týkajících se frekvencí) jako tady verze Hero .35

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.