The Arm64 memory tagging extension in Linux
1–10 of 71 posts
Re: The Arm64 memory tagging extension in Linux
#2Eg. Store pointers to all these objects into a std::set? The memory tag will now form part of the keys to this set, and would affect iteration order etc... It could cause breakage in existing applications.
Re: The Arm64 memory tagging extension in Linux
#3Re: The Arm64 memory tagging extension in Linux
#4Re: The Arm64 memory tagging extension in Linux
#5Re: The Arm64 memory tagging extension in Linux
#6Where are these keys stored? A 4 bit key for each 16 byte granule of memory in the system sounds substantial. Does the Linux kernel have to give the CPU a memory region to keep those mappings?
Re: The Arm64 memory tagging extension in Linux
#7Re: The Arm64 memory tagging extension in Linux
#8Random read and write of a big memory region could now presumably cause double the number of DRAM accesses, and half the performance, since the tag mapping will need to be read in addition to the actual data. If the read of a memory address could have side effects (as is common with memory mapped hardware), does the hardware give guarantees that the tag will be checked before the memory is read or written? If so, tha…
Re: The Arm64 memory tagging extension in Linux
#9Where are these keys stored? A 4 bit key for each 16 byte granule of memory in the system sounds substantial. Does the Linux kernel have to give the CPU a memory region to keep those mappings?
The keys are stored in the bottom nibble of the top byte of pointers (I.e. bits 56-59)