From owner-cvs-all@FreeBSD.ORG Wed Jan 31 20:16:16 2007 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 253DD16A52A; Wed, 31 Jan 2007 20:16:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 6FA7913C442; Wed, 31 Jan 2007 20:16:06 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l0VKFpZJ084277; Wed, 31 Jan 2007 15:15:59 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Pawel Jakub Dawidek Date: Wed, 31 Jan 2007 13:08:14 -0500 User-Agent: KMail/1.9.1 References: <20070128202917.5B67916A5A6@hub.freebsd.org> <200701301636.38175.jhb@freebsd.org> <20070130233238.GB94650@garage.freebsd.pl> In-Reply-To: <20070130233238.GB94650@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701311308.16810.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Wed, 31 Jan 2007 15:16:01 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2508/Wed Jan 31 11:42:50 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Scott Long , src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org, arch@freebsd.org, Nate Lawson Subject: Re: cvs commit: src/sys/geom/eli g_eli.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Jan 2007 20:16:16 -0000 On Tuesday 30 January 2007 18:32, Pawel Jakub Dawidek wrote: > On Tue, Jan 30, 2007 at 04:36:36PM -0500, John Baldwin wrote: > > On Monday 29 January 2007 15:19, Pawel Jakub Dawidek wrote: > > > I fully agree that there should be a clean KPI for this. What you > > > proposed if fine. Because of lack of such KPI geli has to handle HTT > > > CPUs which are turned off by default in releases also by abusing > > > scheduler internals. KPI you proposed would allow me to remove those > > > hacks. And I'm really all for it. > > > > > > What you and Scott are missing is that when I implement a GEOM class, > > > I'm using what is available to do my work. I'm not going to educate > > > myself how schedulers work, implement nice and clean KPI to use it in > > > my class. I'm not saying it wouldn't be great to be able to do so, but I > > > don't have time for everything, unfortunately, and you guys should > > > understand that very well. > > > > Something you seem to be missing though is that in general it's nice to not > > just endulge in an endless series of hacks in your specific area of the > > system. IWBN to at some point devote some time to help fix more general > > problems that will benefit the system as a whole rather than adding hacks > > that just benefit yourself and require someone else to clean up when they > > eventually add the more-architected solution. We are all very busy, but if > > everyone just did hacks and never put any effort into improving the general > > infrastructure, we'd have a royal mess. > > To improve the infrastructure, one should feel strong about areas he > want to improve. I do infrastructual work in areas, where I think I've a > clue. Asking me to work on schedulers or SMP architecture where I don't > feel competent enough is just unfair, John. The time I need to spend on > educating myself in those areas will be much longer than I can afford. > So my choice is leave broken code and ignore the users, or fix it using > tools available now and fix it better when the infrastructure is ready > or I've time to work on the infrastructure in this area. > If someone competent will provide infrastructural improvements I can > use, I'd love to use it. I try hard not to leave my code behind. > > Can we move on now? I wouldn't sell yourself so short actually. :) You're probably more competent than you think. I'm not really an expert on SMP or schedulers either (I've not had any formal training, and if you were to review some of my earlier SMP stuff it shows), but ended up working on it because it needed to be done. Most of what I've learned is by just working on stuff. Anyways, maybe this issue will bubble up to someone's todo list at BSDCan to settle how to handle CPU's arriving and departing. One big thing that worries me is how to handle pinned and bound threads when a CPU goes away. Also, it may be more useful to think of CPUs not as just present/not present, but more in terms of: - not present - present but offline - present and online And most code would really only care about offline/online events. We could maybe allow pinned and bound threads to still run on an offline CPU (and the idlethread for that CPU of course) but require that there be no pinned bound threads to completely detach a CPU (in the case of systems with removable CPUs). It would be useful to at least handle taking CPUs offline and then back online though. -- John Baldwin