Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3d9d2a5 authored by Jens Axboe's avatar Jens Axboe
Browse files

[PATCH] blktrace: uninline trace_note()



It's too large to inline. Additionally clean it up, by fast pathing
the likely path.

Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent d916faac
Loading
Loading
Loading
Loading
+15 −15
Original line number Original line Diff line number Diff line
@@ -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;
}
}