Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Jan 2003 15:10:12 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Don Bowman <don@sandvine.com>
Cc:        "'Matthew Dillon'" <dillon@apollo.backplane.com>, Peter Wemm <peter@wemm.org>, Bosko Milekic <bmilekic@unixdaemons.com>, "Daniel C. Sobral" <dcs@tcoip.com.br>, Trish Lynch <trish@bsdunix.net>, freebsd-current@FreeBSD.ORG
Subject:   Re: Hyperthreading and machdep.cpu_idle_hlt
Message-ID:  <20030131211012.GD3671@dan.emsphone.com>
In-Reply-To: <FE045D4D9F7AED4CBFF1B3B813C8533701023610@mail.sandvine.com>
References:  <FE045D4D9F7AED4CBFF1B3B813C8533701023610@mail.sandvine.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Jan 31), Don Bowman said:
> Thus the worst thing you could have would be a nop-loop with
> no stalls, which would squeeze the other to death.

I don't think this is possible, from looking at Intel's white papers.

> In practise I've found intel's numbers to be true, that the SMT gives
> you a ~20% boost, implying that there is nowhere close to a 50-50%
> split in normal use.

According to "Hyper-Threading Technology Architecture and
Microarchitecture" at
http://developer.intel.com/technology/itj/2002/volume06issue01/art01_hyper/vol6iss1_art01.pdf
, the internal schedulers make no distinction between the two logical
CPUs, and "To avoid deadlock and ensure fairness, there is a limit on
the number of active entries that a logical processor can have in each
scheduler's queue."

That sounds like given identical processes running on both logical
CPUs, you will get a 50-50% balance.

I think for HT to be any help, FreeBSD's scheduler needs to know which
pairs of CPUs share resources, so it can schedule one process per pair
first, and any remaining runnable processes get put on the remaining
CPUs, possibly allocated so threads belonging to the same process run
on the same pair.

-- 
	Dan Nelson
	dnelson@allantgroup.com

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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