Messages in this thread |  | | | Date | Tue, 13 Mar 2007 07:00:27 +0100 | | From | Eric Dumazet <> | | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |