On Wed, May 11, 2022 at 05:27:48AM +0300, Kirill A. Shutemov wrote: > When a kernel thread performs memory access on behalf of a process (like > in async I/O, io_uring, etc.) it has to respect tagging setup of the > process as user addresses can include tags. > > Normally, LAM setup is per-thread and recorded in thread features, but > for this use case kernel also tracks LAM setup per-mm. mm->context.lam > would record LAM that allows the most tag bits among the threads of > the mm. Then why does it *ever* make sense to track it per thread? It's not like it makes heaps of sense to allow one thread in a process to use LAM but not the others.