On Thu, Oct 3, 2019 at 11:03 AM Thomas Hellström (VMware) <thomas_os@xxxxxxxxxxxx> wrote: > > > > > So I think this is the right direction to move into, but I do want > > people to think about this, and think about that next phase of doing > > the pmd_trans_huge_lock too. > > I think if we take the ptl lock outside the callback, we'd need to allow > the callback to unlock to do non-atomic things or to avoid recursive > locking if it decides to split in the callback. Note that I think that the particular pmd locking case we should leave for later, simply because it's a separate issue, and it comes with more worries. So I just wanted to mention it to see what people thought and keep it in mind for later, but I don't think it should be part of this series. Your use case doesn't need it (at least yet), and existing users already do their own locking. The "change pte_entry" to do the proper locking I think is safe. Probably exactly *because* pte_entry is so broken, we literally have only five users of it in the whole kernel, and they are fairly simple and certainly don't block. (Ok, the s390 has some funky hw locking, so maybe "simple" is the wrong word to use, but it doesn't seem to have any interaction with the locking). End result: I absolutely agree that changing the pmd locking to be done by the walker would be a much bigger change. I don't think we need to do that part yet. It's not the current pain-point. Linus