[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>
This commit is contained in:
Jens Axboe 2006-12-04 09:27:41 +01:00
parent d916faace3
commit d3d9d2a5ea

View file

@ -31,16 +31,14 @@ static unsigned int blktrace_seq __read_mostly = 1;
/* /*
* Send out a notify message. * Send out a notify message.
*/ */
static inline unsigned int trace_note(struct blk_trace *bt, static unsigned int trace_note(struct blk_trace *bt, pid_t pid, int action,
pid_t pid, int action,
const void *data, size_t len) const void *data, size_t len)
{ {
struct blk_io_trace *t; struct blk_io_trace *t;
int cpu = smp_processor_id();
t = relay_reserve(bt->rchan, sizeof(*t) + len); t = relay_reserve(bt->rchan, sizeof(*t) + len);
if (t == NULL) if (t) {
return 0; const int cpu = smp_processor_id();
t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION; t->magic = BLK_IO_TRACE_MAGIC | BLK_IO_TRACE_VERSION;
t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu); t->time = sched_clock() - per_cpu(blk_trace_cpu_offset, cpu);
@ -50,6 +48,8 @@ static inline unsigned int trace_note(struct blk_trace *bt,
t->cpu = cpu; t->cpu = cpu;
t->pdu_len = len; t->pdu_len = len;
memcpy((void *) t + sizeof(*t), data, len); memcpy((void *) t + sizeof(*t), data, len);
}
return blktrace_seq; return blktrace_seq;
} }