Messages in this thread Patch in this message | | | Date | Wed, 2 Aug 2006 02:49:38 +0400 | From | Alexey Dobriyan <> | Subject | [PATCH v3] ifdef blktrace debugging fields |
| |
On Tue, Aug 01, 2006 at 10:12:57PM +0200, Jens Axboe wrote: > > +#ifdef CONFIG_BLK_DEV_IO_TRACE > > if (q->blk_trace) > > blk_trace_shutdown(q); > > - > > +#endif > > kmem_cache_free(requestq_cachep, q); > > } > > That can be made ifdef less, if you unconditionally call > blk_trace_shutdown() and just make that one do: > > if (q->blk_trace) { > ... > } > > since that'll then do the right always. Please make that change, then > I'm fine with the patch.
OK here goes version 3.
[PATCH] ifdef blktrace debugging fields
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> ---
block/blktrace.c | 6 ++++-- block/ll_rw_blk.c | 3 +-- include/linux/blkdev.h | 4 ++-- include/linux/sched.h | 3 ++- kernel/fork.c | 2 ++ 5 files changed, 11 insertions(+), 7 deletions(-)
--- a/block/blktrace.c +++ b/block/blktrace.c @@ -450,8 +450,10 @@ int blk_trace_ioctl(struct block_device **/ void blk_trace_shutdown(request_queue_t *q) { - blk_trace_startstop(q, 0); - blk_trace_remove(q); + if (q->blk_trace) { + blk_trace_startstop(q, 0); + blk_trace_remove(q); + } } /* --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -1780,8 +1780,7 @@ static void blk_release_queue(struct kob if (q->queue_tags) __blk_queue_free_tags(q); - if (q->blk_trace) - blk_trace_shutdown(q); + blk_trace_shutdown(q); kmem_cache_free(requestq_cachep, q); } --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -417,9 +417,9 @@ struct request_queue unsigned int sg_timeout; unsigned int sg_reserved_size; int node; - +#ifdef CONFIG_BLK_DEV_IO_TRACE struct blk_trace *blk_trace; - +#endif /* * reserved for flush operations */ --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -784,8 +784,9 @@ #endif struct prio_array *array; unsigned short ioprio; +#ifdef CONFIG_BLK_DEV_IO_TRACE unsigned int btrace_seq; - +#endif unsigned long sleep_avg; unsigned long long timestamp, last_ran; unsigned long long sched_time; /* sched_clock time spent running */ --- a/kernel/fork.c +++ b/kernel/fork.c @@ -177,7 +177,9 @@ static struct task_struct *dup_task_stru /* One for us, one for whoever does the "release_task()" (usually parent) */ atomic_set(&tsk->usage,2); atomic_set(&tsk->fs_excl, 0); +#ifdef CONFIG_BLK_DEV_IO_TRACE tsk->btrace_seq = 0; +#endif tsk->splice_pipe = NULL; return tsk; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |