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

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

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-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 Пенетрантность 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 Пенетрантность 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-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: ran{}ran.pp.ru Jabber: [EMAIL PROTECTED]

Чайник - это человек, который, наткнувшись на проблему, начинает громко
свистеть
(c)vitus


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



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

2008-01-17 Пенетрантность Andrey Nikitin
Если ли в linux утилита типа lsof (а может он умеет) для subj?

Конкретно интересует возможность получения списка процессов,
использующий заданный модуль.

-- 
С Уважением,
   Андрей Никитин


-- 
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 at jabber.kiev.ua


-- 
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]