Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Feb 2004 19:07:27 -0500 (EST)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Brian Fundakowski Feldman <green@FreeBSD.org>
Cc:        current@FreeBSD.org
Subject:   Re: Testers wanted: reentrant resolver
Message-ID:  <Pine.GSO.4.10.10402201906010.5704-100000@pcnet5.pcnet.com>
In-Reply-To: <200402202346.i1KNkbkI013945@green.homeunix.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10402201906010.5704-100000>