From owner-freebsd-current@FreeBSD.ORG Wed May 18 16:40:06 2011 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD7BB106564A; Wed, 18 May 2011 16:40:06 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id CDD178FC13; Wed, 18 May 2011 16:40:04 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id TAA25040; Wed, 18 May 2011 19:40:03 +0300 (EEST) (envelope-from avg@FreeBSD.org) Message-ID: <4DD3F662.9040603@FreeBSD.org> Date: Wed, 18 May 2011 19:40:02 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.17) Gecko/20110504 Lightning/1.0b2 Thunderbird/3.1.10 MIME-Version: 1.0 To: freebsd-arch@FreeBSD.org, freebsd-current@FreeBSD.org X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: Subject: [rfc] remove hlt_cpus et al sysctls and related code X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 May 2011 16:40:06 -0000 I think that it is a well known fact that currently we do not have any support for dynamically offlining processors. Yet, we have some code that looks like it does provide that support and even provides a user interface to supposedly do that. What we don't currently do specifically: - rebinding interrupts away from an offlined processor - updating relevant cpu sets and masks - protecting the above for concurrent access - moving threads away from an offlined processor - notifying potentially interested parties - maybe more... The code has been in this shape for a long while and I would dare to say that it never really worked, not in "production ready" sense anyway. An example of troubles caused by using that code can be found e.g. in the followups to the following PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=145385 And also discussed here: http://thread.gmane.org/gmane.os.freebsd.stable/74462/focus=74510 I think that there already have been a proposal to remove the systcls and the code. I would like to re-submit that proposal. Removing that code would: 1) prevent users from hurting themselves by executing broken code 2) potentially make things easier for largeSMP project Once we grow correct code for offlining CPUs, then we could re-introduce the sysctls without any problems. While the offlining code doesn't seem terribly hard to develop, it's a big piece of work and requires time and effort. -- Andriy Gapon