Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Nov 2017 10:40:24 -0500
From:      Pedro Giffuni <pfg@FreeBSD.org>
To:        trasz@FreeBSD.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r325965 - head/libexec/rtld-elf
Message-ID:  <dc068781-d210-f874-ef62-02d9fa8a04d0@FreeBSD.org>
In-Reply-To: <20171119121245.GA88868@brick>
References:  <201711181321.vAIDLM6S028725@repo.freebsd.org> <20171118141007.GI2272@kib.kiev.ua> <20171119121245.GA88868@brick>

next in thread | previous in thread | raw e-mail | index | archive | help


On 11/19/17 07:12, Edward Tomasz Napierala wrote:
> On 1118T1610, Konstantin Belousov wrote:
>> On Sat, Nov 18, 2017 at 01:21:22PM +0000, Edward Tomasz Napierala wrote:
>>> Author: trasz
>>> Date: Sat Nov 18 13:21:22 2017
>>> New Revision: 325965
>>> URL: https://svnweb.freebsd.org/changeset/base/325965
>>>
>>> Log:
>>>    Increase rtld initial memory pool size from 32kB to 128kB.
>>>    
>>>    The old value was probably fine back in 1998, when that code was imported
>>>    (although the comments still mention VAX, which was quite obsolete by then);
>>>    now, however, it's too small to handle our libc, which results in some
>>>    additional calls to munmap/mmap later on.  Asking for more virtual address
>>>    space is virtually free, and syscalls are not, thus the change.
>>>    
>>>    It was suggested by kib@ that this might be a symptom of a deeper problem.
>>>    It doesn't only affect libc, though - the change also improves rtld memory
>>>    management for eg KDE libraries.  I guess it's just a natural bloat.
>> This is not what I said.
>>
>> My guess was that the large allocation you see in the ktrace output as
>> coming from rtld was really an allocation of the TLS segment, and it was
>> so large because libc has that large TLS segment. You did not checked this
>> guess against the actual code.
> Right, I stand corrected.
>
>> If my guess is true, I do not see a point in the change you made:  the
>> memory consumption is externally imposed on rtld, and we should not try
>> to tailor it to single, whenever important, consumer.
> Here's where I disagree.  The rtld is not some abstract concept, it's one
> of the components of the operating system, and it can and should be tweaked
> to match real life situations.  Especially when it affects virtually all
> of its use cases, as is the case with libc.
>
>

Being pragmatic ...

Determining such values is almost always a trial-and-error process. 
Perhaps 64k is makes everyone (especially KDE) happy?

Pedro.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dc068781-d210-f874-ef62-02d9fa8a04d0>