On 6/17/19 11:45 AM, Konrad Rzeszutek Wilk wrote: >> The idea is that you have a per-cpu address space. Certain kernel >> virtual addresses would map to different physical address based on where >> you are running. Each of the physical addresses would be "owned" by a >> single CPU and would, by convention, never use a PGD that mapped an >> address unless that CPU that "owned" it. >> >> In that case, you never really invalidate those addresses. > But you would need to invalidate if the process moved to another CPU, correct? If you have a per-cpu PGD, the rule is that you never use the PGD on more than one CPU. In that model, processes "take over" an existing PGD to run on the CPU rather than having the CPU use an existing PGD that came with the process. But we've really hijacked the original thread at this point, which is probably causing a ton of confusion.