Added tracebd.py, a script for rendering block device operations
Based on a handful of local hacky variations, this sort of trace rendering is surprisingly useful for getting an understanding of how different filesystem operations interact with the underlying block-device. At some point it would probably be good to reimplement this in a compiled language. Parsing and tracking the trace output quickly becomes a bottleneck with the amount of trace output the tests generate. Note also that since tracebd.py run on trace output, it can also be used to debug logged block-device operations post-run.
This commit is contained in:
+5
-5
@@ -58,8 +58,8 @@ typedef uint32_t lfs_testbd_powercycles_t;
|
||||
typedef int32_t lfs_testbd_spowercycles_t;
|
||||
|
||||
// Type for delays in nanoseconds
|
||||
typedef uint64_t lfs_testbd_delay_t;
|
||||
typedef int64_t lfs_testbd_sdelay_t;
|
||||
typedef uint64_t lfs_testbd_sleep_t;
|
||||
typedef int64_t lfs_testbd_ssleep_t;
|
||||
|
||||
// testbd config, this is required for testing
|
||||
struct lfs_testbd_config {
|
||||
@@ -100,15 +100,15 @@ struct lfs_testbd_config {
|
||||
|
||||
// Artificial delay in nanoseconds, there is no purpose for this other
|
||||
// than slowing down the simulation.
|
||||
lfs_testbd_delay_t read_delay;
|
||||
lfs_testbd_sleep_t read_sleep;
|
||||
|
||||
// Artificial delay in nanoseconds, there is no purpose for this other
|
||||
// than slowing down the simulation.
|
||||
lfs_testbd_delay_t prog_delay;
|
||||
lfs_testbd_sleep_t prog_sleep;
|
||||
|
||||
// Artificial delay in nanoseconds, there is no purpose for this other
|
||||
// than slowing down the simulation.
|
||||
lfs_testbd_delay_t erase_delay;
|
||||
lfs_testbd_sleep_t erase_sleep;
|
||||
};
|
||||
|
||||
// A reference counted block
|
||||
|
||||
Reference in New Issue
Block a user