taskstats and /proc/.../io asymmetry?

From: Mark Seger
Date: Wed May 14 2008 - 06:59:56 EST


If you look at /proc/pid/stat, you can get the total CPU consumed by a process. If you look at /proc/pid/task/tid/stat you can get the cpu consumed by a thread and if the tid is that of the parent you only gets its consumption as opposed to all its children.

I was surprised to see that the way process I/O is reported doesn't follow this model. There are no /prod/pid/task/tid/io entries but rather you need to look in /proc/tid/io. While I view this as a minor inconvenience, I can certainly live with it. However, /proc/pid/io does not show the aggregate I/O numbers for the whole process and that both surprises and disappoints. This means if I have a process that starts a bunch of worker threads that do the real work and I want to find the top I/O consumers I can't simply walk the /proc/pid tree but rather have to look at all the threads of each process and add them up.

Or am I missing something?

-mark


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