summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.osdl.org>2006-12-05 04:38:30 +0100
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-05 04:38:30 +0100
commit2d941e99dfa2f58f4cf294943274a4f8e264aab7 (patch)
treeb69e97f05d2fb0fbf1068c5a22f0c8420f7a198e /block
parentMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
parent[PATCH] blktrace: don't return blktrace_seq from trace_note() (diff)
downloadlinux-2d941e99dfa2f58f4cf294943274a4f8e264aab7.tar.xz
linux-2d941e99dfa2f58f4cf294943274a4f8e264aab7.zip
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block: [PATCH] blktrace: don't return blktrace_seq from trace_note() [PATCH] blktrace: uninline trace_note()
Diffstat (limited to 'block')
-rw-r--r--block/blktrace.c35
1 files changed, 16 insertions, 19 deletions
diff --git a/block/blktrace.c b/block/blktrace.c
index 562ca7cbf858..74e02c04b2da 100644
--- a/block/blktrace.c
+++ b/block/blktrace.c
@@ -31,26 +31,24 @@ static unsigned int blktrace_seq __read_mostly = 1;
/*
* Send out a notify message.
*/
-static inline unsigned int trace_note(struct blk_trace *bt,
- pid_t pid, int action,
- const void *data, size_t len)
+static void trace_note(struct blk_trace *bt, pid_t pid, int action,
+ const void *data, size_t len)
{
struct blk_io_trace *t;
- int cpu = smp_processor_id();
t = relay_reserve(bt->rchan, sizeof(*t) + len);
- if (t == NULL)
- return 0;
-
- t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION;
- t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu);
- t->device = bt->dev;
- t->action = action;
- t->pid = pid;
- t->cpu = cpu;
- t->pdu_len = len;
- memcpy((void *) t + sizeof(*t), data, len);
- return blktrace_seq;
+ if (t) {
+ const int cpu = smp_processor_id();
+
+ t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION;
+ t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu);
+ t->device = bt->dev;
+ t->action = action;
+ t->pid = pid;
+ t->cpu = cpu;
+ t->pdu_len = len;
+ memcpy((void *) t + sizeof(*t), data, len);
+ }
}
/*
@@ -59,9 +57,8 @@ static inline unsigned int trace_note(struct blk_trace *bt,
*/
static void trace_note_tsk(struct blk_trace *bt, struct task_struct *tsk)
{
- tsk->btrace_seq = trace_note(bt, tsk->pid,
- BLK_TN_PROCESS,
- tsk->comm, sizeof(tsk->comm));
+ tsk->btrace_seq = blktrace_seq;
+ trace_note(bt, tsk->pid, BLK_TN_PROCESS, tsk->comm, sizeof(tsk->comm));
}
static void trace_note_time(struct blk_trace *bt)