Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Feb 2001 00:40:39 -0800 (PST)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Jake Burkholder <jake@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/i386/i386 db_trace.c exception.s machdep.c trap.c src/sys/i386/include asnames.h
Message-ID:  <200102250840.f1P8edN12717@earth.backplane.com>
References:   <Pine.BSF.4.21.0102251745170.5881-100000@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
:On Sat, 24 Feb 2001, Jake Burkholder wrote:
:
:> jake        2001/02/24 18:53:06 PST
:> 
:>   - Reduce code duplication between the int0x80 and lcall handlers by
:>     shuffling the elfags into the right place, saving the sizeof the
:>     instruction in tf_err and jumping into the common int0x80 code.
:
:This breaks profiling and pessimizes Xsyscall a little.  Please back this
:out.
:
:Bruce

    I would like to recommend that people *not* try to optimize assembly
    that already works at this time.  Plus it's a really bad idea to try
    to collapse the int 0x80 / lcall code together - these are the single
    most critical routines in the system for syscall handling and there
    are subtle differences in the way they must be handled.  To avoid 
    confusion, they should be separate even though there may appear to be
    a lot of duplicated code.  Really.  I had a hard enough time documenting
    them when I revamped that whole module a year ago, collapsing the code
    will *not* make things better.

    I would also like to point out that it is more optimal to leave the
    pieces separated, since programs tend to use either all of one entry
    point, or all of the other.  There will actually be *less* L1 cache
    pollution.  The extra fixups might save a few bytes of codespace,
    but they aren't going to improve performance.

						-Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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