Re: [PATCH] VM: Implements the swap-out page-clustering technique

From: Luiz Fernando N. Capitulino
Date: Wed Sep 24 2008 - 09:56:49 EST


Em Thu, 04 Sep 2008 15:34:30 +0330
"Hamid R. Jahanjou" <hamid.jahanjou@xxxxxxxxx> escreveu:

| From: Hamid R. Jahanjou
|
| Implements the idea of swap-out page clustering from *BSD for
| Linux. Each time a candidate page is to be swapped out,
| virtually-nearby pages are scanned to find eligible pages to be
| swapped out too as a cluster. This technique increases the likelihood of
| bringing in related data on a page fault and decreases swap space
| fragmentation in the long run. Currently, Linux searches only
| physically-nearby pages which is not optimal since, over time, physically-
| adjacent pages may become unrelated.
|
| The code can be statically tuned. No benchmarks. I'm not sure whether
| the added complexity is acceptable.

Sorry for this (very) late response, but I ran some very simple tests
this week and thought you might be interested in the results.

The test machine has 512MB of RAM. For the tests I booted with 64MB
and setup a 512MB swap file.

For the first test I let an allyesconfig kernel building for several
hours with six jobs (make -j6). I did not have any problems, so
considering that your code was used I think it is stable enough.

In the second test I have built an allnoconfig kernel with and without
your patches, still with six jobs. Results:

2.6.27-rc7-vanilla 44:12 minutes
2.6.27-rc7-pgc 52:09 minutes

(pgc means page-clustering patches).

For both builds I did not change any swap paramenter and I could
observe that about 80MB of swap were used most of the time.

But please, note that these tests were quite far from being 'scientific'
eg. I should have built the kernel more times and should have tried other
setups...

I will wait for the next version of the patches to run more serious
tests.

--
Luiz Fernando N. Capitulino
--
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/