Re: [PATCH] lazy freeing of memory through MADV_FREE

From: Rik van Riel
Date: Sat Apr 21 2007 - 00:00:42 EST


Eric Dumazet wrote:
Rik van Riel a Ãcrit :
Andrew Morton wrote:
On Fri, 20 Apr 2007 17:38:06 -0400
Rik van Riel <riel@xxxxxxxxxx> wrote:

Andrew Morton wrote:

I've also merged Nick's "mm: madvise avoid exclusive mmap_sem".

- Nick's patch also will help this problem. It could be that your patch
no longer offers a 2x speedup when combined with Nick's patch.

It could well be that the combination of the two is even better, but it
would be nice to firm that up a bit.
I'll test that.

Thanks.

Well, good news.

It turns out that Nick's patch does not improve peak
performance much, but it does prevent the decline when
running with 16 threads on my quad core CPU!

We _definately_ want both patches, there's a huge benefit
in having them both.

Here are the transactions/seconds for each combination:

vanilla new glibc madv_free kernel madv_free + mmap_sem
threads

1 610 609 596 545

545 tps versus 610 tps for one thread ? It seems quite bad, no ?

Could you please find an explanation for this ?

I have no idea why this happens. Especially the last one,
going from a write lock to a read lock on the mmap_sem
should not make ANY difference whatsoever since we're
running single threaded!

2 1032 1136 1196 1200
4 1070 1128 2014 2024
8 1000 1088 1665 2087
16 779 1073 1310 1999

Performance with 2 database threads is way better though,
and performance with 4 or more threads more than doubles...

If you have an explanation on why single threaded performance
went down a little on my quad core system, please let me know.

Does performance suffer at all on a real UP system?

--
Politics is the struggle between those who want to make their country
the best in the world, and those who believe it already is. Each group
calls the other unpatriotic.
-
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/