From: Ian R. <id...@us...> - 2003-09-30 01:55:53
|
Jakub Jelinek wrote: > On Fri, May 02, 2003 at 12:46:03PM +0200, Jakub Jelinek wrote: > >>Finally got to write some optimizations I meant to write for quiet some time >>for libGL.so. > > During full rpm build I found a couple of minor things, so I've updated > the patch and put it at > ftp://people.redhat.com/jakub/XFree86/XFree86-4.3.0-libGL-opt.patch > and also put in the same location RHL rpms with this patch applied. So, I finally got off my lazy butt and installed the required binutils & GCC on my system so that I could look at this patch. Is this still the latest version of the patch? I'm assuming that this is basicially what RedHat is shipping today? My first impression is that the UseHiddenVisibility should go right in. My only issue with it is the "|| (GccMajorVersion == 3 && GccMinorVersion == 2 && LinuxDistribution == LinuxRedHat)" part of the test for it. I think that's fine for in the RedHat RPM, but it seems like clutter in the XFree86 or DRI CVS tree. I think I'd prefer it if the macro used were "HIDDEN" or "__HIDDEN__" or something similar, rather than "hidden". It makes it stand out more. I think the GlxWeakPThreadSupport part of the patch is also okay. I'm not familiar with __builtin_expect. What's the difference between that and just doing the comparison? I don't think it would be useful at this point to apply the GlxWeakPThreadSupport, BuildLibGlxCoreWithoutPIC, or GlxUseThreadLocalStorage parts of the patch to the DRI CVS tree. It looks like 99% of the patch releated to those items happens in Mesa code, and we're getting ready to move from Mesa 5.0.x to Mesa 5.1.x. I think our best bet would be to apply the UseHiddenVisibility part to DRI CVS "now". After that, I think we should apply portions of the rest of the patch to the Mesa tree. Once the Mesa trunk gets pulled into DRI, we can incorporate the remaining driver-specific changes. Is there any chance that you could send two patches out? One would be just the UseHiddenVisibility parts against current DRI CVS and the other would be the GlxWeakPThreadSupport part against current Mesa-newtree CVS. That would cut down the size of the remaining patch quite a bit. That should make it easier for the rest of us to digest. :) I know that I'm not that familiar with the internals of threading in glibc or the internals of the linker. :) |