* find_new_ilb
@ 2021-06-08 19:51 Julia Lawall
2021-06-09 7:12 ` find_new_ilb Peter Zijlstra
0 siblings, 1 reply; 6+ messages in thread
From: Julia Lawall @ 2021-06-08 19:51 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra, Vincent Guittot, Dietmar Eggemann,
Mel Gorman, linux-kernel
Starting from the following commit:
commit 45da7a2b0af8fa29dff2e6ba8926322068350fce
Author: Peter Zijlstra <peterz@infradead.org>
Date: Tue Aug 18 10:48:17 2020 +0200
sched/fair: Exclude the current CPU from find_new_ilb()
up through Linux 5.12, I observed that often when most of the machine was
idle, there could be many (thousands) of sched_wake_idle_without_ipi
events, typically between cores 0 and 1. I don't see this any more in
Linux v5.13-rc1. I looked through the patches to fair.c and core.c
subsequent to v5.12, and I didn't see anything that explicitly addresses
this issue. Before I plunge into another set of rounds of bisecting, I
wonder if anyone knows whether and how this problem was resolved?
thanks,
julia
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: find_new_ilb 2021-06-08 19:51 find_new_ilb Julia Lawall @ 2021-06-09 7:12 ` Peter Zijlstra 2021-06-09 7:18 ` find_new_ilb Vincent Guittot 2021-06-09 7:26 ` find_new_ilb Julia Lawall 0 siblings, 2 replies; 6+ messages in thread From: Peter Zijlstra @ 2021-06-09 7:12 UTC (permalink / raw) To: Julia Lawall Cc: Ingo Molnar, Vincent Guittot, Dietmar Eggemann, Mel Gorman, linux-kernel On Tue, Jun 08, 2021 at 09:51:30PM +0200, Julia Lawall wrote: > Starting from the following commit: > > commit 45da7a2b0af8fa29dff2e6ba8926322068350fce > Author: Peter Zijlstra <peterz@infradead.org> > Date: Tue Aug 18 10:48:17 2020 +0200 > > sched/fair: Exclude the current CPU from find_new_ilb() > > up through Linux 5.12, I observed that often when most of the machine was > idle, there could be many (thousands) of sched_wake_idle_without_ipi > events, typically between cores 0 and 1. I don't see this any more in > Linux v5.13-rc1. I looked through the patches to fair.c and core.c > subsequent to v5.12, and I didn't see anything that explicitly addresses > this issue. Before I plunge into another set of rounds of bisecting, I > wonder if anyone knows whether and how this problem was resolved? Hurmph.. that patch was preparation for a later change that never seems to have happened. If it is causing trouble for you, I think you can savely revert it. At the time I thought it was very strange that new_idle would select itself as idle-balancer, doubly so, because the only way to get there would be with NEED_RESCHED already set, so the IPI wouldn't in fact do anything. Looking again, the difference is ofcourse that previously we'd select self and NO-OP, but now we'll potentially select another CPU and actually do something. This is arguably an improvement, because we did want to do something. I can't quite remember what would've change here since, Vincent, can you remember? Anyway, is this actually causing you trouble, or are you just going on the increased number of events? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: find_new_ilb 2021-06-09 7:12 ` find_new_ilb Peter Zijlstra @ 2021-06-09 7:18 ` Vincent Guittot 2021-06-09 7:26 ` find_new_ilb Julia Lawall 2021-06-09 13:04 ` find_new_ilb Julia Lawall 2021-06-09 7:26 ` find_new_ilb Julia Lawall 1 sibling, 2 replies; 6+ messages in thread From: Vincent Guittot @ 2021-06-09 7:18 UTC (permalink / raw) To: Peter Zijlstra Cc: Julia Lawall, Ingo Molnar, Dietmar Eggemann, Mel Gorman, linux-kernel On Wed, 9 Jun 2021 at 09:12, Peter Zijlstra <peterz@infradead.org> wrote: > > On Tue, Jun 08, 2021 at 09:51:30PM +0200, Julia Lawall wrote: > > Starting from the following commit: > > > > commit 45da7a2b0af8fa29dff2e6ba8926322068350fce > > Author: Peter Zijlstra <peterz@infradead.org> > > Date: Tue Aug 18 10:48:17 2020 +0200 > > > > sched/fair: Exclude the current CPU from find_new_ilb() > > > > up through Linux 5.12, I observed that often when most of the machine was > > idle, there could be many (thousands) of sched_wake_idle_without_ipi > > events, typically between cores 0 and 1. I don't see this any more in > > Linux v5.13-rc1. I looked through the patches to fair.c and core.c > > subsequent to v5.12, and I didn't see anything that explicitly addresses > > this issue. Before I plunge into another set of rounds of bisecting, I > > wonder if anyone knows whether and how this problem was resolved? > > Hurmph.. that patch was preparation for a later change that never seems > to have happened. If it is causing trouble for you, I think you can > savely revert it. > > At the time I thought it was very strange that new_idle would select > itself as idle-balancer, doubly so, because the only way to get there > would be with NEED_RESCHED already set, so the IPI wouldn't in fact do > anything. > > Looking again, the difference is ofcourse that previously we'd select > self and NO-OP, but now we'll potentially select another CPU and > actually do something. > > This is arguably an improvement, because we did want to do something. > > I can't quite remember what would've change here since, Vincent, can > you remember? c6f886546cb8 ("sched/fair: Trigger the update of blocked load on newly idle cpu") could be the one which fixes it. We don't kick_ilb from newilde_balance() since this commit > > Anyway, is this actually causing you trouble, or are you just going on > the increased number of events? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: find_new_ilb 2021-06-09 7:18 ` find_new_ilb Vincent Guittot @ 2021-06-09 7:26 ` Julia Lawall 2021-06-09 13:04 ` find_new_ilb Julia Lawall 1 sibling, 0 replies; 6+ messages in thread From: Julia Lawall @ 2021-06-09 7:26 UTC (permalink / raw) To: Vincent Guittot Cc: Peter Zijlstra, Ingo Molnar, Dietmar Eggemann, Mel Gorman, linux-kernel On Wed, 9 Jun 2021, Vincent Guittot wrote: > On Wed, 9 Jun 2021 at 09:12, Peter Zijlstra <peterz@infradead.org> wrote: > > > > On Tue, Jun 08, 2021 at 09:51:30PM +0200, Julia Lawall wrote: > > > Starting from the following commit: > > > > > > commit 45da7a2b0af8fa29dff2e6ba8926322068350fce > > > Author: Peter Zijlstra <peterz@infradead.org> > > > Date: Tue Aug 18 10:48:17 2020 +0200 > > > > > > sched/fair: Exclude the current CPU from find_new_ilb() > > > > > > up through Linux 5.12, I observed that often when most of the machine was > > > idle, there could be many (thousands) of sched_wake_idle_without_ipi > > > events, typically between cores 0 and 1. I don't see this any more in > > > Linux v5.13-rc1. I looked through the patches to fair.c and core.c > > > subsequent to v5.12, and I didn't see anything that explicitly addresses > > > this issue. Before I plunge into another set of rounds of bisecting, I > > > wonder if anyone knows whether and how this problem was resolved? > > > > Hurmph.. that patch was preparation for a later change that never seems > > to have happened. If it is causing trouble for you, I think you can > > savely revert it. > > > > At the time I thought it was very strange that new_idle would select > > itself as idle-balancer, doubly so, because the only way to get there > > would be with NEED_RESCHED already set, so the IPI wouldn't in fact do > > anything. > > > > Looking again, the difference is ofcourse that previously we'd select > > self and NO-OP, but now we'll potentially select another CPU and > > actually do something. > > > > This is arguably an improvement, because we did want to do something. > > > > I can't quite remember what would've change here since, Vincent, can > > you remember? > > c6f886546cb8 ("sched/fair: Trigger the update of blocked load on newly > idle cpu") could be the one which fixes it. > We don't kick_ilb from newilde_balance() since this commit Thanks! I'll check on that. julia > > > > > Anyway, is this actually causing you trouble, or are you just going on > > the increased number of events? > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: find_new_ilb 2021-06-09 7:18 ` find_new_ilb Vincent Guittot 2021-06-09 7:26 ` find_new_ilb Julia Lawall @ 2021-06-09 13:04 ` Julia Lawall 1 sibling, 0 replies; 6+ messages in thread From: Julia Lawall @ 2021-06-09 13:04 UTC (permalink / raw) To: Vincent Guittot Cc: Peter Zijlstra, Ingo Molnar, Dietmar Eggemann, Mel Gorman, linux-kernel On Wed, 9 Jun 2021, Vincent Guittot wrote: > On Wed, 9 Jun 2021 at 09:12, Peter Zijlstra <peterz@infradead.org> wrote: > > > > On Tue, Jun 08, 2021 at 09:51:30PM +0200, Julia Lawall wrote: > > > Starting from the following commit: > > > > > > commit 45da7a2b0af8fa29dff2e6ba8926322068350fce > > > Author: Peter Zijlstra <peterz@infradead.org> > > > Date: Tue Aug 18 10:48:17 2020 +0200 > > > > > > sched/fair: Exclude the current CPU from find_new_ilb() > > > > > > up through Linux 5.12, I observed that often when most of the machine was > > > idle, there could be many (thousands) of sched_wake_idle_without_ipi > > > events, typically between cores 0 and 1. I don't see this any more in > > > Linux v5.13-rc1. I looked through the patches to fair.c and core.c > > > subsequent to v5.12, and I didn't see anything that explicitly addresses > > > this issue. Before I plunge into another set of rounds of bisecting, I > > > wonder if anyone knows whether and how this problem was resolved? > > > > Hurmph.. that patch was preparation for a later change that never seems > > to have happened. If it is causing trouble for you, I think you can > > savely revert it. > > > > At the time I thought it was very strange that new_idle would select > > itself as idle-balancer, doubly so, because the only way to get there > > would be with NEED_RESCHED already set, so the IPI wouldn't in fact do > > anything. > > > > Looking again, the difference is ofcourse that previously we'd select > > self and NO-OP, but now we'll potentially select another CPU and > > actually do something. > > > > This is arguably an improvement, because we did want to do something. > > > > I can't quite remember what would've change here since, Vincent, can > > you remember? > > c6f886546cb8 ("sched/fair: Trigger the update of blocked load on newly > idle cpu") could be the one which fixes it. > We don't kick_ilb from newilde_balance() since this commit This is indeed the commit that fixes the problem. Increasing the blocked load did seem to be what was not getting done. thanks, julia > > > > > Anyway, is this actually causing you trouble, or are you just going on > > the increased number of events? > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: find_new_ilb 2021-06-09 7:12 ` find_new_ilb Peter Zijlstra 2021-06-09 7:18 ` find_new_ilb Vincent Guittot @ 2021-06-09 7:26 ` Julia Lawall 1 sibling, 0 replies; 6+ messages in thread From: Julia Lawall @ 2021-06-09 7:26 UTC (permalink / raw) To: Peter Zijlstra Cc: Ingo Molnar, Vincent Guittot, Dietmar Eggemann, Mel Gorman, linux-kernel On Wed, 9 Jun 2021, Peter Zijlstra wrote: > On Tue, Jun 08, 2021 at 09:51:30PM +0200, Julia Lawall wrote: > > Starting from the following commit: > > > > commit 45da7a2b0af8fa29dff2e6ba8926322068350fce > > Author: Peter Zijlstra <peterz@infradead.org> > > Date: Tue Aug 18 10:48:17 2020 +0200 > > > > sched/fair: Exclude the current CPU from find_new_ilb() > > > > up through Linux 5.12, I observed that often when most of the machine was > > idle, there could be many (thousands) of sched_wake_idle_without_ipi > > events, typically between cores 0 and 1. I don't see this any more in > > Linux v5.13-rc1. I looked through the patches to fair.c and core.c > > subsequent to v5.12, and I didn't see anything that explicitly addresses > > this issue. Before I plunge into another set of rounds of bisecting, I > > wonder if anyone knows whether and how this problem was resolved? > > Hurmph.. that patch was preparation for a later change that never seems > to have happened. If it is causing trouble for you, I think you can > savely revert it. > > At the time I thought it was very strange that new_idle would select > itself as idle-balancer, doubly so, because the only way to get there > would be with NEED_RESCHED already set, so the IPI wouldn't in fact do > anything. > > Looking again, the difference is ofcourse that previously we'd select > self and NO-OP, but now we'll potentially select another CPU and > actually do something. > > This is arguably an improvement, because we did want to do something. > > I can't quite remember what would've change here since, Vincent, can > you remember? > > Anyway, is this actually causing you trouble, or are you just going on > the increased number of events? Thanks for the feedback. The scenarios I saw wouldn't have caused trouble for anyone, because the machine was highly idle (maybe a couple of cores in use). And the problem seems to be gone as well in v5.13. julia ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-06-09 13:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-06-08 19:51 find_new_ilb Julia Lawall 2021-06-09 7:12 ` find_new_ilb Peter Zijlstra 2021-06-09 7:18 ` find_new_ilb Vincent Guittot 2021-06-09 7:26 ` find_new_ilb Julia Lawall 2021-06-09 13:04 ` find_new_ilb Julia Lawall 2021-06-09 7:26 ` find_new_ilb Julia Lawall
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®