From: Vivek Goyal <vgoyal@redhat.com>
To: Chris Mason <chris.mason@oracle.com>
Cc: Dave Chinner <david@fromorbit.com>,
Chad Talbott <ctalbott@google.com>,
James Bottomley <james.bottomley@hansenpartnership.com>,
lsf <lsf@lists.linux-foundation.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: IO less throttling and cgroup aware writeback (Was: Re: [Lsf] Preliminary Agenda and Activities for LSF)
Date: Thu, 31 Mar 2011 18:25:46 -0400 [thread overview]
Message-ID: <20110331222546.GD11139@redhat.com> (raw)
In-Reply-To: <1301581251-sup-987@think>
On Thu, Mar 31, 2011 at 10:34:03AM -0400, Chris Mason wrote:
[..]
> >
> > For me knowing this is also important in another context of absolute IO
> > throttling.
> >
> > - If a fsync is in progress and gets throttled at device, what impact it
> > has on other file system operations. What gets serialized behind it.
>
> It depends. atime updates log inodes and logging needs a transaction
> and transactions sometimes need to wait for the last transaction to
> finish. So its very possible you'll make anything using the FS appear
> to stop.
I think I have run into this. I created a cgroup and gave ridiculously
low limit of 1bytes/sec and did a fsync. This process blocks. Later
I did "ls" in the directory where fsync process is blocked and ls
also hangs. Following is backtrace. Looks like atime update led to
some kind of blocking in do_get_write_access().
ls D ffffffff8160b060 0 5936 5192 0x00000000
ffff880138729c48 0000000000000086 0000000000000000 0000000100000010
0000000000000000 ffff88013fc40100 ffff88013ac7ac00 000000012e5d70f3
ffff8801353d7af8 ffff880138729fd8 000000000000f558 ffff8801353d7af8
Call Trace:
[<ffffffffa035b0dd>] do_get_write_access+0x29d/0x500 [jbd2]
[<ffffffff8108e150>] ? wake_bit_function+0x0/0x50
[<ffffffffa035b491>] jbd2_journal_get_write_access+0x31/0x50 [jbd2]
[<ffffffffa03a7328>] __ext4_journal_get_write_access+0x38/0x80 [ext4]
[<ffffffffa0383843>] ext4_reserve_inode_write+0x73/0xa0 [ext4]
[<ffffffffa037c618>] ? call_filldir+0x78/0xe0 [ext4]
[<ffffffffa03838bc>] ext4_mark_inode_dirty+0x4c/0x1d0 [ext4]
[<ffffffff81041594>] ? __do_page_fault+0x1e4/0x480
[<ffffffffa0383bb0>] ext4_dirty_inode+0x40/0x60 [ext4]
[<ffffffff8119a21b>] __mark_inode_dirty+0x3b/0x160
[<ffffffff8118acad>] touch_atime+0x12d/0x170
[<ffffffff81184c00>] ? filldir+0x0/0xe0
[<ffffffff81184e96>] vfs_readdir+0xd6/0xe0
[<ffffffff81185009>] sys_getdents+0x89/0xf0
[<ffffffff814dc635>] ? page_fault+0x25/0x30
[<ffffffff8100b172>] system_call_fastpath+0x16/0x1b
The vim process doing fsync trace is as follows. This is waiting for
some IO to finish which has been throttled at the device.
vim D ffffffff8110d1f0 0 5934 4452 0x00000000
ffff880107e2dcc8 0000000000000086 0000000100000000 0000000000000003
ffff8801351f4538 0000000000000000 ffff880107e2dc68 ffffffff810e7da2
ffff8801353d70b8 ffff880107e2dfd8 000000000000f558 ffff8801353d70b8
Call Trace:
[<ffffffff810e7da2>] ? ring_buffer_lock_reserve+0xa2/0x160
[<ffffffff81098cb9>] ? ktime_get_ts+0xa9/0xe0
[<ffffffff8110d1f0>] ? sync_page+0x0/0x50
[<ffffffff814da123>] io_schedule+0x73/0xc0
[<ffffffff8110d22d>] sync_page+0x3d/0x50
[<ffffffff814da98f>] __wait_on_bit+0x5f/0x90
[<ffffffff8110d3e3>] wait_on_page_bit+0x73/0x80
[<ffffffff8108e150>] ? wake_bit_function+0x0/0x50
[<ffffffff81123195>] ? pagevec_lookup_tag+0x25/0x40
[<ffffffff8110d7fb>] wait_on_page_writeback_range+0xfb/0x190
[<ffffffff81122341>] ? do_writepages+0x21/0x40
[<ffffffff8110d94b>] ? __filemap_fdatawrite_range+0x5b/0x60
[<ffffffff8110d9c8>] filemap_write_and_wait_range+0x78/0x90
[<ffffffff8119f5fe>] vfs_fsync_range+0x7e/0xe0
[<ffffffff8119f6cd>] vfs_fsync+0x1d/0x20
[<ffffffff8119f70e>] do_fsync+0x3e/0x60
[<ffffffff8119f760>] sys_fsync+0x10/0x20
[<ffffffff8100b172>] system_call_fastpath+0x16/0x1b
Thanks
Vivek
next prev parent reply other threads:[~2011-03-31 22:26 UTC|newest]
Thread overview: 166+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1301373398.2590.20.camel@mulgrave.site>
2011-03-29 5:14 ` [Lsf] Preliminary Agenda and Activities for LSF Amir Goldstein
2011-03-29 11:16 ` Ric Wheeler
2011-03-29 11:22 ` Matthew Wilcox
2011-03-29 12:17 ` Jens Axboe
2011-03-29 13:09 ` Martin K. Petersen
2011-03-29 13:09 ` Martin K. Petersen
2011-03-29 13:12 ` Ric Wheeler
2011-03-29 13:38 ` James Bottomley
2011-03-29 17:20 ` Shyam_Iyer
2011-03-29 17:20 ` Shyam_Iyer
2011-03-29 17:33 ` Vivek Goyal
2011-03-29 18:10 ` Shyam_Iyer
2011-03-29 18:10 ` Shyam_Iyer
2011-03-29 18:45 ` Vivek Goyal
2011-03-29 19:13 ` Shyam_Iyer
2011-03-29 19:13 ` Shyam_Iyer
2011-03-29 19:57 ` Vivek Goyal
2011-03-29 19:59 ` Mike Snitzer
2011-03-29 20:12 ` Shyam_Iyer
2011-03-29 20:12 ` Shyam_Iyer
2011-03-29 20:23 ` Mike Snitzer
2011-03-29 23:09 ` Shyam_Iyer
2011-03-29 23:09 ` Shyam_Iyer
2011-03-30 5:58 ` [Lsf] " Hannes Reinecke
2011-03-30 14:02 ` James Bottomley
2011-03-30 14:10 ` Hannes Reinecke
2011-03-30 14:26 ` James Bottomley
2011-03-30 14:55 ` Hannes Reinecke
2011-03-30 15:33 ` James Bottomley
2011-03-30 15:46 ` Shyam_Iyer
2011-03-30 15:46 ` Shyam_Iyer
2011-03-30 20:32 ` Giridhar Malavali
2011-03-30 20:45 ` James Bottomley
2011-03-29 19:47 ` Nicholas A. Bellinger
2011-03-29 20:29 ` Jan Kara
2011-03-29 20:31 ` Ric Wheeler
2011-03-30 0:33 ` Mingming Cao
2011-03-30 2:17 ` Dave Chinner
2011-03-30 11:13 ` Theodore Tso
2011-03-30 11:28 ` Ric Wheeler
2011-03-30 14:07 ` Chris Mason
2011-04-01 15:19 ` Ted Ts'o
2011-04-01 16:30 ` Amir Goldstein
2011-04-01 21:46 ` Joel Becker
2011-04-02 3:26 ` Amir Goldstein
2011-04-01 21:43 ` Joel Becker
2011-04-01 21:43 ` Joel Becker
2011-04-01 21:43 ` Joel Becker
2011-03-30 21:49 ` Mingming Cao
2011-03-31 0:05 ` Matthew Wilcox
2011-03-31 1:00 ` Joel Becker
2011-04-01 21:34 ` Mingming Cao
2011-04-01 21:49 ` Joel Becker
2011-03-29 15:35 ` [LSF][MM] page allocation & direct reclaim latency Rik van Riel
2011-03-29 19:05 ` [Lsf] " Andrea Arcangeli
2011-03-29 20:35 ` Ying Han
2011-03-29 20:39 ` Ying Han
2011-03-29 20:45 ` Andrea Arcangeli
2011-03-29 20:53 ` Ying Han
2011-03-29 21:22 ` Rik van Riel
2011-03-29 22:38 ` Andrea Arcangeli
2011-03-29 22:13 ` Minchan Kim
2011-03-29 23:12 ` Andrea Arcangeli
2011-03-30 16:17 ` Mel Gorman
2011-03-30 16:49 ` Andrea Arcangeli
2011-03-31 0:42 ` Hugh Dickins
2011-03-31 15:15 ` Andrea Arcangeli
2011-03-31 9:30 ` Mel Gorman
2011-03-31 16:36 ` Andrea Arcangeli
2011-03-30 16:59 ` Dan Magenheimer
2011-03-29 17:35 ` [Lsf] Preliminary Agenda and Activities for LSF Chad Talbott
2011-03-29 19:09 ` Vivek Goyal
2011-03-29 20:14 ` Chad Talbott
2011-03-29 20:35 ` Jan Kara
2011-03-29 21:08 ` Greg Thelen
2011-03-30 4:18 ` Dave Chinner
2011-03-30 15:37 ` IO less throttling and cgroup aware writeback (Was: Re: [Lsf] Preliminary Agenda and Activities for LSF) Vivek Goyal
2011-03-30 22:20 ` Dave Chinner
2011-03-30 22:49 ` Chad Talbott
2011-03-31 3:00 ` Dave Chinner
2011-03-31 14:16 ` Vivek Goyal
2011-03-31 14:34 ` Chris Mason
2011-03-31 22:14 ` Dave Chinner
2011-03-31 23:43 ` Chris Mason
2011-04-01 0:55 ` Dave Chinner
2011-04-01 1:34 ` Vivek Goyal
2011-04-01 4:36 ` Dave Chinner
2011-04-01 6:32 ` [Lsf] IO less throttling and cgroup aware writeback (Was: " Christoph Hellwig
2011-04-01 7:23 ` Dave Chinner
2011-04-01 12:56 ` Christoph Hellwig
2011-04-21 15:07 ` Vivek Goyal
2011-04-01 14:49 ` IO less throttling and cgroup aware writeback (Was: Re: [Lsf] " Vivek Goyal
2011-03-31 22:25 ` Vivek Goyal [this message]
2011-03-31 14:50 ` [Lsf] IO less throttling and cgroup aware writeback (Was: " Greg Thelen
2011-03-31 22:27 ` Dave Chinner
2011-04-01 17:18 ` Vivek Goyal
2011-04-01 19:57 ` [LSF]: fc_rport attributes to further populate HBAAPIv2 Giridhar Malavali
2011-04-01 21:49 ` [Lsf] IO less throttling and cgroup aware writeback (Was: Re: Preliminary Agenda and Activities for LSF) Dave Chinner
2011-04-02 7:33 ` Greg Thelen
2011-04-02 7:34 ` Greg Thelen
2011-04-05 13:13 ` Vivek Goyal
2011-04-05 22:56 ` Dave Chinner
2011-04-06 14:49 ` Curt Wohlgemuth
2011-04-06 15:39 ` Vivek Goyal
2011-04-06 19:49 ` Greg Thelen
2011-04-06 23:07 ` [Lsf] IO less throttling and cgroup aware writeback Greg Thelen
2011-04-06 23:36 ` Dave Chinner
2011-04-07 19:24 ` Vivek Goyal
2011-04-07 20:33 ` Christoph Hellwig
2011-04-07 21:34 ` Vivek Goyal
2011-04-07 23:42 ` Dave Chinner
2011-04-08 0:59 ` Greg Thelen
2011-04-08 1:25 ` Dave Chinner
2011-04-08 1:25 ` Dave Chinner
2011-04-12 3:17 ` KAMEZAWA Hiroyuki
2011-04-08 13:43 ` Vivek Goyal
2011-04-06 23:08 ` [Lsf] IO less throttling and cgroup aware writeback (Was: Re: Preliminary Agenda and Activities for LSF) Dave Chinner
2011-04-07 20:04 ` Vivek Goyal
2011-04-07 23:47 ` Dave Chinner
2011-04-08 13:50 ` Vivek Goyal
2011-04-11 1:05 ` Dave Chinner
2011-04-06 15:37 ` Vivek Goyal
2011-04-06 16:08 ` Vivek Goyal
2011-04-06 17:10 ` Jan Kara
2011-04-06 17:14 ` Curt Wohlgemuth
2011-04-08 1:58 ` Dave Chinner
2011-04-19 14:26 ` Wu Fengguang
2011-04-06 23:50 ` Dave Chinner
2011-04-07 17:55 ` Vivek Goyal
2011-04-11 1:36 ` Dave Chinner
2011-04-15 21:07 ` Vivek Goyal
2011-04-16 3:06 ` Vivek Goyal
2011-04-18 21:58 ` Jan Kara
2011-04-18 22:51 ` cgroup IO throttling and filesystem ordered mode (Was: Re: [Lsf] IO less throttling and cgroup aware writeback (Was: Re: Preliminary Agenda and Activities for LSF)) Vivek Goyal
2011-04-19 0:33 ` Dave Chinner
2011-04-19 14:30 ` Vivek Goyal
2011-04-19 14:45 ` Jan Kara
2011-04-19 17:17 ` Vivek Goyal
2011-04-19 18:30 ` Vivek Goyal
2011-04-21 0:32 ` Dave Chinner
2011-04-21 0:29 ` Dave Chinner
2011-04-19 14:17 ` [Lsf] IO less throttling and cgroup aware writeback (Was: Re: Preliminary Agenda and Activities for LSF) Wu Fengguang
2011-04-19 14:34 ` Vivek Goyal
2011-04-19 14:48 ` Jan Kara
2011-04-19 15:11 ` Vivek Goyal
2011-04-19 15:22 ` Wu Fengguang
2011-04-19 15:31 ` Vivek Goyal
2011-04-19 16:58 ` Wu Fengguang
2011-04-19 17:05 ` Vivek Goyal
2011-04-19 20:58 ` Jan Kara
2011-04-20 1:21 ` Wu Fengguang
2011-04-20 10:56 ` Jan Kara
2011-04-20 11:19 ` Wu Fengguang
2011-04-20 14:42 ` Jan Kara
2011-04-20 1:16 ` Wu Fengguang
2011-04-20 18:44 ` Vivek Goyal
2011-04-20 19:16 ` Jan Kara
2011-04-21 0:17 ` Dave Chinner
2011-04-21 15:06 ` Wu Fengguang
2011-04-21 15:10 ` Wu Fengguang
2011-04-21 17:20 ` Vivek Goyal
2011-04-22 4:21 ` Wu Fengguang
2011-04-22 15:25 ` Vivek Goyal
2011-04-22 16:28 ` Andrea Arcangeli
2011-04-25 18:19 ` Vivek Goyal
2011-04-26 14:37 ` Vivek Goyal
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=20110331222546.GD11139@redhat.com \
--to=vgoyal@redhat.com \
--cc=chris.mason@oracle.com \
--cc=ctalbott@google.com \
--cc=david@fromorbit.com \
--cc=james.bottomley@hansenpartnership.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=lsf@lists.linux-foundation.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.