This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author christian.heimes
Recipients christian.heimes, corona10, erlendaasland, nascheme
Date 2022-02-10.09:27:44
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1644485264.4.0.677242241579.issue46657@roundup.psfhosted.org>
In-reply-to
Content
ICC 2021 has full support for stdatomic.h and compiles mimalloc just fine:

$ CC="icc" ./configure -C --with-pydebug
$ make
$ ./python
Python 3.11.0a5+ (main, Feb  9 2022, 15:57:40) [GCC Intel(R) C++ gcc 7.5 mode] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys._malloc_info
sys._malloc_info(allocator='mimalloc_debug', with_pymalloc=True, with_mimalloc=True, mimalloc_secure=4, mimalloc_debug=2)


AIX xlc is still a problem. It does not support C11 stdatomic.h. But it comes with older GCC atomic memory access __sync function family, https://www.ibm.com/docs/en/xl-c-and-cpp-aix/13.1.3?topic=cbif-gcc-atomic-memory-access-built-in-functions-extension . It might be possible to re-implement mimalloc's atomics with __sync functions (e.g. https://gist.github.com/nhatminhle/5181506). The implementation would be less efficient, though. The __sync functions don't have memory order, atomic_load_explicit(v) becomes __sync_fetch_and_add(v, 0), and atomic_store_explicit() requires two full memory barriers.
History
Date User Action Args
2022-02-10 09:27:44christian.heimessetrecipients: + christian.heimes, nascheme, corona10, erlendaasland
2022-02-10 09:27:44christian.heimessetmessageid: <1644485264.4.0.677242241579.issue46657@roundup.psfhosted.org>
2022-02-10 09:27:44christian.heimeslinkissue46657 messages
2022-02-10 09:27:44christian.heimescreate