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>
index | next in thread | previous in thread | raw e-mail
: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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102250840.f1P8edN12717>
