sbrk(0) replacement for memory resource tracking? (was: [linimon at FreeBSD.org: svn commit: r425823 - in head: benchmarks/stress-ng cad/cider cad/ngspice_rework databases/mariadb100-server databases/mariadb101-server databases/mariadb55-server databases/virtuoso devel/ace deve...])
Brooks Davis
brooks at freebsd.org
Thu Nov 10 23:08:34 UTC 2016
On Thu, Nov 10, 2016 at 03:55:50PM -0600, Benjamin Kaduk wrote:
> On Thu, Nov 10, 2016 at 10:21:18PM +0100, Matthias Andree wrote:
> > Am 10.11.2016 um 02:26 schrieb Mark Linimon:
> > > FYI. Unfortunately I do not know what the generic fix is yet. But at
> > > least this will prevent the package builders from wasting time right now.
> > >
> > > I will try to keep the following page updated as I learn more:
> > >
> > > https://wiki.freebsd.org/PortsBrokenWithSbrk
> > >
> > > (oops, I forgot I have not put in the proper logfile URLs yet. Let me
> > > get started on that.)
> > >
> > > mcl
> >
> > Please help me understand the issue, and if by adding one or two
> > introductory paragraphs to the Wiki.
>
>
> Looks like r300303 is the relevant one for aarch64 (RISC-V got a similar treatment
> later?).
>
> > To me it looks like the sbrk() function is going away from our base
> > system underneath a stable 11-* branch. If that is true, I'll have to
> > object to that and request sbrk() be put back, we add a deprecation
> > notice now (if necessary via errata notice) and pull it only from FreeBSD12.
>
> At the time I somehow convinced myself that it had never been in a stable
> release and was thus okay, but maybe I'm misremembering. Hmm, or maybe it
> is okay for a tier-2 architecture [in the mind of the committer, not necessarly
> me, to be clear].
It's never been in a release on either architecture.
> > OTOH, e2fsprogs uses only sbrk(0) to track its overall memory use, and
> > only to track its resource usage. I'll be happy to help porting to
>
> Same for zephyr.
>
> > something else that serves the same purpose, aka "how much memory am I
> > using" - but what would that be?
>
> I think there isn't really a drop-in replacement. N.B. that the number
> from sbrk(0) has been meaningless for quite some time, since jemalloc
> uses mmap to get more space.
As you point out, sbrk(0) does not show memory usage in a useful way for
normal programs. If you enable ASR/ASLR it gets even more useless. An
implementation that returns NULL should satisfy most code that abuses it
for memory use and provide no less value.
-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20161110/464c600e/attachment.sig>
More information about the freebsd-hackers
mailing list