> On Tue, Aug 22, 2017 at 12:55 PM, Liang, Kan <kan.liang@xxxxxxxxx> wrote: > > > >> So I propose testing the attached trivial patch. > > > > It doesn’t work. > > The call stack is the same. > > So I would have expected the stack trace to be the same, and I would even > expect the CPU usage to be fairly similar, because you'd see repeating from > the callers (taking the fault again if the page is - once again - being migrated). > > But I was hoping that the wait queues would be shorter because the loop for > the retry would be bigger. > > Oh well. > > I'm slightly out of ideas. Apparently the yield() worked ok (apart from not > catching all cases), and maybe we could do a version that waits on the page > bit in the non-contended case, but yields under contention? > > IOW, maybe this is the best we can do for now? Introducing that > "wait_on_page_migration()" helper might allow us to tweak this a bit as > people come up with better ideas.. The "wait_on_page_migration()" helper works well in the overnight testing. Thanks, Kan > > And then add Tim's patch for the general worst-case just in case? > > Linus ��.n������g����a����&ޖ)���)��h���&������梷�����Ǟ�m������)������^�����������v���O��zf������