From owner-freebsd-current@FreeBSD.ORG Wed May 18 16:43:08 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 14A801065672; Wed, 18 May 2011 16:43:08 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id A0D0F8FC15; Wed, 18 May 2011 16:43:07 +0000 (UTC) Received: by vws18 with SMTP id 18so1698531vws.13 for ; Wed, 18 May 2011 09:43:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=/ctk06kF8iSm+jaH13/MBau//5kkKXr0aFQ1hE+aK54=; b=PhkV0NUbMA+bEHgUcywxXd3eULssNBdBF2ZK9iMS4k9R0q58KL3bnfijb4sypjTZ2v Zmo/1Kaq2pUE5tTqMtzD6uIIW99K4d02AvWP4tndXia4EgN42gvS7N4uIICntgCzKoVv j2mrPnjjalUm+Rq54N2zVEim/zGohMTD6BegQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=ls8saRNdrExG20lNoljlpMYbu4epL/An2gX7VSHfHNH+5uHC13SK/DY7w57nKQW8Fw pyfvPI+aFvAptiAFQaRA9+Fnb7DSCLueQGm/0V6V5tVdymFaEhfXglXA3Uahb0c5RFhG XYa+BEtFD6DLr2Vmy4HyjMTw//PshvyD6gq6w= MIME-Version: 1.0 Received: by 10.220.247.139 with SMTP id mc11mr620238vcb.107.1305736987000; Wed, 18 May 2011 09:43:07 -0700 (PDT) Received: by 10.220.188.202 with HTTP; Wed, 18 May 2011 09:43:06 -0700 (PDT) In-Reply-To: <4DD3F662.9040603@FreeBSD.org> References: <4DD3F662.9040603@FreeBSD.org> Date: Wed, 18 May 2011 09:43:06 -0700 Message-ID: From: Garrett Cooper To: Andriy Gapon Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-current@freebsd.org, freebsd-arch@freebsd.org Subject: Re: [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:43:08 -0000 On Wed, May 18, 2011 at 9:40 AM, Andriy Gapon wrote: > > I think that it is a well known fact that currently we do not have any su= pport for > dynamically offlining processors. =A0Yet, we have some code that looks li= ke 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=3D145385 > And also discussed here: > http://thread.gmane.org/gmane.os.freebsd.stable/74462/focus=3D74510 > > I think that there already have been a proposal to remove the systcls and= the > code. =A0I 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 bi= g piece > of work and requires time and effort. What would be nice too (even though it might not be possible) is to make this more MI than it is today (i.e. sysctls that work for amd64, sparc64, etc), but that might be a pipe dream. Thanks! -Garrett