[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45F63DFB.9040302@cosmosbay.com>
Date: Tue, 13 Mar 2007 07:00:27 +0100
From: Eric Dumazet <dada1@...mosbay.com>
To: Anton Blanchard <anton@...ba.org>
CC: Nick Piggin <nickpiggin@...oo.com.au>,
Rik van Riel <riel@...hat.com>,
Lorenzo Allegrucci <l_allegrucci@...oo.it>,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
Suparna Bhattacharya <suparna@...ibm.com>,
Jens Axboe <jens.axboe@...cle.com>
Subject: Re: SMP performance degradation with sysbench
Anton Blanchard a écrit :
>
> Hi Nick,
>
>> Anyway, I'll keep experimenting. If anyone from MySQL wants to help look
>> at this, send me a mail (eg. especially with the sched_setscheduler issue,
>> you might be able to do something better).
>
> I took a look at this today and figured Id document it:
>
> http://ozlabs.org/~anton/linux/sysbench/
>
> Bottom line: it looks like issues in the glibc malloc library, replacing
> it with the google malloc library fixes the negative scaling:
>
> # apt-get install libgoogle-perftools0
> # LD_PRELOAD=/usr/lib/libtcmalloc.so /usr/sbin/mysqld
Hi Anton, thanks for the report.
glibc has certainly many scalability problems.
One of the known problem is its (ab)use of mmap() to allocate one (yes : one
!) page every time you fopen() a file. And then a munmap() at fclose() time.
mmap()/munmap() should be avoided as hell in multithreaded programs.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists