Date: Sun, 19 Nov 2017 12:12:45 +0000 From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: 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: <20171119121245.GA88868@brick> In-Reply-To: <20171118141007.GI2272@kib.kiev.ua> References: <201711181321.vAIDLM6S028725@repo.freebsd.org> <20171118141007.GI2272@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20171119121245.GA88868>