[$] Pointer tagging for x86 systems

Post Syndicated from original https://lwn.net/Articles/888914/

Pointers are a fact of life for developers working in numerous languages.
It is often convenient to be able to associate a small
amount — a few bits at most — of ancillary information with a pointer.
This can often be done within the pointer value itself with some careful
masking and shifting. CPU manufacturers have been adding ways to support
the addition of this sort of “tag” to pointers; the most recent may be
AMD’s “upper address ignore” (UAI) feature, support for which was
recently posted
by Bharata B Rao. This feature has an uncertain future in Linux, though,
as the result of a fundamental design decision.