Re: мониторинг использования процессами модулей ядра

2008-01-21 Пенетрантность Andrey Nikitin
В сообщении от 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: мониторинг использования процессами модулей ядра

2008-01-21 Пенетрантность Artem V. Andreev
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: мониторинг использования процессами модулей ядра

2008-01-20 Пенетрантность Andrey Nikitin
В сообщении от 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: мониторинг использования процессами модулей ядра

2008-01-19 Пенетрантность Nikita V. Youshchenko


> В сообщении от 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: мониторинг использования процессами модулей ядра

2008-01-19 Пенетрантность HoverHell
В дебиановском скрипте /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: мониторинг использования процессами модулей ядра

2008-01-19 Пенетрантность Artem V. Andreev
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: мониторинг использования процессами модулей ядра

2008-01-19 Пенетрантность Andrey Nikitin
В сообщении от 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: мониторинг использования процессами модулей ядра

2008-01-18 Пенетрантность Artem Chuprina
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: мониторинг использования процессами модулей ядра

2008-01-17 Пенетрантность Andrey Nikitin
В сообщении от 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: мониторинг использования процессами модулей ядра

2008-01-17 Пенетрантность Alexander Vlasov
А это как?

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]