Re: [PATCH RESEND 9/9] block, trace: implement ioblame - IO tracerwith origin tracking

From: Tejun Heo
Date: Wed Jan 11 2012 - 13:08:25 EST


On Tue, Jan 10, 2012 at 05:32:12PM -0800, Tejun Heo wrote:
> Implement ioblame, which can attribute each IO to its origin and
> export the information using a tracepoint.
>
> Operations which may eventually cause IOs and IO operations themselves
> are identified and tracked primarily by their stack traces along with
> the task and the target file (dev:ino:gen). On each IO completion,
> ioblame knows why that specific IO happened and exports the
> information via ioblame:ioblame_io tracepoint.
>
> While ioblame adds fields to a few fs and block layer objects, all
> logic is well insulated inside ioblame proper and all hooking goes
> through well defined tracepoints and doesn't add any significant
> maintenance overhead.
>
> For details, please read Documentation/trace/ioblame.txt.
>
> -v2: Namhyung pointed out that all the information available at IO
> completion can be exported via tracepoint and letting userland do
> whatever it wants to do with that would be better. Stripped out
> in-kernel statistics gathering.
>
> Now that everything is exported through tracepoint, iolog and
> counters_pipe[_pipe] are unnecessary. Removed. intents_bin too
> is removed.
>
> As data collection no longer requires polling, ioblame/intents is
> updated to generate inotify IN_MODIFY event after a new intent is
> created.

One planned update is exporting issuer and dirtier separately.
Currently dirtier, if exists, simply overrides issuer as it wasn't
useful for in-kernel statistics anyway. With that gone, I think it
makes much more sense to expose both of them.

Thanks.

--
tejun
--
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/