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>