Cache layout improvements
[fio.git] / profile.c
index 0e2b97d4a0933896532b4891bd650dcf63c16da0..506462eb85373d795f745b0a4e479bd9a1937f1e 100644 (file)
--- a/profile.c
+++ b/profile.c
@@ -93,6 +93,26 @@ void profile_add_hooks(struct thread_data *td)
        if (!ops)
                return;
 
-       td->fill_io_u_off = ops->fill_io_u_off;
-       td->fill_io_u_size = ops->fill_io_u_size;
+       if (ops->io_ops) {
+               td->prof_io_ops = *ops->io_ops;
+               td->flags |= TD_F_PROFILE_OPS;
+       }
+}
+
+int profile_td_init(struct thread_data *td)
+{
+       struct prof_io_ops *ops = &td->prof_io_ops;
+
+       if (ops->td_init)
+               return ops->td_init(td);
+
+       return 0;
+}
+
+void profile_td_exit(struct thread_data *td)
+{
+       struct prof_io_ops *ops = &td->prof_io_ops;
+
+       if (ops->td_exit)
+               ops->td_exit(td);
 }