Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1732017 > unrolled thread

Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit

Started byTim Chen <tim.c.chen@linux.intel.com>
First post2017-09-14 04:20 +0200
Last post2017-09-14 18:50 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in  wake_up_page_bit Tim Chen <tim.c.chen@linux.intel.com> - 2017-09-14 04:20 +0200
    Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit Linus Torvalds <torvalds@linux-foundation.org> - 2017-09-14 04:30 +0200
      Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in  wake_up_page_bit Tim Chen <tim.c.chen@linux.intel.com> - 2017-09-14 19:00 +0200
        Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit Linus Torvalds <torvalds@linux-foundation.org> - 2017-09-14 19:10 +0200
    Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in  wake_up_page_bit Christopher Lameter <cl@linux.com> - 2017-09-14 18:50 +0200

#1732017 — Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit

FromTim Chen <tim.c.chen@linux.intel.com>
Date2017-09-14 04:20 +0200
SubjectRe: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit
Message-ID<uprV0-7hc-5@gated-at.bofh.it>
On 08/29/2017 09:24 AM, Linus Torvalds wrote:
> On Tue, Aug 29, 2017 at 9:13 AM, Tim Chen <tim.c.chen@linux.intel.com> wrote:
>>
>> It is affecting not a production use, but the customer's acceptance
>> test for their systems.  So I suspect it is a stress test.
> 
> Can you gently poke them and ask if they might make theie stress test
> code available?
> 
> Tell them that we have a fix, but right now it's delayed into 4.14
> because we have no visibility into what it is that it actually fixes,
> and whether it's all that critical or just some microbenchmark.
> 
>

Linus,

Here's what the customer think happened and is willing to tell us.
They have a parent process that spawns off 10 children per core and
kicked them to run. The child processes all access a common library.
We have 384 cores so 3840 child processes running.  When migration occur on
a page in the common library, the first child that access the page will
page fault and lock the page, with the other children also page faulting
quickly and pile up in the page wait list, till the first child is done.

Probably some kind of access pattern of the common library induces the
page migration to happen.

BTW, will you be merging these 2 patches in 4.14?

Thanks.

Tim

[toc] | [next] | [standalone]


#1732020 — Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit

FromLinus Torvalds <torvalds@linux-foundation.org>
Date2017-09-14 04:30 +0200
SubjectRe: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit
Message-ID<ups4F-7ky-1@gated-at.bofh.it>
In reply to#1732017
On Wed, Sep 13, 2017 at 7:12 PM, Tim Chen <tim.c.chen@linux.intel.com> wrote:
>
> BTW, will you be merging these 2 patches in 4.14?

Yes, and thanks for reminding me.

In fact, would you mind sending me the latest versions, rather than me
digging them out of the disaster area that is my mailbox and possibly
picking an older version?

                 Linus

[toc] | [prev] | [next] | [standalone]


#1732458

FromTim Chen <tim.c.chen@linux.intel.com>
Date2017-09-14 19:00 +0200
Message-ID<upFEC-7zL-9@gated-at.bofh.it>
In reply to#1732020

[Multipart message — attachments visible in raw view] — view raw

On 09/13/2017 07:27 PM, Linus Torvalds wrote:
> On Wed, Sep 13, 2017 at 7:12 PM, Tim Chen <tim.c.chen@linux.intel.com> wrote:
>>
>> BTW, will you be merging these 2 patches in 4.14?
> 
> Yes, and thanks for reminding me.
> 
> In fact, would you mind sending me the latest versions, rather than me
> digging them out of the disaster area that is my mailbox and possibly
> picking an older version?
> 
>                  Linus
> 

Attached the two patches that you have updated to sync with your other
page wait queue clean up and sent to Kan and me:
https://marc.info/?l=linux-kernel&m=150393893927105&w=2

Kan tested this before so it should be still good. 
I checked that it applied cleanly on latest master.

Thanks.

Tim

[toc] | [prev] | [next] | [standalone]


#1732467 — Re: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit

FromLinus Torvalds <torvalds@linux-foundation.org>
Date2017-09-14 19:10 +0200
SubjectRe: [PATCH 2/2 v2] sched/wait: Introduce lock breaker in wake_up_page_bit
Message-ID<upFOi-7RX-19@gated-at.bofh.it>
In reply to#1732458
On Thu, Sep 14, 2017 at 9:50 AM, Tim Chen <tim.c.chen@linux.intel.com> wrote:
>
> Kan tested this before so it should be still good.
> I checked that it applied cleanly on latest master.

Thanks, applied.

I really hope we end up fixing the migration thing too, but at least
4.14 will have the mitigation for the long wait queues.

               Linus

[toc] | [prev] | [next] | [standalone]


#1732449

FromChristopher Lameter <cl@linux.com>
Date2017-09-14 18:50 +0200
Message-ID<upFuV-7wa-1@gated-at.bofh.it>
In reply to#1732017
On Wed, 13 Sep 2017, Tim Chen wrote:

> Here's what the customer think happened and is willing to tell us.
> They have a parent process that spawns off 10 children per core and
> kicked them to run. The child processes all access a common library.
> We have 384 cores so 3840 child processes running.  When migration occur on
> a page in the common library, the first child that access the page will
> page fault and lock the page, with the other children also page faulting
> quickly and pile up in the page wait list, till the first child is done.

I think we need some way to avoid migration in cases like this. This is
crazy. Page migration was not written to deal with something like this.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web