Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Aug 2001 23:53:00 -0700 (PDT)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Bruce Evans <bde@zeta.org.au>, Jake Burkholder <jake@k7.locore.ca>, John Baldwin <jhb@FreeBSD.ORG>, freebsd-smp@FreeBSD.ORG, freebsd-alpha@FreeBSD.ORG
Subject:   Re: Preliminary proposed rollup of kernel submap initialization code
Message-ID:  <200108230653.f7N6r0E83692@earth.backplane.com>
References:  <20010823060618.M15348-100000@besplex.bde.org> <200108222039.f7MKdeW78135@earth.backplane.com> <3B84A51A.3BC5689F@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help

:
: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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200108230653.f7N6r0E83692>