Testers wanted: reentrant resolver

Daniel Eischen eischen at vigrid.com
Fri Feb 20 16:07:33 PST 2004


On Fri, 20 Feb 2004, Brian Fundakowski Feldman wrote:

> New and improved, my reentrant resolver patch even includes documentation!
> What does it do, you ask?  Why, it simply makes tabbed browsing in Mozilla 
> an order of magnitude faster!  How does it do that, you ask?  Well, it 
> simply makes h_errno and the getaddrinfo(3)/getipnodebyname(3) functions 
> thread-safe in a more intelligent way.  There is still a global lock around 
> some pieces of data, but for the most part the global lock (which is what 
> serialized EVERY hostname lookup in threaded programs) is not contested.  
> It's still used for some NIS-related tasks, looking up hostents, and looking 
> up server port names, but that's not comparatively very important.  The 
> resolver itself is a thread-safe backend where each thread gets its own 
> resolver that can run concurrently with the rest, so the time spent blocked 
> waiting for DNS responses is gone.
> 
> Give it a try, and let me know how it works!
> <URL:http://green.homeunix.org/~green/reentrant_resolver.patch>

Ugh, can you put h_errno inside the per-thread res stuff.
We shouldn't need to have to add special hooks in the
threads libraries for this.

-- 
Dan Eischen



More information about the freebsd-current mailing list