Move to new sensor selector, fix some bugs
diff --git a/wally/suits/io/fio_job.py b/wally/suits/io/fio_job.py
index 3d4e886..6676895 100644
--- a/wally/suits/io/fio_job.py
+++ b/wally/suits/io/fio_job.py
@@ -116,11 +116,12 @@
@property
def oper(self) -> str:
- return self.vals['rw']
+ vl = self.vals['rw']
+ return vl if ':' not in vl else vl.split(":")[0]
@property
def op_type_short(self) -> str:
- return self.op_type2short[self.vals['rw']]
+ return self.op_type2short[self.oper]
@property
def thcount(self) -> int:
diff --git a/wally/suits/io/fio_task_parser.py b/wally/suits/io/fio_task_parser.py
index 9ffeed8..5b91885 100644
--- a/wally/suits/io/fio_task_parser.py
+++ b/wally/suits/io/fio_task_parser.py
@@ -210,6 +210,7 @@
def apply_params(sec: FioJobConfig, params: FioParams) -> FioJobConfig:
processed_vals = OrderedDict() # type: Dict[str, Any]
processed_vals.update(params)
+
for name, val in sec.vals.items():
if name in params:
continue
@@ -300,6 +301,12 @@
def fio_cfg_compile(source: str, fname: str, test_params: FioParams) -> Iterator[FioJobConfig]:
+ test_params = test_params.copy()
+
+ if 'RAMPTIME' not in test_params and 'RUNTIME' in test_params:
+ ramp = int(int(test_params['RUNTIME']) * 0.05)
+ test_params['RAMPTIME'] = min(30, max(5, ramp))
+
it = parse_all_in_1(source, fname)
it = (apply_params(sec, test_params) for sec in it)
it = flatmap(process_cycles, it)
diff --git a/wally/suits/io/verify.cfg b/wally/suits/io/verify.cfg
index 9433361..250fade 100644
--- a/wally/suits/io/verify.cfg
+++ b/wally/suits/io/verify.cfg
@@ -6,9 +6,9 @@
LQDW={% 1, 4, 16, 64 %}
LQDR={% 1, 4, 16, 64 %}
-runtime=600
+runtime={RUNTIME}
direct=1
-ramp_time=30
+ramp_time={RAMPTIME}
# ---------------------------------------------------------------------
@@ -19,24 +19,21 @@
[verify_{TEST_SUMM}]
blocksize=1m
-rw=read
+rw=randread:16
iodepth={LQDR}
[verify_{TEST_SUMM}]
blocksize=4k
rw=randwrite
-direct=1
iodepth={QDW}
[verify_{TEST_SUMM}]
blocksize=4k
rw=randread
-direct=1
iodepth={QDR}
[verify_{TEST_SUMM}]
blocksize=4k
rw=randwrite
sync=1
-direct=1
iodepth=1