Re: next: Commit 'mm: Prevent __alloc_pages_nodemask() RCU CPU stall ...' causing hang on sparc32 qemu
From: Paul E. McKenney
Date: Thu Dec 01 2016 - 07:35:29 EST
On Wed, Nov 30, 2016 at 10:56:57PM -0800, Guenter Roeck wrote:
> Hi Paul,
>
> On Wed, Nov 30, 2016 at 05:19:50PM -0800, Paul E. McKenney wrote:
> [ ... ]
>
> > > > >
> > > > > BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
> [ ... ]
> >
> > Whew! You had me going for a bit there. ;-)
>
> Bisect results are here ... the culprit is, again, commit 2d66cccd73 ("mm:
> Prevent __alloc_pages_nodemask() RCU CPU stall warnings"), and reverting that
> patch fixes the problem. Good that you dropped it already :-).
"My work is done." ;-)
And apologies for the hassle. I have no idea what I was thinking when
I put the cond_resched_rcu_qs() there!
Thanx, Paul
> Guenter
>
> ---
> # bad: [59ab0083490c8a871b51e893bae5806e55901d7e] Add linux-next specific files for 20161130
> # good: [e5517c2a5a49ed5e99047008629f1cd60246ea0e] Linux 4.9-rc7
> git bisect start 'HEAD' 'v4.9-rc7'
> # good: [187f99e5c22bb3fab8b330f3ebbbd235d238f3f8] Merge remote-tracking branch 'crypto/master'
> git bisect good 187f99e5c22bb3fab8b330f3ebbbd235d238f3f8
> # good: [36126657c908e822523b8563f9b1512937c0f342] Merge remote-tracking branch 'tip/auto-latest'
> git bisect good 36126657c908e822523b8563f9b1512937c0f342
> # good: [2d2139c5c746ec61024fdfa9c36e4e034bb18e59] Merge tag 'iio-for-4.10d' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
> git bisect good 2d2139c5c746ec61024fdfa9c36e4e034bb18e59
> # bad: [926a60551123048c589b45abee2a2ec4c924ab21] Merge remote-tracking branch 'extcon/extcon-next'
> git bisect bad 926a60551123048c589b45abee2a2ec4c924ab21
> # bad: [1541655795a90720b8a094c8cc39f582dec17398] Merge remote-tracking branch 'tty/tty-next'
> git bisect bad 1541655795a90720b8a094c8cc39f582dec17398
> # bad: [69a6720a1e54519d9bf8563764e9e93bf1bd6a84] Merge remote-tracking branch 'kvm-arm/next'
> git bisect bad 69a6720a1e54519d9bf8563764e9e93bf1bd6a84
> # good: [33b8b045b93f9104c61ecad1865af961b3bef03e] Merge remote-tracking branch 'ftrace/for-next'
> git bisect good 33b8b045b93f9104c61ecad1865af961b3bef03e
> # good: [8370c3d08bd98576d97514eca29970e03767a5d1] kvm: svm: Add kvm_fast_pio_in support
> git bisect good 8370c3d08bd98576d97514eca29970e03767a5d1
> # good: [0a895142323de3eebb0b753d3d8c0e768ff179d9] mm: Prevent shrink_node() RCU CPU stall warnings
> git bisect good 0a895142323de3eebb0b753d3d8c0e768ff179d9
> # bad: [f8045446ca778333e960dcb9e30a5858ff2b8c20] srcu: Force full grace-period ordering
> git bisect bad f8045446ca778333e960dcb9e30a5858ff2b8c20
> # good: [f660d64912ccadadcdce6dfb39eb06924dd93767] doc: Fix RCU requirements typos
> git bisect good f660d64912ccadadcdce6dfb39eb06924dd93767
> # good: [d2db185bfee894c573faebed93461e9938bdbb61] rcu: Remove short-term CPU kicking
> git bisect good d2db185bfee894c573faebed93461e9938bdbb61
> # bad: [2d66cccd73436ac9985a08e5c2f82e4344f72264] mm: Prevent __alloc_pages_nodemask() RCU CPU stall warnings
> git bisect bad 2d66cccd73436ac9985a08e5c2f82e4344f72264
> # good: [34c53f5cd399801b083047cc9cf2ad3ed17c3144] mm: Prevent shrink_node_memcg() RCU CPU stall warnings
> git bisect good 34c53f5cd399801b083047cc9cf2ad3ed17c3144
> # first bad commit: [2d66cccd73436ac9985a08e5c2f82e4344f72264] mm: Prevent __alloc_pages_nodemask() RCU CPU stall warnings
>