Re:System memory allocator free operation zeroes out dealloc...
by ncmncm on Thursday September 22, 2022 @03:53PM
(#32943835)
Memory allocators generally don't unmap anything, because the performance hit on any other threads running is severe.
When memory is unmapped, caches of memory mappings of other threads are discarded, via inter-core interrupts. Then they get misses until their cache is restored.
In what might be a multi-thread program, you don't fool with the memory map without very good reasons. Mapping new pages, or marking a page r/o or r/w is OK; anything else, probably not.
Re:System memory allocator free operation zeroes out dealloc...
by zerohp on Thursday September 22, 2022 @06:09PM
(#32945267)
> When memory is unmapped, caches of memory mappings of other threads are discarded, via inter-core interrupts.
ARM architecture does not need to interrupt for TLB shootdown.
As I mentioned, only until that freed block is reused for a new allocation, which means it will no longer be all-zeros; or until the memory allocator decides it's time to unmap that region, which means it will trap (SIGSEGV or similar).