Only enable atomic io_u flag setting/clearing if we need it
[fio.git] / ioengine.h
index ceed32912dc1561d05452d27231b49df4711631b..08e8fabfacecb5b57996ba9dbec9bc87e9704d03 100644 (file)
@@ -257,14 +257,9 @@ static inline enum fio_ddir acct_ddir(struct io_u *io_u)
        return io_u->ddir;
 }
 
-static inline void io_u_clear(struct io_u *io_u, unsigned int flags)
-{
-       __sync_fetch_and_and(&io_u->flags, ~flags);
-}
-
-static inline void io_u_set(struct io_u *io_u, unsigned int flags)
-{
-       __sync_fetch_and_or(&io_u->flags, flags);
-}
+#define io_u_clear(td, io_u, val)      \
+       td_flags_clear((td), &(io_u->flags), (val))
+#define io_u_set(td, io_u, val)                \
+       td_flags_set((td), &(io_u)->flags, (val))
 
 #endif