Re: [PATCH 3/3] writeback: tracking subsystems causing writeback

From: Michael Rubin
Date: Sat Jun 19 2010 - 13:50:32 EST


Thanks for looking at this.

On Sat, Jun 19, 2010 at 1:17 AM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> Michael Rubin <mrubin@xxxxxxxxxx> writes:
>>     # cat /sys/block/sda/bdi/writeback_stats
>>     balance dirty pages                       0
>>     balance dirty pages waiting               0
>>     periodic writeback                    92024
>>     periodic writeback exited                 0
>>     laptop periodic                           0
>>     laptop or bg threshold                    0
>>     free more memory                          0
>>     try to free pages                       271
>>     syc_sync                                  6
>>     sync filesystem                           0
>
> That exports a lot of kernel internals in /sys, presumably read by some
> applications. What happens with the applications if the kernel internals
> ever change?  Will the application break?
>
> It would be bad to not be able to change the kernel because of
> such an interface.

I agree. This would put the kernel in a box a bit. Some of them
(sys_sync, periodic writeback, free_more_memory) I feel are generic
enough concepts that with some rewording of the labels they could be
exposed with no issue. "Balance_dirty_pages" is an example where that
won't work.

Are there alternatives to this? Maybe tracepoints that are compiled to be on?
A CONFIG_WRITEBACK_DEBUG that would expose this file?

Having this set of info readily available and collected makes
debugging a lot easier. But I admit I am not sure the best way to
expose them.

mrubin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/