From owner-freebsd-current Wed Mar 6 20:28:26 2002 Delivered-To: freebsd-current@freebsd.org Received: from aslan.scsiguy.com (aslan.scsiguy.com [63.229.232.106]) by hub.freebsd.org (Postfix) with ESMTP id 39BB437B400; Wed, 6 Mar 2002 20:28:23 -0800 (PST) Received: from scsiguy.com (localhost [127.0.0.1]) by aslan.scsiguy.com (8.11.6/8.11.5) with ESMTP id g274TlI51515; Wed, 6 Mar 2002 21:29:47 -0700 (MST) (envelope-from gibbs@scsiguy.com) Message-Id: <200203070429.g274TlI51515@aslan.scsiguy.com> To: Matthew Dillon Cc: John Baldwin , Bruce Evans , Terry Lambert , Alfred Perlstein , Bosko Milekic , Seigo Tanimura , FreeBSD current users , Julian Elischer Subject: Re: Patch for critical_enter()/critical_exit() & interrupt assem In-Reply-To: Your message of "Wed, 06 Mar 2002 15:16:40 PST." <200203062316.g26NGeF59131@apollo.backplane.com> Date: Wed, 06 Mar 2002 21:29:47 -0700 From: "Justin T. Gibbs" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG >:stuff to change from their current model. I also think that just as it >:is too early to optimize to light weight ithread switches (sparc64 is >:going to optimize all kthread switches, not just ithreads by using a more >:general > > We have very different development models, and different priorities. [...] This same issue came up at the BSDCon developers conference in regard to ithreads. Is it better to optimize some bit of code because it is the fun and interesting thing to do, or to build a simple, yet stable and easily verified foundation, that we can later optimize in a controlled manner? This is not about whether these particular changes are correct. The concern is that they may contain a subtle bug that makes it difficult to verify other portions of the system. I don't think anyone believes that we are at a point in current where we can convince ourselves that the system does work, no matter how slowly, in all cases. If we start to optimize before we reach such a point, how will we ever determine the robustness of the system? An optimization put in place today may have a bug or may expose a bug somewhere else in the system. In the current situation it is difficult to know which scenario is true (bug or side-effect) because we don't have a solid, verified, foundation. My 2 cents? Work with John to get the APIs that affect this particular code stable. That means discussion and perhaps that discussion will take some time (if this blow-up hadn't occurred the discussion would already be over now ;-). Once the APIs are in place, commit your code in a format that makes it completely optional, just like your Giant lock optimizations. This means that those interested in validating and determining the impact of your code can easily do so by flipping a switch. Those who would rather debug their own subsystem problems in a slower, but simpler, environment can do so too. -- Justin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message