All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shailabh Nagar <nagar@watson.ibm.com>
To: Andi Kleen <ak@suse.de>, Arjan van de Ven <arjan@infradead.org>
Cc: lse-tech <lse-tech@lists.sourceforge.net>, linux-kernel@vger.kernel.org
Subject: Re: [Patch 5/7]  synchronous block I/O delays
Date: Mon, 27 Feb 2006 17:09:27 -0500	[thread overview]
Message-ID: <44037897.4050709@watson.ibm.com> (raw)
In-Reply-To: <p73fym428cf.fsf@verdi.suse.de>

Andi Kleen wrote:

>Shailabh Nagar <nagar@watson.ibm.com> writes:
>
>  
>
>>delayacct-blkio.patch
>>
>>Record time spent by a task waiting for completion of 
>>userspace initiated synchronous block I/O. This can help
>>determine the right I/O priority for the task.
>>    
>>
>
>I think it's a good idea to have such a statistic by default.
>  
>
Besides the paths we're counting and the one's Arjan listed below, are 
there others
you had in mind ?

>Can you add a counter that is summed up in task_struct and reports
>in /proc/*/stat so that it could be displayed by top? 
>
>This way it would be useful even with "normal" user space.
>
>-Andi
>

Arjan van de Ven wrote:

>this misses O_SYNC, msync(), and general throttling.
>I get the feeling this is being measured at the wrong level
>currently.... since the number of entry points that needs measuring at
>the current level is hardly finite...
>  
>

Our intent was to get an idea of user-initiated sync block I/O because
there is some expectation from user space that a higher I/O priority will
result in lower delays for such I/O. General throttling writes wouldn't 
fit in
this category though msync and O_SYNC would.

Are there a lot of other paths you see ? I'll root around more but if you
could just list a few more, it'll help.

As for the level at which the counting is being done, the reason for
choosing this one was to avoid counting time spent waiting for async I/O
completion and also to keep the accounting simple (diff of two 
timestamps without
modifying block I/O structures).

To our usage model, async I/O is also not as useful to be counted since 
userspace has already
taken steps to tolerate the latency and can do useful work (and not be 
"delayed").
However, I would  have liked to capture the time spent within 
sys_io_getevents
when a timeout is specified, since there the user is again going to be 
delayed,
but the mingling of block and network I/O events makes that more complex.


Going further down the I/O processing stack than the current level would
probably require more elaborate mechanisms to keep track of the submitter ?
Or is there a better merging point for sync I/O that I'm missing ?

Your comments would be welcome to improve this code...

--Shailabh
P.S. Sorry if  merging the two responses violates any netiquette :-)


  parent reply	other threads:[~2006-02-27 22:09 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-27  7:56 [Patch 0/7] Per-task delay accounting Shailabh Nagar
2006-02-27  8:02 ` [Patch 1/7] timespec diff utility Shailabh Nagar
2006-02-27  8:12   ` [Patch 2/7] Add sysctl for schedstats Shailabh Nagar
2006-02-27  8:52     ` Ingo Molnar
2006-02-27 10:46       ` [Lse-tech] " Balbir Singh
2006-02-27 12:18         ` Arjan van de Ven
2006-02-27 12:29           ` Balbir Singh
2006-02-27 13:06             ` Arjan van de Ven
2006-02-27 16:16               ` Balbir Singh
2006-02-27  9:17     ` Nick Piggin
2006-02-27  9:41       ` Shailabh Nagar
2006-02-27 12:28         ` Nick Piggin
2006-02-27 19:09       ` [Lse-tech] " Chandra Seetharaman
2006-02-28  0:25         ` Nick Piggin
2006-02-28  1:42           ` chandra seetharaman
2006-03-07 17:26       ` schedstats refinement (was Re: [Lse-tech] Re: [Patch 2/7] Add sysctl for schedstats) Balbir Singh
2006-02-27 17:05     ` [Lse-tech] [Patch 2/7] Add sysctl for schedstats Bryan O'Sullivan
2006-02-27 20:55       ` Shailabh Nagar
2006-02-27 22:26         ` Bryan O'Sullivan
2006-02-27  8:22   ` [Patch 1/7] timespec diff utility Arjan van de Ven
2006-02-27  8:34     ` Shailabh Nagar
2006-02-27  8:37       ` Arjan van de Ven
2006-02-27  8:15 ` [Patch 3/7] delay accounting initial setup Shailabh Nagar
2006-02-27  8:18 ` [Patch 4/7] Add sysctl for delay accounting Shailabh Nagar
2006-02-27  8:26   ` Arjan van de Ven
2006-02-27  8:38     ` Shailabh Nagar
2006-02-27  8:42       ` Arjan van de Ven
2006-02-27  8:59         ` Shailabh Nagar
2006-02-27 11:18           ` [Lse-tech] " Balbir Singh
2006-02-27  9:04         ` Dipankar Sarma
2006-02-27  9:13           ` Arjan van de Ven
2006-02-27 10:11             ` [Lse-tech] " Balbir Singh
2006-02-27 11:24               ` Arjan van de Ven
2006-02-27 12:00                 ` Balbir Singh
2006-02-27 12:23                 ` Srivatsa Vaddagiri
2006-02-27  8:20 ` [Patch 5/7] synchronous block I/O delays Shailabh Nagar
2006-02-27  8:29   ` Arjan van de Ven
2006-02-27  9:13     ` Shailabh Nagar
2006-02-27  9:18       ` Arjan van de Ven
2006-02-27  9:24       ` Arjan van de Ven
2006-02-27 14:18   ` Andi Kleen
2006-02-27 21:31     ` Shailabh Nagar
2006-02-27 22:09     ` Shailabh Nagar [this message]
2006-02-27 22:20       ` Andi Kleen
2006-02-28  8:10       ` Arjan van de Ven
2006-02-27  8:22 ` [Patch 6/7] Swapin page fault delays Shailabh Nagar
2006-02-27  8:30   ` Arjan van de Ven
2006-02-27 22:16     ` Shailabh Nagar
2006-02-27  8:31 ` [Patch 7/7] Generic netlink interface (delay accounting) Shailabh Nagar
     [not found]   ` <1141045194.5363.12.camel@localhost.localdomain>
     [not found]     ` <4403608E.1050304@watson.ibm.com>
     [not found]       ` <1141652556.5185.64.camel@localhost.localdomain>
2006-03-06 17:00         ` Shailabh Nagar
2006-03-07 14:38           ` [Lse-tech] " jamal
2006-03-08 21:56             ` Shailabh Nagar
2006-03-08 21:56               ` Shailabh Nagar
2006-03-09 14:37               ` [UPDATED PATCH] Re: [Lse-tech] " Balbir Singh
2006-03-09 14:37                 ` [UPDATED PATCH] " Balbir Singh
2006-03-09 16:06                 ` [UPDATED PATCH] Re: [Lse-tech] " Shailabh Nagar
2006-03-09 16:06                   ` [UPDATED PATCH] " Shailabh Nagar
2006-03-10 14:53                 ` [UPDATED PATCH] Re: [Lse-tech] " jamal
2006-03-10 14:53                   ` [UPDATED PATCH] " jamal
2006-03-10 15:35                   ` [UPDATED PATCH] Re: [Lse-tech] " jamal
2006-03-10 16:39                   ` Balbir Singh
2006-03-10 16:39                     ` [UPDATED PATCH] " Balbir Singh
2006-03-11 13:30                     ` [UPDATED PATCH] Re: [Lse-tech] " jamal
2006-03-11 13:30                       ` [UPDATED PATCH] " jamal
2006-03-13 16:21                       ` [UPDATED PATCH] Re: [Lse-tech] " Balbir Singh
2006-02-27  9:10 ` [Patch 0/7] Per-task delay accounting Nick Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44037897.4050709@watson.ibm.com \
    --to=nagar@watson.ibm.com \
    --cc=ak@suse.de \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.