Re: [Patch 2/8] Sync block I/O and swapin delay collection
From: Nick Piggin
Date: Tue May 09 2006 - 00:36:49 EST
Balbir Singh wrote:
On Mon, May 08, 2006 at 02:19:52PM -0700, Andrew Morton wrote:
Balbir Singh <balbir@xxxxxxxxxx> wrote:
@@ -550,6 +550,12 @@ struct task_delay_info {
* Atomicity of updates to XXX_delay, XXX_count protected by
* single lock above (split into XXX_lock if contention is an issue).
*/
+
+ struct timespec blkio_start, blkio_end; /* Shared by blkio, swapin */
+ u64 blkio_delay; /* wait for sync block io completion */
+ u64 swapin_delay; /* wait for swapin block io completion */
+ u32 blkio_count;
+ u32 swapin_count;
These fields are a bit mystifying.
In what units are blkio_delay and swapin_delay?
What is the meaning behind blkio_count and swapin_count?
Better comments needed, please.
Will add more detailed comments and send them as updates.
What kinds of usages will this stuff see? Will the CONFIG be usually
turned on,
with some tasks occasionally using the statistics?
In which case, might it be better to make each delay collector in its
own data
structure { .list; .start; .end; .delay; .count; .private; .name }, and
allocate
them and hang them off the task structure when they're in use?
Or even put them in their own data structure (a small hash or something).
OTOH if they're often going to be in use by many tasks, then what you
have might
be the best option.
Nick
Send instant messages to your online friends http://au.messenger.yahoo.com
-
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/