Date: Thu, 18 Nov 2010 00:40:10 GMT From: Garrett Cooper <gcooper@FreeBSD.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/145385: [cpu] Logical processor cannot be disabled for some SMT-enabled Intel procs Message-ID: <201011180040.oAI0eAGN091227@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/145385; it has been noted by GNATS. From: Garrett Cooper <gcooper@FreeBSD.org> To: Andriy Gapon <avg@freebsd.org> Cc: bug-followup@freebsd.org Subject: Re: kern/145385: [cpu] Logical processor cannot be disabled for some SMT-enabled Intel procs Date: Wed, 17 Nov 2010 16:34:29 -0800 On Thu, Oct 7, 2010 at 10:03 AM, Andriy Gapon <avg@freebsd.org> wrote: > > Here's a patch to remove halted logical processors from root cpu set (cpu= set > number zero) and consequently all child sets: > http://people.freebsd.org/~avg/cpu-halt.diff > > Please note that unhalting CPUs will add them to cpuset zero, but will no= t > (re-)add them cpusets of the running processes. =A0So additional action w= ill be > required from system administrator if e would like existing processes to = make use > of unhalted CPUs. > > Also, interrupts that are bound to halted CPUs are not rebound on halt, a= nd so > will be delivered to halted CPUs. =A0This should not be a problem for typ= ical > environments, but would be nice to fix anyway. Sorry for taking so long to get back on this item. The patch looks ok as far as setting the CPUSET is concerned (setting machdep.hlt_logical_cpus=3D1 works on an r710 with 8 logical procs as SCHED_ULE schedules all of the tasks on the non-logical SMT cores, not the logical ones, and the patch properly detects that there aren't any logical processors on a Core2 Quad I have at home), but it's missing a key case where I go from... machdep.hlt_logical_cpus: 1 -> 0 ... it should reset CPUSETZERO. The overall CPU topology should probably be cached and restored when reset, or at least CPUSETZERO should be reset (probably the simpler and cleaner route to go). After that all that's required is work for i386 and I'd vote for a commit of the patch. Thanks for the hard work Andriy :)! -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011180040.oAI0eAGN091227>