From owner-freebsd-current@FreeBSD.ORG Wed May 18 16:49:03 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 7CCEF1065670; Wed, 18 May 2011 16:49:03 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-vx0-f182.google.com (mail-vx0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id EE3398FC12; Wed, 18 May 2011 16:49:02 +0000 (UTC) Received: by vxc34 with SMTP id 34so1734450vxc.13 for ; Wed, 18 May 2011 09:49:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=gZowLRemBSQ+DEqXAswmBiyJy7dF78EqgQWIbO+XtXg=; b=w3xck7nMXkmhaImQpQ/H6WLKVSnyyyiHONkelKBCQ7Pvv/EaOtusvHIa/HdUTBpu43 6w/6VScEHN+0u7L2aNLPiaF+b3e5hxgI3xLBnHxV8XGMwoGYsXmQNtm1nHNtaVVvc01l qZWXvYKg7ngbjs/RcqnC5bnA9TOOrrVOuwVJo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=JOCFrIuWvcniZSI8R4OmP16ohTS20Sq5cizNTw2ZKxuYP0T5wI8hnvHFC3WqJeHhr8 mKe6P1CdDsHT0j6JcI1jVzxoY+V0gbxBtkKENUQN/5jqKdc5fMNMu9HrL6cWhIxfPOaL npbNXMBPmNjYO/A8tOvcUajbWhcY8ydaQHOZ8= MIME-Version: 1.0 Received: by 10.52.95.203 with SMTP id dm11mr2987039vdb.213.1305737341821; Wed, 18 May 2011 09:49:01 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.220.201.3 with HTTP; Wed, 18 May 2011 09:49:01 -0700 (PDT) In-Reply-To: References: <4DD3F662.9040603@FreeBSD.org> Date: Wed, 18 May 2011 12:49:01 -0400 X-Google-Sender-Auth: IRtDwsPfj1ipkk9E6aqWWBUQ3GI Message-ID: From: Attilio Rao To: Garrett Cooper Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-current@freebsd.org, Andriy Gapon , 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:49:03 -0000 2011/5/18 Garrett Cooper : > 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 s= upport for >> dynamically offlining processors. =C2=A0Yet, we have some code that look= s 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 th= e >> 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 an= d the >> code. =C2=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 b= ig piece >> of work and requires time and effort. > > =C2=A0 =C2=A0What 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 That is actually the purpose. We should have a real online/offline system for hotplugging CPUs, not only tied to x86 hyperthreading. The htt specific parts are mostly hacks that don't take into account all the necessary handover for it. Andryi, I'll look into the patch asap, but I'm in favor of this change for = sure. Attilio --=20 Peace can only be achieved by understanding - A. Einstein