Профилирование модулей ядра Linux

Меня интересует профилирование модуля для ядра Linux. Я пробовал это так:

  1. Собрал ядро ​​с CONFIG_PROFILING = y
  2. Загрузил ядро ​​с profile = 2
  3. Сбросил профилировщик с помощью echo 123> / proc / profile
  4. Модуль был успешно загружен выделенным демоном
  5. Запустите приложение пользовательского пространства, которое использует модуль через определенные вызовы ioctl . Тестовое приложение работало, как ожидалось, поэтому модуль работал нормально.
  6. Прочтите информацию о профилировании, используя readprofile -p / proc / profile -m System.map , где System.app был генерируется вместе с ядром.

Пока все хорошо. Практически все заработало как положено. Однако не работал , так это то, что я не получил никакой информации о своем модуле, т.е. не было упоминания о какой-либо функции из модуля.

Однако, поразмыслив, я вспомнил, что забыл перекомпилировать модуль, используя CONFIG_PROFILING = y .

Итак, мой вопрос: Модуль не отображался в журнале профилирования, потому что он не был скомпилирован с помощью CONFIG_PROFILING = y , или есть другая более очевидная причина, о которой я не знаю из?

Если кто-то задается вопросом, почему я спрашиваю, а не пробую сразу, потому что я не могу сделать это дома и хотел бы услышать, что знающий мог бы скажите, прежде чем я снова получу доступ к коду.

13
задан Albus Dumbledore 23 April 2011 в 08:41
поделиться