Please do not reply to this email: if you want to comment on the bug, go to     
     
the URL shown below and enter yourcomments there.   
 
https://freedesktop.org/bugzilla/show_bug.cgi?id=1822        
   




------- Additional Comments From [EMAIL PROTECTED]  2004-11-10 23:48 -------
I just realized why the TLS version is likely slower.  In Jakub's original TLS
patch, he modified the dispatch stubs to call a local function to get the
dispatch pointer.  In TLS mode, this means a function that does something like:

get_dispatch:
        movl    %gs:[EMAIL PROTECTED], %eax
        ret

I seem to recall that this was done to eliminate a bunch of relocs.  Perhaps
something related to prelink?  Dunno.  The code that calls it is actually a
'call get_dispatch; nop'.  The intention was the other code in libGL could copy
the get_dispatch function "inline".  This is what my patch also does.

The overhead of the CALL / RET pair is likely higher than the MOV / TEST / JNE
in the non-TLS dispatch stubs.  On my box, "inlinging" get_dispatch reduces
glColor3fv from ~107 cycles to ~61 cycles.        
   
   
--         
Configure bugmail: https://freedesktop.org/bugzilla/userprefs.cgi?tab=email     
  
   
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to