aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2006-12-04 03:27:41 -0500
committerJens Axboe <jens.axboe@oracle.com>2006-12-04 03:27:41 -0500
commitd3d9d2a5ea9770db07aeb13a07f999aa48e8f865 (patch)
treecd8ccab813677737bf7b65a941566b56b39fb008
parentd916faace3efc0bf19fe9a615a1ab8fa1a24cd93 (diff)
[PATCH] blktrace: uninline trace_note()
It's too large to inline. Additionally clean it up, by fast pathing the likely path. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--block/blktrace.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/block/blktrace.c b/block/blktrace.c
index 562ca7cbf858..17bbdb811aa7 100644
--- a/block/blktrace.c
+++ b/block/blktrace.c
@@ -31,25 +31,25 @@ static unsigned int blktrace_seq __read_mostly = 1;
31/* 31/*
32 * Send out a notify message. 32 * Send out a notify message.
33 */ 33 */
34static inline unsigned int trace_note(struct blk_trace *bt, 34static unsigned int trace_note(struct blk_trace *bt, pid_t pid, int action,
35 pid_t pid, int action, 35 const void *data, size_t len)
36 const void *data, size_t len)
37{ 36{
38 struct blk_io_trace *t; 37 struct blk_io_trace *t;
39 int cpu = smp_processor_id();
40 38
41 t = relay_reserve(bt->rchan, sizeof(*t) + len); 39 t = relay_reserve(bt->rchan, sizeof(*t) + len);
42 if (t == NULL) 40 if (t) {
43 return 0; 41 const int cpu = smp_processor_id();
44 42
45 t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION; 43 t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION;
46 t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu); 44 t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu);
47 t->device = bt->dev; 45 t->device = bt->dev;
48 t->action = action; 46 t->action = action;
49 t->pid = pid; 47 t->pid = pid;
50 t->cpu = cpu; 48 t->cpu = cpu;
51 t->pdu_len = len; 49 t->pdu_len = len;
52 memcpy((void *) t + sizeof(*t), data, len); 50 memcpy((void *) t + sizeof(*t), data, len);
51 }
52
53 return blktrace_seq; 53 return blktrace_seq;
54} 54}
55 55