On Mon, Sep 12, 2022 at 03:55:02PM -0700, Jacob Pan wrote: > Hi Dave, > > On Mon, 12 Sep 2022 14:41:56 -0700, Dave Hansen <dave.hansen@xxxxxxxxx> > wrote: > > > On 9/12/22 13:39, Jacob Pan wrote: > > >>> + if (pasid_valid(mm->pasid) && !forced) { > > > I don't think this works since we have lazy pasid free. for example, > > > after all the devices did sva_unbind, mm->pasid we'll remain valid > > > until mmdrop(). LAM should be supported in this case. > > > > Nah, it works fine. > > It just means that the rules are "you can't do LAM if your process > > *EVER* got a PASID" instead of "you can't do LAM if you are actively > > using your PASID". > Sure it works if you change the rules, but this case need to documented. > > > > > We knew that PASID use would be a one-way trip for a process when we > > moved to the simplified implementation. This is just more fallout from > > that. It's fine. > > > Is LAM also a one-way trip? Yes. -- Kiryl Shutsemau / Kirill A. Shutemov