Re: Guideline change: glibc malloc as the C/C++/Rust allocator

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

 





On 07/26/2018 11:43 AM, Daniel P. Berrangé wrote:
On Thu, Jul 26, 2018 at 04:37:33PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 26, 2018 at 05:32:32PM +0200, Igor Gnatenko wrote:
On Thu, Jul 26, 2018 at 5:29 PM Florian Weimer <fweimer@xxxxxxxxxx> wrote:

I would like to request a change of the Packaging Guidelines, advising
packagers not to interpose malloc.

The reasons are:

* We have resources to support glibc malloc, but not for other mallocs.
* Other mallocs  do not follow ABI and provide insufficient alignment.
* Choosing a malloc is workload-dependent and forcing a non-default
    malloc takes options away from system administrators.

This does not concern other allocators, such as Boehm GC or APR, only
the standard malloc interfaces.

How does one detect that some other allocator is used? Do we have some
automated tools? Do you have a draft?
If you know the other malloc impl, you can do a dnf query. For example
gperftools ships the tcmalloc impl. Looking at the ELF symbol it provides,
we can query for its usage thus:

# dnf repoquery --whatrequires 'libtcmalloc.so.4()(64bit)'
389-ds-base-0:1.4.0.6-2.fc28.x86_64
389-ds-base-libs-0:1.4.0.6-2.fc28.x86_64
389-ds-base-snmp-0:1.4.0.6-2.fc28.x86_64
Pound-1:2.7-3.fc24.x86_64
bro-core-0:2.5.3-2.fc28.x86_64
ceph-base-1:12.2.4-1.fc28.x86_64
ceph-base-1:12.2.7-1.fc28.x86_64
ceph-common-1:12.2.4-1.fc28.x86_64
ceph-common-1:12.2.7-1.fc28.x86_64
ceph-fuse-1:12.2.4-1.fc28.x86_64
ceph-fuse-1:12.2.7-1.fc28.x86_64
ceph-mds-1:12.2.4-1.fc28.x86_64
ceph-mds-1:12.2.7-1.fc28.x86_64
ceph-mgr-1:12.2.4-1.fc28.x86_64
ceph-mgr-1:12.2.7-1.fc28.x86_64
ceph-mon-1:12.2.4-1.fc28.x86_64
ceph-mon-1:12.2.7-1.fc28.x86_64
ceph-osd-1:12.2.4-1.fc28.x86_64
ceph-osd-1:12.2.7-1.fc28.x86_64
ceph-radosgw-1:12.2.4-1.fc28.x86_64
ceph-radosgw-1:12.2.7-1.fc28.x86_64
ceph-test-1:12.2.4-1.fc28.x86_64
ceph-test-1:12.2.7-1.fc28.x86_64
gperftools-devel-0:2.6.3-2.fc28.x86_64
mongodb-0:3.6.3-1.fc28.x86_64
mongodb-server-0:3.6.3-1.fc28.x86_64
Amuzingly/depressingly (delete as appropriate) we see 389-ds uses both
tcmalloc *and* jemalloc depending on sub-RPM in question !
This was fixed in 1.4.0.12-1

# dnf repoquery --whatrequires 'libjemalloc.so.2()(64bit)'
389-ds-base-devel-0:1.4.0.11-2.fc28.x86_64
blender-1:2.79b-2.fc28.x86_64
blender-1:2.79b-3.fc28.x86_64
blenderplayer-1:2.79b-2.fc28.x86_64
blenderplayer-1:2.79b-3.fc28.x86_64
jemalloc-devel-0:5.0.1-5.fc28.x86_64
neovim-0:0.2.2-1.fc28.x86_64
neovim-0:0.3.0-2.fc28.x86_64
redis-0:4.0.10-1.fc28.x86_64
redis-0:4.0.9-1.fc28.x86_64
varnish-0:5.2.1-4.fc28.x86_64

Regards,
Daniel
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/C3Z66QO7NMHSRWMC2D3IR5HPZJLU7FNF/




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux