[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#431143: libc6: ldconfig mmaps every library file whether it needs and update or not



On Sat, Jun 30, 2007 at 03:14:14PM +1000, Tim Connors wrote:
> Now the cause of the problem is that for every ldconfig call that
> ought to just update the symlinks of the one package in question, and
> perhaps update the ld.so.cache file (although on a quick glance
> through an strace call to a typical program, that appears entirely
> unnecessary), an open(), fstat64(), and crucially, a mmap() and hence
> presumably, slurping in some of that file's contents, is done on every
> file in every lib directory.  All of that, for every file, has to fit
> in cache, if the second invocation to ldconfig a few seconds later is
> going to take any less time than the first.

Conveniently, SuSE just implemented a secondary cache for ldconfig
that reduces the cost of this to almost nothing (see libc-alpha
archives for June).

-- 
Daniel Jacobowitz
CodeSourcery



Reply to: