[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <37D7C6CF3E00A74B8858931C1DB2F0775378A8AB@SHSMSX103.ccr.corp.intel.com>
Date: Wed, 23 Aug 2017 14:49:31 +0000
From: "Liang, Kan" <kan.liang@...el.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Mel Gorman <mgorman@...hsingularity.net>,
Mel Gorman <mgorman@...e.de>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Peter Zijlstra <peterz@...radead.org>,
"Ingo Molnar" <mingo@...e.hu>, Andi Kleen <ak@...ux.intel.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Johannes Weiner <hannes@...xchg.org>, Jan Kara <jack@...e.cz>,
linux-mm <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 1/2] sched/wait: Break up long wake list walk
> On Tue, Aug 22, 2017 at 12:55 PM, Liang, Kan <kan.liang@...el.com> 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
Powered by blists - more mailing lists