aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-05-28 08:45:33 -0400
committerJens Axboe <jens.axboe@oracle.com>2008-05-28 08:49:27 -0400
commit64565911cdb57c2f512a9715b985b5617402cc67 (patch)
tree1c8a3d03fcb0e620c8f2244962fb249cff51fec4 /include
parent4722dc52a891ab6cb2d637ddb87233e0ce277827 (diff)
block: make blktrace use per-cpu buffers for message notes
Currently it uses a single static char array, but that risks being corrupted when multiple users issue message notes at the same time. Make the buffers dynamically allocated when the trace is setup and make them per-cpu instead. The default max message size of 1k is also very large, the interface is mainly for small text notes. So shrink it to 128 bytes. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/blktrace_api.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h
index b7cd8f1eedbe..e3ef903aae88 100644
--- a/include/linux/blktrace_api.h
+++ b/include/linux/blktrace_api.h
@@ -121,6 +121,7 @@ struct blk_trace {
121 int trace_state; 121 int trace_state;
122 struct rchan *rchan; 122 struct rchan *rchan;
123 unsigned long *sequence; 123 unsigned long *sequence;
124 unsigned char *msg_data;
124 u16 act_mask; 125 u16 act_mask;
125 u64 start_lba; 126 u64 start_lba;
126 u64 end_lba; 127 u64 end_lba;
@@ -172,7 +173,7 @@ extern void __trace_note_message(struct blk_trace *, const char *fmt, ...);
172 if (unlikely(bt)) \ 173 if (unlikely(bt)) \
173 __trace_note_message(bt, fmt, ##__VA_ARGS__); \ 174 __trace_note_message(bt, fmt, ##__VA_ARGS__); \
174 } while (0) 175 } while (0)
175#define BLK_TN_MAX_MSG 1024 176#define BLK_TN_MAX_MSG 128
176 177
177/** 178/**
178 * blk_add_trace_rq - Add a trace for a request oriented action 179 * blk_add_trace_rq - Add a trace for a request oriented action