linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Can reverse VM locks?
@ 2001-07-02 18:39 markhe
  2001-07-02 19:02 ` Rik van Riel
  0 siblings, 1 reply; 6+ messages in thread
From: markhe @ 2001-07-02 18:39 UTC (permalink / raw)
  To: Rik van Riel; +Cc: linux-mm

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/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-07-30 19:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-02 18:39 Can reverse VM locks? markhe
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox