У меня есть трассировщик ввода-вывода, который использует 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
1719515902
Anonymous
У меня есть трассировщик ввода-вывода, который использует eBPF и отслеживает операции чтения и записи на разных уровнях стека ввода-вывода (VFS, файловая система, кэш страниц и блок).
Я хочу отследить пару тестов (FIO, Postmark, YCSB, TeraSort), и мой трассировщик может фильтровать события по команде или нескольким командам, указанным в качестве аргументов.
Проблема у меня это на уровне блоков, где я хочу отслеживать события, происходящие только из тестов, а не из других приложений, но некоторые из этих тестов заставляют блоки ввода-вывода выполняться другими командами, такими как kworker или btrfs-transaction , я заметил это, потому что пытался отслеживать всю систему без фильтрации и ясно вижу повышенное количество событий блокировки при запуске теста по сравнению с системой в режиме ожидания.
Обратите внимание, что не все тесты ведут себя подобным образом, поскольку мне удалось без проблем отследить FIO.
Я надеюсь найти способ узнать происхождение операций ввода-вывода на уровне блоков, которые выполняются процессами kworker или другими, чтобы избежать отслеживания каждого блока ввода-вывода. (или любое другое решение моей проблемы)
Я пробовал различные kprobe, кроме submit_bio, но при их использовании все равно сталкиваюсь с той же проблемой.
Подробнее здесь: [url]https://stackoverflow.com/questions/78679473/finding-the-real-origin-of-block-i-o-submit-bio-using-ebpf[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия