Re: Jak zhasnout světlo
Pavel Just
Pavel.Just na simac.cz
Pondělí Srpen 27 16:48:35 CEST 2018
Pavel Kankovsky píše v So 25. 08. 2018 v 10:58 +0200:
> On Fri, 24 Aug 2018, Pavel Just wrote:
>
> > > > Lsof také tvrdí, že s modulem tcm_qla2xxx je spojen pouze
> > > > proces
> > > > [tcm_qla2xxx_fre].
> > >
> > > Lsof?
> >
> > Ano, použil jsem lsof, protože lsmod hlásil jedno použití, ale ne
> > kernel
> > modulem.
>
> Já jsem možná poněkud zpozdilý, že to nevím, ale jak se lsof-em
> zjišťují
> závislosti mezi moduly?
Spíš je chyba u mně, ale pokud mám ve výpisu lsmod něco typu
tcm_qla2xxx 40960 1
qla2xxx 856064 1 tcm_qla2xxx
a chci-li zjistit, proč je tcm_qla2xxx použité, hledám pomoc u lsof.
O vztazích mezi moduly samozřejmě neřekne nic.
>
> > > A propos: co má ten tcm_qla2xxx_fre v /proc/PID/stack?
> >
> > Výpis je z 4.18.5
> > [<0>] rescuer_thread+0x2f7/0x340
> > [<0>] kthread+0xf8/0x130
> > [<0>] ret_from_fork+0x35/0x40
> > [<0>] 0xffffffffffffffff
>
> Takže je to dle předpokladu "uklízecí" vlákno té pracovní fronty,
> které
> existuje zcela mimo ten modul.
>
> > Když načtu jen qla2xxx, tak ho lze odstranit. Pokud načtu
> > tcm_qla2xxx a
> > nic dalšího neudělám, lze odstranit,
>
> To je dobře.
>
> > ale samotný insmod neznamená, že protistrana detekuje světlo. To
> > se
> > stane až po spuštění /etc/init.d/rtslib-fb-targetctl případně
> > spuštěním
> > dané service via systemd.
>
> To znamená, že odstranění tcm_qla2xxx zablokuje až nějaká operace,
> ke
> které dojde v targetctl.
>
> Osobně moc nevěřím tom, že to dělá tcm_qla2xxx_fre (to vlákno by se
> ostatně melo spustit ihned při načtení modulu -- je to pravda?).
> Možná by se dalo načíst ty moduly, zapnout tracepoint na
> module_get/module_put, spustit targetctl a podívat se na výsledek.
> A pak to zkusit vyčistit a zase se podívat.
>
> > Abych byl zcela přesný. Zkoušel jsem to pouze na řadičích v módu
> > initiator, nikoliv target. V režimu initiator jsem rmmod-em získal
> > No_Light/Linkdown.
>
> To je zajímavé, já jsem udělal to samé a po rmmod link rozhodně
> nespadnul.
> (ale jak jsem psal, byly to úplně jiné verze sw a hw).
>
> > Z toho mi vyplývá, že bych měl být schopen zhasnout světlo nějakým
> > příkazem, ale ten se mi zatím vygooglit nepodařilo :-(
>
> Z toho, co jsem psal, Vám spíš mělo vyplynout, že si myslím, že to
> nejde.
>
> Dle mého soudu link na FC ovládá firmware HBA a je otázka, zda
> navenek
> nabízí nějaké rozhraní pro jeho explicitní ovládání. Pokud ano, tak
> by se
> to nejspíš objevilo aspoň v příslušných proprietárních utilitách, tj.
> pro
> QLogic jejich scli, ale v dokumentaci k scli nic takového nevidím
> (naopak
> Emulexu něco jako zakázání/povolení portu nalézt lze).
>
> Nahození linku se provede načtením a inicializací firmwaru, což se
> provede
> při načtení linuxového ovladače... ale obvykle to už předtím udělá
> BIOS po
> zapnutí stroje (např. kvůli tomu, aby bylo možno přes HBA nabootovat)
> a
> ovladač ho pak jen reinicializuje, což se právě asi projeví tím
> krátkým
> spadnutím a znovu nahozením, o kterém jsem psal.
>
> Je možné, že na Vašem stroji to funguje nějak jinak.
Tak jsem si nakonec dal Emulex a Qlogic kartu do jednoho stroje.
A zrovna říkám, že jsem udělal chybu. Chybu předpokladu.
Karta Qlogic se "rozsvítí" ve chvíli zavedení ovladače, konkrétně
ve chvíli, kdy se zavede firmware. V mém případě ql2300_fw.bin.
Pak ji už skutečně nelze vypnout. Rmmod nepomůže stejně jako scli.
Karta Emulex se chová jinak. Rozsvítí se ve chvíli zavedení
ovladače a ve chvíli jeho ukončení (rmmod) karta zhasne. Až podle
vašeho textu jsem si uvědomil, že jsem zobecnil chování karty Emulex
i na Qlogic, což se ukázalo jako špatné.
Každopádně děkuji za nakopnutí.
Pavel
>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
Další informace o konferenci Linux