From: <markhe@veritas.com>
To: Rik van Riel <riel@conectiva.com.br>
Cc: linux-mm@kvack.org
Subject: Can reverse VM locks?
Date: Mon, 2 Jul 2001 19:39:50 +0100 (BST) [thread overview]
Message-ID: <Pine.LNX.4.33.0107021917250.9756-100000@alloc.wat.veritas.com> (raw)
Hi,
I have been working with a quite old kernel tree, where
__find_page_nolock() was calling age_page_up() (which could have ended up
taking the "pagemap_lru_lock").
Looking at recent kernels, I see that __find_page_nolock() is now simply
setting the PG_referenced bit.
As far as I am aware, the old behaviour of __find_page_nolock() defined
the lock ordering between the "pagecache_lock" and "pagemap_lru_lock", and
other places had to follow this ordering.
Now, isn't is possible to reverse this ordering?
The reason for wanting to do so is scalability - the "pagecache_lock"
suffers from contention on high-way boxes.
In functions, such as reclaim_page() and invalidate_inode_pages(), the
"pagecache_lock" is taken earlier than needed due to the lock ordering
with "page_lru_lock". It should now be possible to delay taking this lock
until after the "page_lru_lock" and until some of the tests have been
preformed on the page (some of the tests would need to be redo after
taking the lock to avoid dangerious false negatives).
Anyone know of any places where reversing the lock ordering would break?
Unless anyone can think of any serious issues, I'll start coding this up
tomorrow (and find the issues for myself :)).
Thanks,
Mark
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
next reply other threads:[~2001-07-02 18:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-02 18:39 markhe [this message]
2001-07-02 19:02 ` Rik van Riel
2001-07-02 19:22 ` markhe
2001-07-02 19:38 ` Rik van Riel
2001-07-30 19:10 ` Rik van Riel
2001-07-30 19:33 ` Mark Hemment
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=Pine.LNX.4.33.0107021917250.9756-100000@alloc.wat.veritas.com \
--to=markhe@veritas.com \
--cc=linux-mm@kvack.org \
--cc=riel@conectiva.com.br \
/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