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