У меня есть трассировщик ввода-вывода, который использует eBPF и отслеживает операции чтения и записи на разных уровнях стека ввода-вывода (VFS, файловая система, кэш страниц и блок).
Я хочу отследить пару тестов (FIO, Postmark, YCSB, TeraSort), и мой трассировщик может фильтровать события по команде или нескольким командам, указанным в качестве аргументов.
Проблема у меня это на уровне блоков, где я хочу отслеживать события, происходящие только из тестов, а не из других приложений, но некоторые из этих тестов заставляют блоки ввода-вывода выполняться другими командами, такими как kworker или btrfs-transaction , я заметил это, потому что пытался отслеживать всю систему без фильтрации и ясно вижу повышенное количество событий блокировки при запуске теста по сравнению с системой в режиме ожидания.
Обратите внимание, что не все тесты ведут себя подобным образом, поскольку мне удалось без проблем отследить FIO.
Я надеюсь найти способ узнать происхождение операций ввода-вывода на уровне блоков, которые выполняются процессами kworker или другими, чтобы избежать отслеживания каждого блока ввода-вывода. (или любое другое решение моей проблемы)
Я пробовал различные kprobe, кроме submit_bio, но при их использовании все равно сталкиваюсь с той же проблемой.
Подробнее здесь: https://stackoverflow.com/questions/786 ... using-ebpf
Поиск реального происхождения блока ввода-вывода (submit_bio) с помощью eBPF ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка перекрестного происхождения, когда правильный домен указан в списке происхождения
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка перекрестного происхождения, когда правильный домен указан в списке происхождения
Anonymous » » в форуме JAVA - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-