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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]