On Tue, Jun 21, 2022 at 11:30:52AM -0700, Nadav Amit wrote: > > Only if you agree with what I thought, thanks. And that could be a > > separate patch for sure out of this one even if to come. > > I do agree. I did not quite understand your second sentence. I guess you > meant not to combine it into this patchset (or at least that’s what I > thought and I attribute it to you). Feel free to not attribute anything to me, even no need on a suggested-by. But if you plan to post for sure I'd be glad if you copy me, I may be very willing to either provide a r-b or read about what's missed there on the thought if that isn't work like that. So the only purpose of the 2nd sentense is to make sure it shouldn't block your current series (you explained why you're hurry and catching time), and that's all I wanted to express. > > >> > >> > >> I think that perhaps I did not communicate well enough the reason it makes > >> sense to set the dirty-bit. > >> > >> Setting the access-bit and dirty-bit takes quite some time. So regardless of > >> whether you set the PageDirty, if you didn’t see access-bit and dirty-bit > >> and later you access the page - you are going to pay ~550 cycles for > >> nothing. > >> > >> For reference: https://marc.info/?l=linux-kernel&m=146582237922378&w=2 > >> > >> If you want me to allow userspace to provide a hint, let me know. > > > > You did communicate well, so probably it's me that didn't. :) > > > > Yes I think it'll be nicer to allow userspace provide the same hint for > > UFFDIO_CONTINUE, the reason as I explained in the other thread on the young > > bit (or say ACCESS_LIKELY), that UFFDIO_CONTINUE can (at least in my > > current qemu impl [1]) proactively be used to install pgtables even if > > they're code pages and they may not be accessed in the near future. So > > IMHO we should treat UFFDIO_CONTINUE the same as UFFDIO_COPY, IMHO, from > > this point of view. > > > > There's just still some differences on young/dirty here so I'm not sure > > whether the idea applies to both, but I think at least it applies to young > > bit (ACCESS_LIKELY). > > > > [1] https://github.com/xzpeter/qemu/commit/b7758ad55af42b5364796362e96f4a06b51d9582 > > We have a saying in Hebrew: “When you explain slowly, I understand quickly”. > Thanks for explaining. I will add hints for UFFDIO_CONTINUE as well. I'm always happy to learn these interesting idioms, and I'm glad we seem to be on the same page now. Thanks! -- Peter Xu