[lkml]   [2012]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH RESEND 9/9] block, trace: implement ioblame - IO tracer with origin tracking
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.



 \ /
  Last update: 2012-01-11 19:11    [W:0.093 / U:2.640 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site