projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bump support of zones to 256 max
[fio.git]
/
iolog.h
diff --git
a/iolog.h
b/iolog.h
index 60ee3e920f48e3b1f0fa67aa51f7083e9c32d2c4..bc3a0b5fea93770fa39309fb71526c751e803034 100644
(file)
--- a/
iolog.h
+++ b/
iolog.h
@@
-4,7
+4,7
@@
#include "lib/rbtree.h"
#include "lib/ieee754.h"
#include "flist.h"
#include "lib/rbtree.h"
#include "lib/ieee754.h"
#include "flist.h"
-#include "ioengine.h"
+#include "ioengine
s
.h"
/*
* Use for maintaining statistics
/*
* Use for maintaining statistics
@@
-117,7
+117,7
@@
struct io_log {
*/
struct io_stat avg_window[DDIR_RWDIR_CNT];
unsigned long avg_msec;
*/
struct io_stat avg_window[DDIR_RWDIR_CNT];
unsigned long avg_msec;
- unsigned long avg_last;
+ unsigned long avg_last
[DDIR_RWDIR_CNT]
;
/*
* Windowed latency histograms, for keeping track of when we need to
/*
* Windowed latency histograms, for keeping track of when we need to
@@
-131,6
+131,11
@@
struct io_log {
pthread_mutex_t chunk_lock;
unsigned int chunk_seq;
struct flist_head chunk_list;
pthread_mutex_t chunk_lock;
unsigned int chunk_seq;
struct flist_head chunk_list;
+
+ pthread_mutex_t deferred_free_lock;
+#define IOLOG_MAX_DEFER 8
+ void *deferred_items[IOLOG_MAX_DEFER];
+ unsigned int deferred;
};
/*
};
/*
@@
-259,7
+264,7
@@
struct log_params {
static inline bool per_unit_log(struct io_log *log)
{
static inline bool per_unit_log(struct io_log *log)
{
- return log &&
!log->avg_msec
;
+ return log &&
(!log->avg_msec || log->log_gz || log->log_gz_store)
;
}
static inline bool inline_log(struct io_log *log)
}
static inline bool inline_log(struct io_log *log)
@@
-271,7
+276,7
@@
static inline bool inline_log(struct io_log *log)
static inline void ipo_bytes_align(unsigned int replay_align, struct io_piece *ipo)
{
static inline void ipo_bytes_align(unsigned int replay_align, struct io_piece *ipo)
{
- if (replay_align)
+ if (
!
replay_align)
return;
ipo->offset &= ~(replay_align - (uint64_t)1);
return;
ipo->offset &= ~(replay_align - (uint64_t)1);