Thread (23 messages) 23 messages, 7 authors, 2003-03-04

Re: Rising io_load results Re: 2.5.63-mm1

From: Andrew Morton <hidden>
Date: 2003-02-27 22:23:44
Also in: lkml

Dave McCracken [off-list ref] wrote:

--On Thursday, February 27, 2003 13:44:03 -0800 Andrew Morton
[off-list ref] wrote:
quoted
quoted
...
Mapped:       4294923652 kB
Well that's gotta hurt.  This metric is used in making writeback
decisions.  Probably the objrmap patch.
Oops.  You're right.  Here's a patch to fix it.
Thanks.

I'm just looking at page_mapped().  It is now implicitly assuming that the
architecture's representation of a zero-count atomic_t is all-bits-zero.

This is not true on sparc32 if some other CPU is in the middle of an
atomic_foo() against that counter.  Maybe the assumption is false on other
architectures too.

So page_mapped() really should be performing an atomic_read() if that is
appropriate to the particular page.  I guess this involves testing
page->mapping.  Which is stable only when the page is locked or
mapping->page_lock is held.

It appears that all page_mapped() callers are inside lock_page() at present,
so a quick audit and addition of a comment would be appropriate there please.


--
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/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help