[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:
parent
d916faace3
commit
d3d9d2a5ea
|
@ -31,25 +31,25 @@ 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->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);
|
||||||
|
}
|
||||||
|
|
||||||
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;
|
return blktrace_seq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue