From: Fengguang Wu <fengguang.wu@intel.com>
To: Diego Calleja <diegocg@gmail.com>
Cc: "Artem S. Tashkinov" <t.artem@lycos.com>,
david@lang.hm, neilb@suse.de, linux-kernel@vger.kernel.org,
torvalds@linux-foundation.org, linux-fsdevel@vger.kernel.org,
axboe@kernel.dk, linux-mm@kvack.org
Subject: Re: Disabling in-memory write cache for x86-64 in Linux II
Date: Sat, 26 Oct 2013 00:32:25 +0100 [thread overview]
Message-ID: <20131025233225.GA32051@localhost> (raw)
In-Reply-To: <1999200.Zdacx0scmY@diego-arch>
On Fri, Oct 25, 2013 at 09:40:13PM +0200, Diego Calleja wrote:
> El Viernes, 25 de octubre de 2013 18:26:23 Artem S. Tashkinov escribió:
> > Oct 25, 2013 05:26:45 PM, david wrote:
> > >actually, I think the problem is more the impact of the huge write later
> > >on.
> > Exactly. And not being able to use applications which show you IO
> > performance like Midnight Commander. You might prefer to use "cp -a" but I
> > cannot imagine my life without being able to see the progress of a copying
> > operation. With the current dirty cache there's no way to understand how
> > you storage media actually behaves.
>
>
> This is a problem I also have been suffering for a long time. It's not so much
> how much and when the systems syncs dirty data, but how unreponsive the
> desktop becomes when it happens (usually, with rsync + large files). Most
> programs become completely unreponsive, specially if they have a large memory
> consumption (ie. the browser). I need to pause rsync and wait until the
> systems writes out all dirty data if I want to do simple things like scrolling
> or do any action that uses I/O, otherwise I need to wait minutes.
That's a problem. And it's kind of independent of the dirty threshold
-- if you are doing large file copies in the background, it will lead
to continuous disk writes and stalls anyway -- the large dirty threshold
merely delays the write IO time.
> I have 16 GB of RAM and excluding the browser (which usually uses about half
> of a GB) and KDE itself, there are no memory hogs, so it seem like it's
> something that shouldn't happen. I can understand that I/O operations are
> laggy when there is some other intensive I/O ongoing, but right now the system
> becomes completely unreponsive. If I am unlucky and Konsole also becomes
> unreponsive, I need to switch to a VT (which also takes time).
>
> I haven't reported it before in part because I didn't know how to do it, "my
> browser stalls" is not a very useful description and I didn't know what kind
> of data I'm supposed to report.
What's the kernel you are running? And it's writing to a hard disk?
The stalls are most likely caused by either one of
1) write IO starves read IO
2) direct page reclaim blocked when
- trying to writeout PG_dirty pages
- trying to lock PG_writeback pages
Which may be confirmed by running
ps -eo ppid,pid,user,stat,pcpu,comm,wchan:32
or
echo w > /proc/sysrq-trigger # and check dmesg
during the stalls. The latter command works more reliably.
Thanks,
Fengguang
next prev parent reply other threads:[~2013-10-25 23:32 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-25 7:25 Disabling in-memory write cache for x86-64 in Linux II Artem S. Tashkinov
2013-10-25 8:18 ` Linus Torvalds
2013-10-25 8:30 ` Artem S. Tashkinov
2013-10-25 8:43 ` Linus Torvalds
2013-10-25 9:15 ` Karl Kiniger
2013-10-29 20:30 ` Jan Kara
2013-10-29 20:43 ` Andrew Morton
2013-10-29 21:30 ` Jan Kara
2013-10-29 21:36 ` Linus Torvalds
2013-10-31 14:26 ` Karl Kiniger
2013-11-01 14:25 ` Maxim Patlasov
2013-11-01 14:31 ` [PATCH] mm: add strictlimit knob Maxim Patlasov
2013-11-04 22:01 ` Andrew Morton
2013-11-06 14:30 ` Maxim Patlasov
2013-11-06 15:05 ` [PATCH] mm: add strictlimit knob -v2 Maxim Patlasov
2013-11-07 12:26 ` Henrique de Moraes Holschuh
2013-11-22 23:45 ` Andrew Morton
2013-10-25 11:28 ` Disabling in-memory write cache for x86-64 in Linux II David Lang
2013-10-25 9:18 ` Theodore Ts'o
2013-10-25 9:29 ` Andrew Morton
2013-10-25 9:32 ` Linus Torvalds
2013-10-26 11:32 ` Pavel Machek
2013-10-26 20:03 ` Linus Torvalds
2013-10-29 20:57 ` Jan Kara
2013-10-29 21:33 ` Linus Torvalds
2013-10-29 22:13 ` Jan Kara
2013-10-29 22:42 ` Linus Torvalds
2013-11-01 17:22 ` Fengguang Wu
2013-11-04 12:19 ` Pavel Machek
2013-11-04 12:26 ` Pavel Machek
2013-10-30 12:01 ` Mel Gorman
2013-11-19 17:17 ` Rob Landley
2013-11-20 20:52 ` One Thousand Gnomes
2013-10-25 22:37 ` Fengguang Wu
2013-10-25 23:05 ` Fengguang Wu
2013-10-25 23:37 ` Theodore Ts'o
2013-10-29 20:40 ` Jan Kara
2013-10-30 10:07 ` Artem S. Tashkinov
2013-10-30 15:12 ` Jan Kara
2013-11-05 0:50 ` Andreas Dilger
2013-11-05 4:12 ` Dave Chinner
2013-11-07 13:48 ` Jan Kara
2013-11-11 3:22 ` Dave Chinner
2013-11-11 19:31 ` Jan Kara
2013-10-25 10:49 ` NeilBrown
2013-10-25 11:26 ` David Lang
2013-10-25 18:26 ` Artem S. Tashkinov
2013-10-25 19:40 ` Diego Calleja
2013-10-25 23:32 ` Fengguang Wu [this message]
2013-11-15 15:48 ` Diego Calleja
2013-10-25 20:43 ` NeilBrown
2013-10-25 21:03 ` Artem S. Tashkinov
2013-10-25 22:11 ` NeilBrown
[not found] ` <CAF7GXvpJVLYDS5NfH-NVuN9bOJjAS5c1MQqSTjoiVBHJt6bWcw@mail.gmail.com>
2013-11-05 1:47 ` David Lang
2013-11-05 2:08 ` NeilBrown
2013-10-29 20:49 ` Jan Kara
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=20131025233225.GA32051@localhost \
--to=fengguang.wu@intel.com \
--cc=axboe@kernel.dk \
--cc=david@lang.hm \
--cc=diegocg@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=neilb@suse.de \
--cc=t.artem@lycos.com \
--cc=torvalds@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).