Ist es möglich, fio mit libaio auf Android auszuführen, um die reine UFS-Leistung zu messen, und wenn nicht, welcher AnsAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Ist es möglich, fio mit libaio auf Android auszuführen, um die reine UFS-Leistung zu messen, und wenn nicht, welcher Ans

Post by Anonymous »

Ich möchte die rohe UFS-Geräteleistung auf einem Android-Telefon vergleichen,
so nah wie möglich am Verhalten des zugrunde liegenden Blockgeräts, idealerweise
unter Umgehung von Dateisystemeffekten.
Auf Standard-Linux-Systemen wird fio mit ioengine=libaio und O_DIRECT
üblicherweise für diesen Zweck verwendet. Unter Android unterscheidet sich die Umgebung jedoch in mehrfacher Hinsicht:
  • fio wird typischerweise mit dem Android NDK kreuzkompiliert und
    gegen Bionic anstelle von glibc verknüpft
  • libaio ist nicht Teil des Standard-Android-Benutzerbereichs
  • der Zugriff auf Blockgeräte unter /dev/block erfordert normalerweise Root
  • es ist unklar, ob CONFIG_AIO ist in typischen Android-Kerneln aktiviert
Angesichts dieser Einschränkungen habe ich die folgenden Fragen:
  • Ist es machbar, fio mit ioengine=libaio auf Android auszuführen, zum Beispiel
    durch statische Verknüpfung von libaio oder Verwendung eines benutzerdefinierten Userspace?
  • Wenn libaio auf Android nicht praktikabel ist, was ist die empfohlene Methode
    um die rohe UFS-Leistung zu bewerten?
    • mit fio mit sync/psync und direkter E/A
    • kernelseitige Benchmarks oder Tracing
    • vom Hersteller bereitgestellte oder plattformspezifische Tools
Ich interessiere mich hauptsächlich für sequentielle und zufällige Bandbreite und Latenz,
und würde möchten Ergebnisse erhalten, die dem rohen UFS
Geräteverhalten so nahe wie möglich kommen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post