Re: мониторинг использования процессами модулей ядра
В сообщении от 21 января 2008 22:25 Artem V. Andreev написал(a): > Кроме того, Вы осознаете, что (a) модуль может использоваться другими > модулями и (b) что модуль может быть вообще не выгружаемым? (так бывает) Осознаю, но не каюсь ;-) -- С Уважением, Андрей Никитин -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
Andrey Nikitin <[EMAIL PROTECTED]> writes: > В сообщении от 19 января 2008 17:07 Artem V. Andreev написал(a): >> А какова ваша конкретная задача, хотелось бы знать? > С 100% вероятностью выгрузить модуль. На мой взгляд, это не есть конкретная задача. Потому что я не вполне понимаю, зачем это может быть нужно. Кроме того, Вы осознаете, что (a) модуль может использоваться другими модулями и (b) что модуль может быть вообще не выгружаемым? (так бывает) > Для этого нужно быть уверенным, что модуль никто не использует. > Пока это возможно сделать только по имени "/dev" устройства > (если оно есть и его имя точно известно) и прошерстив все процессы, > в общем не айс. > > Если не ошибаюсь про открытии симв./блочн. устройств модуль видит pid > юзерского процесса. > Имхо, было бы не лишним в /proc/modules// кое-какую инфу сваливать, > непосредственно ядром а не самим модулем. > > -- > С Уважением, >Андрей Никитин > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > > -- S. Y. A(R). A. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
В сообщении от 19 января 2008 17:07 Artem V. Andreev написал(a): > А какова ваша конкретная задача, хотелось бы знать? С 100% вероятностью выгрузить модуль. Для этого нужно быть уверенным, что модуль никто не использует. Пока это возможно сделать только по имени "/dev" устройства (если оно есть и его имя точно известно) и прошерстив все процессы, в общем не айс. Если не ошибаюсь про открытии симв./блочн. устройств модуль видит pid юзерского процесса. Имхо, было бы не лишним в /proc/modules// кое-какую инфу сваливать, непосредственно ядром а не самим модулем. -- С Уважением, Андрей Никитин -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
> В сообщении от 18 января 2008 21:57 Eugene Berdnikov написал(a): >> On Fri, Jan 18, 2008 at 06:05:44PM +0300, Artem Chuprina wrote: >> > И вообще, если тебе при попытке выгрузки модуля говорят, что он in use, >> > то in use он, за редким исключением, ровно ядром. А если он позарез >> > нужен какому-то процессу, то при попытке выгрузки оный процесс, скорее >> > всего, и зарежут. Вернее, он зарежется сам. >> >> Неа, возжелавший rmmod будет далеко послан, и пойдёт солнцем палимый... > Угу, поэтому subj и интересен. В общем виде существующей инфраструктуре ядра это нереализуемо. Вызовам try_get_module() и put_module() (на которые в 2.6 быти заменены макросы MOD_INC_USE_COUNT и MOD_DEC_USE_COUNT) никакая информация, связанная с процессами, не передаётся. Но во многих конкретных случаях вполне можно выяснить, какие процессы "держат" модуль, если примерно представлять, что это за модуль. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
В дебиановском скрипте /etc/init.d/alsa проблема убивания процессов, использующих звук, при выгрузке модулей, решена так: "lsof +D /dev -F rt|awk '/^p/ {pid=$1} /^t/ {type=$1} /^r0x(74|e)..$/ && type == "tCHR" {print pid}'|cut -c 2-|uniq" * Попутно говоря, можно ли как-то узнать, какие файлы в /dev (или где ещё) создал модуль ядра? -- --HoverHell (ICQ#174520, XMPP/GTalk here, GPG 30E202CB).
Re: мониторинг использования процессами модулей ядра
Andrey Nikitin <[EMAIL PROTECTED]> writes: > Если ли в linux утилита типа lsof (а может он умеет) для subj? > > Конкретно интересует возможность получения списка процессов, > использующий заданный модуль. Это, в общем, принципиально неверная идея. Процессы (если мы имеем в виду обычные user-space процессы) модулей ядра *не* используют. Процессы используют те facilities которые предоставляет ядро -- например, файлы устройств; то как конкретная facility реализуется ядром -- личное дело ядра, и вообще говоря не существует сколько нибудь однозначного соответствия между тем что использует процесс и тем какие модули ядра при этом работают. А какова ваша конкретная задача, хотелось бы знать? -- S. Y. A(R). A. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
В сообщении от 18 января 2008 21:57 Eugene Berdnikov написал(a): > On Fri, Jan 18, 2008 at 06:05:44PM +0300, Artem Chuprina wrote: > > И вообще, если тебе при попытке выгрузки модуля говорят, что он in use, > > то in use он, за редким исключением, ровно ядром. А если он позарез > > нужен какому-то процессу, то при попытке выгрузки оный процесс, скорее > > всего, и зарежут. Вернее, он зарежется сам. > > Неа, возжелавший rmmod будет далеко послан, и пойдёт солнцем палимый... Угу, поэтому subj и интересен. -- С Уважением, Андрей Никитин -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
Andrey Nikitin -> debian-russian@lists.debian.org @ Thu, 17 Jan 2008 20:29:38 +0300: >> А это как? >> >> sshd, забинденный на *:22, и таким образом слушающий eth0, использует >> модуль mii? AN> В общем да, Забинденный - нет. В отличие от забинденного на конкретный интерфейс, который при выгрузке mii и всех модулей, что от него зависят, должен лечь. AN> хотя сетевые модули не самый простой случай. И не самый сложный, я подозреваю... И вообще, если тебе при попытке выгрузки модуля говорят, что он in use, то in use он, за редким исключением, ровно ядром. А если он позарез нужен какому-то процессу, то при попытке выгрузки оный процесс, скорее всего, и зарежут. Вернее, он зарежется сам. -- Artem Chuprina RFC2822: Jabber: [EMAIL PROTECTED] Чайник - это человек, который, наткнувшись на проблему, начинает громко свистеть (c)vitus -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
В сообщении от 17 января 2008 19:52 Alexander Vlasov написал(a): > А это как? > > sshd, забинденный на *:22, и таким образом слушающий eth0, использует > модуль mii? В общем да, хотя сетевые модули не самый простой случай. -- С Уважением, Андрей Никитин -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: мониторинг использования процессами модулей ядра
А это как? sshd, забинденный на *:22, и таким образом слушающий eth0, использует модуль mii? У чт, 2008-01-17 у 17:37 +0300, Andrey Nikitin пише: > Если ли в linux утилита типа lsof (а может он умеет) для subj? > > Конкретно интересует возможность получения списка процессов, > использующий заданный модуль. > > -- > С Уважением, >Андрей Никитин > > -- Alexander Vlasov ZULU-UANIC JID: zulu jabber.kiev.ua -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]