Re: мониторинг использования процессами модулей ядра
Andrey Nikitin [EMAIL PROTECTED] writes: В сообщении от 19 января 2008 17:07 Artem V. Andreev написал(a): А какова ваша конкретная задача, хотелось бы знать? С 100% вероятностью выгрузить модуль. На мой взгляд, это не есть конкретная задача. Потому что я не вполне понимаю, зачем это может быть нужно. Кроме того, Вы осознаете, что (a) модуль может использоваться другими модулями и (b) что модуль может быть вообще не выгружаемым? (так бывает) Для этого нужно быть уверенным, что модуль никто не использует. Пока это возможно сделать только по имени /dev устройства (если оно есть и его имя точно известно) и прошерстив все процессы, в общем не айс. Если не ошибаюсь про открытии симв./блочн. устройств модуль видит pid юзерского процесса. Имхо, было бы не лишним в /proc/modules/name/ кое-какую инфу сваливать, непосредственно ядром а не самим модулем. -- С Уважением, Андрей Никитин -- 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: мониторинг использования процессами модулей ядра
В сообщении от 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: мониторинг использования процессами модулей ядра
В сообщении от 19 января 2008 17:07 Artem V. Andreev написал(a): А какова ваша конкретная задача, хотелось бы знать? С 100% вероятностью выгрузить модуль. Для этого нужно быть уверенным, что модуль никто не использует. Пока это возможно сделать только по имени /dev устройства (если оно есть и его имя точно известно) и прошерстив все процессы, в общем не айс. Если не ошибаюсь про открытии симв./блочн. устройств модуль видит pid юзерского процесса. Имхо, было бы не лишним в /proc/modules/name/ кое-какую инфу сваливать, непосредственно ядром а не самим модулем. -- С Уважением, Андрей Никитин -- 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 [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: мониторинг использования процессами модулей ядра
В дебиановском скрипте /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: мониторинг использования процессами модулей ядра
В сообщении от 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: мониторинг использования процессами модулей ядра
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: ran{}ran.pp.ru Jabber: [EMAIL PROTECTED] Чайник - это человек, который, наткнувшись на проблему, начинает громко свистеть (c)vitus -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
мониторинг использования процессами модулей ядра
Если ли в linux утилита типа lsof (а может он умеет) для subj? Конкретно интересует возможность получения списка процессов, использующий заданный модуль. -- С Уважением, Андрей Никитин -- 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 at jabber.kiev.ua -- 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]