[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45E4469C.8000505@grupopie.com>
Date: Tue, 27 Feb 2007 14:56:28 +0000
From: Paulo Marques <pmarques@...popie.com>
To: Rik van Riel <riel@...hat.com>
CC: "J.A. Magallón" <jamagallon@....com>,
Hiro Yoshioka <hyoshiok@...aclelinux.com>, davej@...hat.com,
harlan@...select.com, nickpiggin@...oo.com.au,
l_allegrucci@...oo.it, linux-kernel@...r.kernel.org, mingo@...e.hu,
suparna@...ibm.com, jens.axboe@...cle.com
Subject: Re: SMP performance degradation with sysbench
Rik van Riel wrote:
> J.A. Magallón wrote:
>>[...]
>> Its the same to answer 4+4 queries than 8 at half the speed, isn't it ?
>
> That still doesn't fix the potential Linux problem that this
> benchmark identified.
>
> To clarify: I don't care as much about MySQL performance as
> I care about identifying and fixing this potential bug in
> Linux.
IIRC a long time ago there was a change in the scheduler to prevent a
low prio task running on a sibling of a hyperthreaded processor to slow
down a higher prio task on another sibling of the same processor.
Basically the scheduler would put the low prio task to sleep during an
adequate task slice to allow the other sibling to run at full speed for
a while.
I don't know the scheduler code well enough, but comments like this one
make me think that the change is still in place:
> /*
> * If an SMT sibling task has been put to sleep for priority
> * reasons reschedule the idle task to see if it can now run.
> */
> if (rq->nr_running) {
> resched_task(rq->idle);
> ret = 1;
> }
If that is the case, turning off CONFIG_SCHED_SMT would solve the problem.
--
Paulo Marques - www.grupopie.com
"The face of a child can say it all, especially the
mouth part of the face."
-
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