On Tue, Apr 09, 2019 at 03:43:58PM +0200, David Hildenbrand wrote: > On 09.04.19 15:37, Michael S. Tsirkin wrote: > > On Tue, Apr 09, 2019 at 03:36:08PM +0200, David Hildenbrand wrote: > >> On 09.04.19 15:31, Michael S. Tsirkin wrote: > >>> On Tue, Apr 09, 2019 at 11:20:36AM +0200, David Hildenbrand wrote: > >>>> BTW I like the idea of allocating pages that have already been hinted as > >>>> last "choice", allocating pages that have not been hinted yet first. > >>> > >>> OK I guess but note this is just a small window during which > >>> not all pages have been hinted. > >> > >> Yes, good point. It might sound desirable but might be completely > >> irrelevant in practice. > >> > >>> > >>> So if we actually think this has value then we need > >>> to design something that will desist and not drop pages > >>> in steady state too. > >> > >> By dropping, you mean dropping hints of e.g. MAX_ORDER - 1 or e.g. not > >> reporting MAX_ORDER - 3? > > > > I mean the issue is host unmaps the pages from guest right? That is > > what makes hinted pages slower than non-hinted ones. If we do not want > > that to happen for some pages, then either host can defer acting on the > > hint, or we can defer hinting. > > Ah right, I think what Alex mentioned is that pages processed in the > hypervisor via MADVISE_FREE will be set RO, so the kernel can detect if > they will actually be used again, resulting int > > 1. A pagefault if written and the page(s) have not been reused by the host > 2. A pagefault if read/written if the page(s) have been reused by the host > > Now, assuming hinting is fast, most pages will be hinted right away and > therefore result in pagefaults. I think this is what you meant. > > Deferring processing in the hypervisor cannot be done after a request > has been marked as processed and handed back to the guest. (otherwise > pages might already get reused) > > So pages would have to "age" in the guest instead before they might be > worth hinting. Marking pages as "Offline" alone won't help. Agreed. Right. I don't see this as a blocker though. We can think about strategies for addressing this after we have basic hinting in place. > -- > > Thanks, > > David / dhildenb