From: Anton Altaparmakov <aia21@cam.ac.uk>
To: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@osdl.org>,
nickpiggin@yahoo.com.au, eike-kernel@sf-tec.de,
linux-kernel@vger.kernel.org, aia21@cantab.net,
Arjan van de Ven <arjan@infradead.org>
Subject: Re: [BUG?] possible recursive locking detected
Date: Thu, 27 Jul 2006 15:31:17 +0100 [thread overview]
Message-ID: <1154010677.21849.66.camel@imp.csi.cam.ac.uk> (raw)
In-Reply-To: <20060727094617.GA5955@elte.hu>
On Thu, 2006-07-27 at 11:46 +0200, Ingo Molnar wrote:
> * Anton Altaparmakov <aia21@cam.ac.uk> wrote:
>
> > An example is the potential deadlock in generic buffered file write
> > where we fault in a page via fault_in_pages_readable() but there is
> > nothing to guarantee that page will not go away between us doing this
> > and us using the page.
>
> isnt this solved by:
>
> commit 6527c2bdf1f833cc18e8f42bd97973d583e4aa83
> Author: Vladimir V. Saveliev <vs@namesys.com>
> Date: Tue Jun 27 02:53:57 2006 -0700
>
> [PATCH] generic_file_buffered_write(): deadlock on vectored write
>
> ?
>
> if not, do you have any description of the problem or a link to previous
> discussion[s] outlining the problem? To me it appears this is a kernel
> bug where we simply dropped the ball to fix it. I personally dont find
> it acceptable to have deadlocks in the kernel, where all that is needed
> to trigger it is "high i/o loads", no matter how hard it is to fix the
> deadlock.
For reiserfs? Certainly not given it doesn't use
generic_file_buffered_write() and instead does the most useless and
stupid thing known to mankind by causing the deadlock even more
effectively (it grabs and locks all the pages and _then_ calls
fault_in_pages_readable() afterwards!)... In fact the way we stabilize
reiserfs is to make it use generic_file_write() which doesn't do such
stupidities...
Note that even the above patch is not a 100% solution. What guarantees
are there that the page faulted in will still be around when it is read
a few lines down the line in the code? Given sufficient parallel memory
pressure/io pressure it can still cause the page to be evicted again
immediately after it is faulted in...
All the above patch does is to _dramatically_ reduce the race window for
this happening but it does not eliminate it in theory (AFAICS).
So if your stance is that deadlocks are completely unacceptable it still
is not fixed. If your stance is that _really_ unlikely deadlocks are
acceptable then it is fixed.
The heavily loaded servers here certainly do not suffer from the
deadlock any more (well they haven't done for a while anyway no
guarantees it won't happen tomorrow).
Best regards,
Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://www.linux-ntfs.org/ & http://www-stu.christs.cam.ac.uk/~aia21/
next prev parent reply other threads:[~2006-07-27 14:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-26 16:05 Rolf Eike Beer
2006-07-27 5:53 ` Andrew Morton
2006-07-27 6:51 ` Nick Piggin
2006-07-27 7:15 ` Anton Altaparmakov
2006-07-27 7:38 ` Andrew Morton
2006-07-27 8:19 ` Anton Altaparmakov
2006-07-27 8:53 ` Andrew Morton
2006-07-27 9:28 ` Anton Altaparmakov
2006-07-27 9:46 ` Ingo Molnar
2006-07-27 14:31 ` Anton Altaparmakov [this message]
2006-07-27 14:45 ` Ingo Molnar
2006-07-27 18:04 ` Andrew Morton
2006-07-27 9:18 ` Nick Piggin
2006-07-27 9:35 ` Anton Altaparmakov
2006-07-27 10:02 ` Nick Piggin
2006-07-27 12:30 ` Anton Altaparmakov
2006-07-27 7:24 ` Andrew Morton
2006-07-27 7:29 ` Arjan van de Ven
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=1154010677.21849.66.camel@imp.csi.cam.ac.uk \
--to=aia21@cam.ac.uk \
--cc=aia21@cantab.net \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=eike-kernel@sf-tec.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
/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
all inboxes | Powered by JetHome®