From owner-freebsd-alpha Wed Aug 22 23:53: 8 2001 Delivered-To: freebsd-alpha@freebsd.org Received: from earth.backplane.com (earth-nat-cw.backplane.com [208.161.114.67]) by hub.freebsd.org (Postfix) with ESMTP id 8E03E37B412; Wed, 22 Aug 2001 23:53:02 -0700 (PDT) (envelope-from dillon@earth.backplane.com) Received: (from dillon@localhost) by earth.backplane.com (8.11.4/8.11.2) id f7N6r0E83692; Wed, 22 Aug 2001 23:53:00 -0700 (PDT) (envelope-from dillon) Date: Wed, 22 Aug 2001 23:53:00 -0700 (PDT) From: Matt Dillon Message-Id: <200108230653.f7N6r0E83692@earth.backplane.com> To: Terry Lambert Cc: Bruce Evans , Jake Burkholder , John Baldwin , freebsd-smp@FreeBSD.ORG, freebsd-alpha@FreeBSD.ORG Subject: Re: Preliminary proposed rollup of kernel submap initialization code References: <20010823060618.M15348-100000@besplex.bde.org> <200108222039.f7MKdeW78135@earth.backplane.com> <3B84A51A.3BC5689F@mindspring.com> Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org : :Matt Dillon wrote: :> Look, I don't want to get into a big argument. It makes sense to :> keep them together because they are related, and even though our :> existing platforms do not appear to need them I can see that changing :> in the future as we add more platform ports to the system. For example, :> having the pager range accessible could be advantageous for platforms :> that take TLB faults. : :For a MIPS or other processors where TLBs are done in software, :using the pointer could get vastly more expensive than a global :reference, if you had to look in there for every shootdown, and :an LRU shootdown of at least one entry happened on nearly every :context switch. For the machine dependant code it IS a global reference, not that I think it matters much. Sure, on an R3000 with its 9-instruction TLB fault handler you might care, but on the later MIPS cpus with better hardware support for TLB miss handling? Not a big deal if the initial hash lookup fails. :that's going to happen, it should be that they are required to :be initialized past a certain point on all platforms, or they :are MD, and don't belong in an MI structure. Read the code. The MI portion of the system is making the information available to the MD portion of the system. There is no requirement or necessity that the MD portion of the system use all the available info, and no detriment either. And it makes no sense whatsoever to define the structure in MD code where it would have to be duplicated multiple times (some potentially with alterations if you are also trying to 'optimize' it), when defining it once as an MI structure makes the whole result easier to follow, understand, and document. I really don't give a damn if it eats 16 more bytes of bss for certain platforms. In short, the code is fine, and you complainer's need to take a bit more time to actually *read* it and think the problem through before making comments. In fact, so far, the only person who has taken the time to look at the code thoughly has been Bruce! -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message