Testers wanted: reentrant resolver
Brian Fundakowski Feldman
green at FreeBSD.org
Fri Feb 20 15:46:39 PST 2004
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>
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> green at FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
More information about the freebsd-current
mailing list