Re: [PATCH v2 00/12] x86: tag application address space for devices
From: Peter Zijlstra
Date: Mon Jun 15 2020 - 03:52:29 EST
On Fri, Jun 12, 2020 at 05:41:21PM -0700, Fenghua Yu wrote:
> This series only provides simple and basic support for ENQCMD and the MSR:
> 1. Clean up type definitions (patch 1-3). These patches can be in a
> separate series.
> - Define "pasid" as "unsigned int" consistently (patch 1 and 2).
> - Define "flags" as "unsigned int"
> 2. Explain different various technical terms used in the series (patch 4).
> 3. Enumerate support for ENQCMD in the processor (patch 5).
> 4. Handle FPU PASID state and the MSR during context switch (patches 6-7).
> 5. Define "pasid" in mm_struct (patch 8).
> 5. Clear PASID state for new mm and forked and cloned thread (patch 9-10).
> 6. Allocate and free PASID for a process (patch 11).
> 7. Fix up the PASID MSR in #GP handler when one thread in a process
> executes ENQCMD for the first time (patches 12).
If this is per mm, should not switch_mm() update the MSR ? I'm not
seeing that, nor do I see it explained why not.