как можно ближе к поведению базового блочного устройства, в идеале
обходя эффекты файловой системы.
В стандартных системах Linux для этой цели
обычно используется fio с ioengine=libaio и O_DIRECT. Однако в Android среда
отличается по нескольким причинам:
- fio обычно кросс-компилируется с использованием Android NDK и связывается
с Bionic вместо glibc. - libaio не является частью стандартного пользовательского пространства Android.
- для доступа к блочным устройствам в /dev/block обычно требуется root.
- неясно, является ли CONFIG_AIO включен в типичных ядрах Android
- Можно ли запустить fio с ioengine=libaio на Android, например
путем статического связывания libaio или использования специального пользовательского пространства? - Если libaio нецелесообразно на Android, какой способ рекомендуется
для оценки сырой производительности UFS?- используя fio с синхронизацией/psync и прямым вводом-выводом
- тесты на стороне ядра или трассировку
- инструменты, предоставляемые поставщиком или специфичные для платформы
и хотелось бы получить результаты, максимально приближенные к необработанному поведению UFS
устройства.
Подробнее здесь: https://stackoverflow.com/questions/798 ... erformance
Мобильная версия