On 09/06/20 21:10, Vivek Goyal wrote: > Hi Vitaly, > > Have a question about page ready events. > > Now we deliver PAGE_NOT_PRESENT page faults only if guest is not in > kernel mode. So say kernel tried to access a page and we halted cpu. > When page is available, we will inject page_ready interrupt. At > that time we don't seem to check whether page_not_present was injected > or not. > > IOW, we seem to deliver page_ready irrespective of the fact whether > PAGE_NOT_PRESENT was delivered or not. And that means we will be > sending page present tokens to guest. Guest will not have a state > associated with that token and think that page_not_present has > not been delivered yet and allocate an element in hash table for > future page_not_present event. And that will lead to memory leak > and token conflict etc. Yes, and this is https://bugzilla.kernel.org/show_bug.cgi?id=208081 which I was looking at right today. > While setting up async pf, should we keep track whether associated > page_not_present was delivered to guest or not and deliver page_ready > accordingly. Yes, I think so. Paolo