Re: 2.6.9-rc1: page_referenced_one() CPU consumption

From: Nick Piggin
Date: Sun Sep 12 2004 - 23:56:56 EST


Nikita Danilov wrote:

I ran tests few times, and difference between patched and un-patched
kernels is within noise, so you are right, try-lock does not help.


Well I'm glad - because I much prefer the spin_lock over the trylock :)

But now I have new great idea instead. :)

I think page_referenced() should transfer dirtiness to the struct page
as it scans pte's. Basically the earlier we mark page dirty the better
file system write-back performs, because page has more chances to be
bulk-written by ->writepages(). This is better than my previous patches
to this end (that used separate function to transfer dirtiness from
pte's to the page), because

- locking overhead is avoided

- it's simpler.

Nick, are you still in business of benchmarking random VM patches? :-)


Yeah I am, and I do have that patch sitting around. It can *really*
help for writeout via maped memory (obviously doesn't help write()).

I think Andrew's response was that it can theoretically cause writeout
for workloads that don't want it, so I should come up with at least
one real-world improvement!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/