Re: Squid 3.2 performance question

From: Alexander Komyagin <komyagin_at_altell.ru>
Date: Thu, 29 Mar 2012 18:58:06 +0400

> Thank you for the patch.
>
> Unfortunately we are trying to get all hacks like this out of the main
> squid code and into compat/*. So ...
> compat/getaddrinfo.* are part of the Squid sources, we are free to
> edit if necessary. Please adjust them in-place to add what alterations
> are needed by uClibC, inside the appropriate #if wrappings of course,
> and add a change entry at the top.
> That removes the need for a special new hack file and __* definitions.
>
> We will also have to figure out some way to make ./configure detect
> uclibc and link the getaddr* files to compat as needed. In absence of
> that, #include "compat/getaddrinfo.c" can be done in compat/compat.cc
> within special case #if wrappings.
> Amos
>

I checked uClibc sources and it seems to me that the only thing that causes
troubles is unnecessary use of getifaddrs() function inside getaddrinfo().
Calls to getifaddrs() can be expensive, especially when some kernel-level
security like RSBAC is applied, since that function talks to kernel
through netlink sockets.

So maybe Squid shall not be modified but instead a patch to uClibc is needed,
if we can guess where the root of evil lies.

-- 
Best wishes,
Alexander Komyagin
Received on Thu Mar 29 2012 - 15:00:37 MDT

This archive was generated by hypermail 2.2.0 : Fri Mar 30 2012 - 12:00:11 MDT