Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Feb 2012 22:06:34 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        Jeff Roberson <jroberson@jroberson.net>
Cc:        freebsd-hackers@FreeBSD.org, Florian Smeets <flo@FreeBSD.org>, Andriy Gapon <avg@FreeBSD.org>
Subject:   Re: [RFT][patch] Scheduling for HTT and not only
Message-ID:  <4F3C104A.4020805@FreeBSD.org>
In-Reply-To: <alpine.BSF.2.00.1202150949480.2020@desktop>
References:  <4F2F7B7F.40508@FreeBSD.org> <4F366E8F.9060207@FreeBSD.org> <4F367965.6000602@FreeBSD.org> <4F396B24.5090602@FreeBSD.org> <alpine.BSF.2.00.1202131012270.2020@desktop> <4F3978BC.6090608@FreeBSD.org> <alpine.BSF.2.00.1202131108460.2020@desktop> <4F3990EA.1080002@FreeBSD.org> <4F3C0BB9.6050101@FreeBSD.org> <alpine.BSF.2.00.1202150949480.2020@desktop>

next in thread | previous in thread | raw e-mail | index | archive | help
On 02/15/12 21:54, Jeff Roberson wrote:
> On Wed, 15 Feb 2012, Alexander Motin wrote:
>> As before I've tested this on Core i7-870 with 4 physical and 8
>> logical cores and Atom D525 with 2 physical and 4 logical cores. On
>> Core i7 I've got speedup up to 10-15% in super-smack MySQL and
>> PostgreSQL indexed select for 2-8 threads and no penalty in other
>> cases. pbzip2 shows up to 13% performance increase for 2-5 threads and
>> no penalty in other cases.
>
> Can you also test buildworld or buildkernel with a -j value twice the
> number of cores? This is an interesting case because it gets little
> benefit from from affinity and really wants the best balancing possible.
> It's also the first thing people will complain about if it slows.

I'll do it, but even now I can say that existing balancing algorithm 
requires improvements to better handle SMT. If I understand correctly, 
present code never takes the last running thread from it's CPU. It is 
fine for non-SMT systems, but with SMT it may cause imbalance and as 
result reduced total performance. While current pickcpu() algorithm 
should be precise enough, its decision can be easily affected by some 
microsecond transient load, such as interrupt threads, etc, and results 
of that decision may be effective for seconds.

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F3C104A.4020805>