linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Pachev <sasha@mysql.com>
To: Mike Kravetz <mkravetz@sequent.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Strange thread behaviour on 8-way x86 machine
Date: Fri, 6 Jul 2001 12:45:20 -0600	[thread overview]
Message-ID: <0107061245200U.17811@mysql> (raw)
In-Reply-To: <0107031225120K.18621@mysql> <20010703115139.B1128@w-mikek2.des.beaverton.ibm.com>
In-Reply-To: <20010703115139.B1128@w-mikek2.des.beaverton.ibm.com>

On Tuesday 03 July 2001 12:51, Mike Kravetz wrote:
> On Tue, Jul 03, 2001 at 12:25:12PM -0600, Sasha Pachev wrote:
> > Hi,
> > 
> > I have observed a rather strange behaviour doing a multi-threaded CPU 
> > benchmark on an 8-way machine running 2.4.2 SMP kernel. Even when the 
> > priority is reniced to the highest possible value, I am still unable to 
reach 
> > more than 50% CPU utilization. My benchmark just creates a bunch of 
threads 
> > with pthread_create(), and then runs a simple integer computation in each 
> > thread. On a dual with 2.4.3 kernel, and a 4-way with 2.4.2 kernel, I am 
able 
> > to reach full CPU utilization. 
> 
> I haven't had any problem fully utilizing 8 CPUs on 2.4.* kernels.  This
> may seem obvious, but do you have more than 4 CPUs worth of work for the
> system to do?  What is the runqueue length during this benchmark?

Upon further investigation and testing, it turned out that the kernel was not 
at fault - the problem was high mutex contention, which caused frequent 
context switches, and the idle CPU was apparently from the scheduler waiting 
for the original CPU to become available too often.

On a side note, it would be nice if a process could communicate to the kernel 
that it would rather run on the first available CPU than wait for the perfect 
one to become available.

-- 
MySQL Development Team
For technical support contracts, visit https://order.mysql.com/
   __  ___     ___ ____  __ 
  /  |/  /_ __/ __/ __ \/ /   Sasha Pachev <sasha@mysql.com>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Provo, Utah, USA
       <___/                  

  reply	other threads:[~2001-07-06 18:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-03 18:25 Strange thread behaviour on 8-way x86 machine Sasha Pachev
2001-07-03 18:51 ` Mike Kravetz
2001-07-06 18:45   ` Sasha Pachev [this message]
2001-07-06 19:24     ` Rik van Riel
2001-07-06 20:35       ` Sasha Pachev
2001-07-06 20:41         ` Rik van Riel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0107061245200U.17811@mysql \
    --to=sasha@mysql.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mkravetz@sequent.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).