From: Shailabh Nagar <nagar@watson.ibm.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [Patch 2/8] Block I/O, swapin delays
Date: Thu, 30 Mar 2006 10:21:24 -0500 [thread overview]
Message-ID: <442BF774.3010300@watson.ibm.com> (raw)
In-Reply-To: <20060329210340.570d63e5.akpm@osdl.org>
Andrew Morton wrote:
>Shailabh Nagar <nagar@watson.ibm.com> wrote:
>
>
>>delayacct-blkio-swapin.patch
>>
>>Collect per-task block I/O delay statistics.
>>
>>Unlike earlier iterations of the delay accounting
>>patches, now delays are only collected for the actual
>>I/O waits rather than try and cover the delays seen in
>>I/O submission paths.
>>
>>Account separately for block I/O delays
>>incurred as a result of swapin page faults whose
>>frequency can be affected by the task/process' rss limit.
>>Hence swapin delays can act as feedback for rss limit changes
>>independent of I/O priority changes.
>>
>>..
>>
>>+#define PF_SWAPIN 0x02000000 /* I am doing a swap in */
>>
>>
>>
>
>Is there really no sane alternative to doing it this way?
>
>
I'm not sure there is. This goes back to what is really being measured
as "block I/O delay".
Earlier iterations of the code tried to measure total block I/O delay
including I/O submission
and the wait for completion:
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0602.3/0905.html
In that design, the swapin delay was being measured as time spent in the
do_swap_page
function:
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0602.3/0906.html
However, Arjan pointed out the difficulties in trying to account for all
I/O submission paths
so we reverted to measuring just the block I/O wait time within
io_schedule/io_schedule_timeout.
Since these functions will be called as a result of do_swap_page, the
only way to distinguish a
block I/O being done for a swapin vs. others was to mark the task struct
in some way and
task->flags seemed like a convenient way to do it.
We could easily introduce and use a separate flag variable in the delay
accounting structure itself if
using up another bit of task->flags is a concern ?
Or do you have doubts about the methodology of using a flag itself ?
Don't see any other lightweight
way of doing this.
--Shailabh
next prev parent reply other threads:[~2006-03-30 15:21 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-30 0:32 [Patch 0/8] per-task delay accounting Shailabh Nagar
2006-03-30 0:35 ` [Patch 1/8] Setup Shailabh Nagar
2006-03-30 5:03 ` Andrew Morton
2006-03-30 15:07 ` Shailabh Nagar
2006-03-30 0:37 ` [Patch 2/8] Block I/O, swapin delays Shailabh Nagar
2006-03-30 5:03 ` Andrew Morton
2006-03-30 15:21 ` Shailabh Nagar [this message]
2006-03-30 0:42 ` [Patch 3/8] cpu delays Shailabh Nagar
2006-03-30 5:03 ` Andrew Morton
2006-03-30 16:01 ` Shailabh Nagar
2006-03-30 16:00 ` Dave Hansen
2006-03-30 16:03 ` Shailabh Nagar
2006-03-30 0:48 ` [Patch 4/8] generic netlink utility functions Shailabh Nagar
2006-03-30 0:52 ` [Patch 5/8] generic netlink interface for delay accounting Shailabh Nagar
2006-03-30 5:04 ` Andrew Morton
2006-03-30 6:10 ` Balbir Singh
2006-03-30 6:26 ` Andrew Morton
2006-03-30 6:29 ` Balbir Singh
2006-03-30 16:24 ` Shailabh Nagar
2006-03-30 0:54 ` [Patch 6/8] virtual cpu run time Shailabh Nagar
2006-03-30 5:04 ` Andrew Morton
2006-03-30 16:10 ` Shailabh Nagar
2006-03-30 0:56 ` [Patch 7/8] proc interface for block I/O delays Shailabh Nagar
2006-03-30 5:04 ` Andrew Morton
2006-03-30 0:59 ` [Patch 8/8] documentation, userspace utility Shailabh Nagar
2006-03-30 5:03 ` [Patch 0/8] per-task delay accounting Andrew Morton
2006-03-30 6:23 ` Balbir Singh
2006-03-30 6:47 ` Andrew Morton
2006-03-30 9:55 ` Paul Jackson
2006-03-30 13:23 ` [Lse-tech] " Dipankar Sarma
2006-03-30 17:23 ` Shailabh Nagar
2006-03-31 2:54 ` Peter Chubb
2006-03-31 5:27 ` Shailabh Nagar
2006-03-31 8:17 ` Peter Chubb
2006-03-31 16:03 ` Shailabh Nagar
[not found] ` <442CCF54.3000501@watson.ibm.com>
2006-03-31 7:31 ` Guillaume Thouvenin
2006-03-31 17:01 ` Shailabh Nagar
[not found] ` <442D8E39.8080606@engr.sgi.com>
[not found] ` <442DED81.5060009@engr.sgi.com>
2006-04-10 17:15 ` Jay Lan
2006-04-10 21:44 ` Shailabh Nagar
2006-04-10 22:33 ` [Lse-tech] " Jay Lan
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=442BF774.3010300@watson.ibm.com \
--to=nagar@watson.ibm.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/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.