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>