From: Andrew Morton <akpm@zip.com.au>
To: Chris Mason <mason@suse.com>
Cc: Johan Ekenberg <johan@ekenberg.se>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
jack@suse.cz, linux-kernel@vger.kernel.org
Subject: Re: Lockups with 2.4.14 and 2.4.16
Date: Fri, 14 Dec 2001 09:26:42 -0800 [thread overview]
Message-ID: <3C1A3652.52B989E4@zip.com.au> (raw)
In-Reply-To: <000a01c1829f$75daf7a0$050010ac@FUTURE>, <000a01c1829f$75daf7a0$050010ac@FUTURE> <3825380000.1008348567@tiny>
Chris Mason wrote:
>
> Ok, Johan sent along stack traces, and the deadlock works a little like this:
>
> linux-2.4.16 + reiserfs + quota v2
>
> kswapd ->
> prune_icache->dispose_list->dquot_drop->commit_dquot->generic_file_write->
> mark_inode_dirty->journal_begin-> wait for trans to end
uh-huh.
> Some process in the transaction is waiting on kswapd to free ram.
This is unfamiliar. Where does a process block on kswapd in this
manner? Not __alloc_pages I think.
> So, this will hit any journaled FS that uses quotas and logs inodes under
> during a write. ext3 doesn't seem to do special things for quota anymore, so
> it should be affected too.
mm.. most of the ext3 damage-avoidance hacks are around writepage().
> The only fix I see is to make sure kswapd doesn't run shrink_icache, and to
> have it done via a dedicated daemon instead. Does anyone have a better idea?
Well, we already need to do something like that to prevent the
abuse of keventd in there. It appears that somebody had a
problem with deadlocks doing the inode writeout in kswapd but
missed the quota problem.
Is it possible for the quota code to just bale out if PF_MEMALLOC
is set? To leave the dquot dirty?
-
next prev parent reply other threads:[~2001-12-14 17:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-11 23:29 Lockups with 2.4.14 and 2.4.16 Johan Ekenberg
2001-12-11 23:47 ` Alan Cox
2001-12-11 23:56 ` SV: " Johan Ekenberg
2001-12-12 0:36 ` Alan Cox
2001-12-14 16:49 ` Chris Mason
2001-12-14 17:26 ` Andrew Morton [this message]
2001-12-14 17:53 ` Chris Mason
2001-12-14 18:32 ` Andrea Arcangeli
2001-12-14 18:55 ` Chris Mason
2001-12-14 18:57 ` Andrew Morton
2001-12-14 19:16 ` Andrea Arcangeli
2001-12-20 13:29 ` Chris Mason
[not found] ` <1624652704.1008906979@tiny>
[not found] ` <3C22CC54.D4F5B01@zip.com.au>
2001-12-21 13:29 ` [PATCH] " Chris Mason
2001-12-14 19:26 ` Jan Kara
2001-12-14 19:21 ` Jan Kara
2001-12-12 0:56 ` SV: " Johan Ekenberg
2001-12-12 1:22 ` Alan Cox
2001-12-12 0:12 ` Brad Dameron
2001-12-12 0:47 ` Chris Mason
2001-12-12 1:01 ` SV: " Johan Ekenberg
2001-12-12 1:10 ` Hans Reiser
2001-12-12 1:15 ` Chris Mason
-- strict thread matches above, loose matches on Subject: below --
2001-12-12 0:38 Johan Ekenberg
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=3C1A3652.52B989E4@zip.com.au \
--to=akpm@zip.com.au \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=jack@suse.cz \
--cc=johan@ekenberg.se \
--cc=linux-kernel@vger.kernel.org \
--cc=mason@suse.com \
/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.