From: William Lee Irwin III <wli@holomorphy.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Andrew Morton <akpm@osdl.org>, Linus Torvalds <torvalds@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: downgrade_write replacement in remap_file_pages
Date: Tue, 8 Jun 2004 12:36:21 -0700 [thread overview]
Message-ID: <20040608193621.GA12780@holomorphy.com> (raw)
In-Reply-To: <20040608154438.GK18083@dualathlon.random>
On Tue, Jun 08, 2004 at 05:44:38PM +0200, Andrea Arcangeli wrote:
> Apparently downgrade_write deadlocks the kernel in the mmap_sem
> under load. I suspect some rwsem bug. Anyways it's matter of time before
> in my tree I replace the rwsem implementation with my spinlock based
> common code implementation again that I can understand trivially (unlike
> the current code). I don't mind a microoptimization when the code is so
> complicated, so I don't mind too much to fix whatever current bug in
> downgrade_write.
> In the meantime to workaround the deadlock (and to verify if this make
> the deadlock go away, which returned a positive result) I implemented
> this patch: this doesn't fix downgrade_wite, but I'm posting it here
> because I believe it's much better code regardless of the
> downgrade_write issue. With this patch we'll never run down_write again
> in production, the down_write will be taken only once when the db or the
> simulator startup (during the very first page fault) and never again, in
> turn providing (at least in theory) better runtime scalability.
I've been using something similar since about May 20. However, it was
unclear that it was a deadlock as opposed to semaphore contention from
the reports I got.
On Tue, Jun 08, 2004 at 05:44:38PM +0200, Andrea Arcangeli wrote:
> - if (pgoff != linear_page_index(vma, start) &&
> - !(vma->vm_flags & VM_NONLINEAR)) {
> + if (unlikely(pgoff != linear_pgoff && !(vma->vm_flags & VM_NONLINEAR))) {
There is no linear_pgoff variable...
-- wli
next prev parent reply other threads:[~2004-06-08 19:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-08 15:44 downgrade_write replacement in remap_file_pages Andrea Arcangeli
2004-06-08 16:31 ` Andrew Morton
2004-06-08 16:39 ` Linus Torvalds
2004-06-08 19:04 ` David Howells
2004-06-08 17:05 ` David Howells
2004-06-08 22:33 ` Andrea Arcangeli
2004-06-08 19:36 ` William Lee Irwin III [this message]
2004-06-08 22:52 ` Andrea Arcangeli
2004-06-09 12:19 ` [PATCH] A generic_file_sendpage() Alexander Nyberg
2004-06-10 19:49 ` Pavel Machek
2004-06-25 19:19 ` Jörn Engel
2004-06-25 19:46 ` viro
2004-06-25 20:03 ` Jörn Engel
2004-06-26 0:53 ` Trond Myklebust
2004-06-28 11:41 ` Jörn Engel
2004-06-25 20:05 ` Andreas Dilger
2004-06-25 20:09 ` Jörn Engel
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=20040608193621.GA12780@holomorphy.com \
--to=wli@holomorphy.com \
--cc=akpm@osdl.org \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.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.