public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Carlos O'Donell <carlos@redhat.com>
To: Michael Kerrisk <mtk.manpages@gmail.com>, DJ Delorie <dj@redhat.com>
Cc: Siddhesh Poyarekar <siddhesh@sourceware.org>,
	libc-alpha <libc-alpha@sourceware.org>
Subject: Re: [PATCH 1/2] Add note on MALLOC_MMAP_* environment variables
Date: Mon, 17 Oct 2016 19:40:00 -0000	[thread overview]
Message-ID: <a978e454-5bd2-bda6-aa8f-5a64881aadde@redhat.com> (raw)
In-Reply-To: <CALxWeYp6-SdzDA7R9ojj9uWtfGDQ9_BuseWjaPqNAcccvtz9tw@mail.gmail.com>

On 10/11/2016 02:20 AM, Michael Kerrisk wrote:
> On Mon, Oct 10, 2016 at 7:33 PM, DJ Delorie <dj@redhat.com> wrote:
>>
>> These variables all end with "_", most likely the original intention is
>> that they are not official and may be removed or changed at any time.
>>
>> By making them official, we lock in that ABI.  Is that your intention?
> 
> I think the notion that because one does not document something, it's
> not an official part of the ABI is at best highly dubious. Especially
> when so many "official" parts of the ABI are also not documented.
> 
> The only way that documentation might be able to help in such
> situations is where pieces are clearly and loudly documented right
> from the beginning, in the official documentation, as "not supported,
> may disappear at any moment in the future, use at your own risk", but
> even then people are likely to ignore the documentation or be unaware
> of it.
> 
> And in any case, these environment vars have long been documented in
> various "unofficial" places including (since 2012)
> http://man7.org/linux/man-pages/man3/mallopt.3.html

The things that DJ is worried about are the arena ones
e.g. M_ARENA_MAX, and M_ARENA_TEST and their env vars.

In 2013 I brought up the discussion about ABI implications:
https://sourceware.org/ml/libc-alpha/2013-03/msg00376.html

Only Siddhesh and I commented, and we both agreed it was a forgone
conclusion that these were stable parts of the ABI/API.

In 2015 I documented them in the linux man pages project:
https://www.sourceware.org/ml/libc-alpha/2015-08/msg00991.html
~~~
Consensus among Siddhesh and myself was that they should be public,
and in fact they were already in the public header. Therefore there
may already be applications uses these constants and expecting them
to work. At best we could limit mallopt's acceptance of the options,
but that seems like a bad solution that could lead to unexpected
behaviour for user applications. A quick google search shows that
there are packages relying on these constants to tune the glibc
malloc implementation.
~~~

They are part of the ABI and public, and should be documented
in the manual as Siddhesh's patches do.

We should however be very very circumspect about adding more
of these mallopt tunables without first seeing that such tunables
are stable and long-term useful as generic tunables (via the tunables
interface). So go review Siddhesh's patches on tunables :-)

-- 
Cheers,
Carlos.

  parent reply	other threads:[~2016-10-17 19:40 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-10 17:26 Siddhesh Poyarekar
2016-10-10 17:26 ` [PATCH 2/2] Document the M_ARENA_* mallopt parameters Siddhesh Poyarekar
2016-10-17 14:04   ` [PING][PATCH " Siddhesh Poyarekar
2016-10-17 16:09   ` [PATCH " Carlos O'Donell
2016-10-18  7:15     ` Michael Kerrisk
2016-10-18 10:07       ` Siddhesh Poyarekar
2016-10-18 13:50         ` Michael Kerrisk (man-pages)
2016-10-18 14:30           ` Siddhesh Poyarekar
2016-10-18 16:03             ` Michael Kerrisk (man-pages)
2016-10-18 16:46               ` Siddhesh Poyarekar
2016-10-18 17:18                 ` Andreas Schwab
2016-10-19  6:53                 ` Michael Kerrisk (man-pages)
2016-10-19  7:09                   ` Siddhesh Poyarekar
2016-10-10 17:33 ` [PATCH 1/2] Add note on MALLOC_MMAP_* environment variables DJ Delorie
2016-10-10 17:42   ` Siddhesh Poyarekar
2016-10-11  6:20   ` Michael Kerrisk
2016-10-11 18:19     ` DJ Delorie
2016-10-11 19:03       ` Michael Kerrisk (man-pages)
2016-10-12 11:57       ` Siddhesh Poyarekar
2016-10-17 19:40     ` Carlos O'Donell [this message]
2016-10-11 19:35 ` Kalle Olavi Niemitalo
2016-10-17 14:04 ` [PING][PATCH " Siddhesh Poyarekar
2016-10-17 16:13 ` [PATCH " Carlos O'Donell
2016-10-17 16:16   ` Siddhesh Poyarekar
2016-10-24 14:08 [PATCH 0/2] Malloc manual cleanups Siddhesh Poyarekar
2016-10-24 14:08 ` [PATCH 1/2] Add note on MALLOC_MMAP_* environment variables Siddhesh Poyarekar
2016-10-26  4:18   ` Carlos O'Donell
2016-10-26  7:58     ` Michael Kerrisk
2016-10-26  9:47     ` Siddhesh Poyarekar
2016-10-26 11:26     ` Rical Jasan
2016-10-26 11:30       ` Siddhesh Poyarekar
2016-10-26 12:04         ` Rical Jasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a978e454-5bd2-bda6-aa8f-5a64881aadde@redhat.com \
    --to=carlos@redhat.com \
    --cc=dj@redhat.com \
    --cc=libc-alpha@sourceware.org \
    --cc=mtk.manpages@gmail.com \
    --cc=siddhesh@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).