Anshuman Khandual
abcc786278
mm/mprotect: add a cond_resched() inside change_pmd_range()
...
commit 4991c09c7c812dba13ea9be79a68b4565bb1fa4e upstream.
While testing on a large CPU system, detected the following RCU stall
many times over the span of the workload. This problem is solved by
adding a cond_resched() in the change_pmd_range() function.
INFO: rcu_sched detected stalls on CPUs/tasks:
154-....: (670 ticks this GP) idle=022/140000000000000/0 softirq=2825/2825 fqs=612
(detected by 955, t=6002 jiffies, g=4486, c=4485, q=90864)
Sending NMI from CPU 955 to CPUs 154:
NMI backtrace for cpu 154
CPU: 154 PID: 147071 Comm: workload Not tainted 4.15.0-rc3+ #3
NIP: c0000000000b3f64 LR: c0000000000b33d4 CTR: 000000000000aa18
REGS: 00000000a4b0fb44 TRAP: 0501 Not tainted (4.15.0-rc3+)
MSR: 8000000000009033 <SF,EE,ME,IR,DR,RI,LE> CR: 22422082 XER: 00000000
CFAR: 00000000006cf8f0 SOFTE: 1
GPR00: 0010000000000000 c00003ef9b1cb8c0 c0000000010cc600 0000000000000000
GPR04: 8e0000018c32b200 40017b3858fd6e00 8e0000018c32b208 40017b3858fd6e00
GPR08: 8e0000018c32b210 40017b3858fd6e00 8e0000018c32b218 40017b3858fd6e00
GPR12: ffffffffffffffff c00000000fb25100
NIP [c0000000000b3f64] plpar_hcall9+0x44/0x7c
LR [c0000000000b33d4] pSeries_lpar_flush_hash_range+0x384/0x420
Call Trace:
flush_hash_range+0x48/0x100
__flush_tlb_pending+0x44/0xd0
hpte_need_flush+0x408/0x470
change_protection_range+0xaac/0xf10
change_prot_numa+0x30/0xb0
task_numa_work+0x2d0/0x3e0
task_work_run+0x130/0x190
do_notify_resume+0x118/0x120
ret_from_except_lite+0x70/0x74
Instruction dump:
60000000 f8810028 7ca42b78 7cc53378 7ce63b78 7d074378 7d284b78 7d495378
e9410060 e9610068 e9810070 44000022 <7d806378> e9810028 f88c0000 f8ac0008
Link: http://lkml.kernel.org/r/20171214140551.5794-1-khandual@linux.vnet.ibm.com
Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Suggested-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-10 09:31:17 +01:00
..
2017-11-02 11:10:55 +01:00
2017-09-11 14:16:44 -06:00
2017-09-08 18:26:46 -07:00
2017-11-02 11:10:55 +01:00
2017-06-05 16:59:12 +02:00
2017-11-02 11:10:55 +01:00
2017-10-13 16:18:32 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-02-27 18:43:47 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-03 17:54:24 -07:00
2017-12-05 11:26:28 +01:00
2016-07-26 16:19:19 -07:00
2017-12-10 13:40:43 +01:00
2017-11-02 11:10:55 +01:00
2017-09-08 18:26:46 -07:00
2017-12-05 11:26:28 +01:00
2016-05-20 17:58:30 -07:00
2017-12-05 11:26:30 +01:00
2017-05-03 15:52:12 -07:00
2017-11-02 11:10:55 +01:00
2017-09-06 17:27:30 -07:00
2017-09-08 18:26:49 -07:00
2017-09-08 18:26:46 -07:00
2017-05-03 15:52:10 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-03-17 15:09:34 -07:00
2017-07-06 16:24:34 -07:00
2017-10-03 17:54:23 -07:00
2017-10-03 17:54:25 -07:00
2016-05-22 17:21:27 -07:00
2017-12-05 11:26:29 +01:00
2017-11-02 11:10:55 +01:00
2017-08-25 16:12:46 -07:00
2017-12-05 11:26:29 +01:00
2017-10-03 17:54:26 -07:00
2017-08-17 10:30:49 +02:00
2017-10-03 17:54:25 -07:00
2017-10-13 16:18:32 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-03-17 15:09:34 -07:00
2017-12-20 10:10:18 +01:00
2017-03-02 08:42:38 +01:00
2017-08-31 16:13:00 -07:00
2017-11-02 11:10:55 +01:00
2018-01-10 09:31:17 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-09-14 18:13:32 -07:00
2017-12-20 10:10:18 +01:00
2017-12-25 14:26:31 +01:00
2017-11-02 11:10:55 +01:00
2017-11-24 08:37:05 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-09-06 17:27:29 -07:00
2017-11-24 08:37:04 +01:00
2017-11-02 11:10:55 +01:00
2017-07-26 17:41:05 -04:00
2017-09-27 14:45:57 -07:00
2017-06-29 11:23:38 -04:00
2017-10-19 13:13:49 +01:00
2017-11-02 11:10:55 +01:00
2017-03-02 08:42:28 +01:00
2017-11-02 11:10:55 +01:00
2016-12-12 18:55:08 -08:00
2017-09-08 18:26:49 -07:00
2017-10-03 17:54:24 -07:00
2017-09-13 18:53:16 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-25 14:26:21 +01:00
2017-11-02 11:10:55 +01:00
2017-12-14 09:53:10 +01:00
2017-11-02 11:10:55 +01:00
2017-12-25 14:26:31 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-03 17:54:24 -07:00
2017-11-03 07:39:19 -07:00
2017-07-10 16:32:32 -07:00
2017-04-05 12:30:18 -07:00
2017-09-06 17:27:28 -07:00
2017-09-06 17:27:29 -07:00
2017-11-02 11:10:55 +01:00
2017-10-13 16:18:32 -07:00
2017-07-10 16:32:31 -07:00
2017-11-02 11:10:55 +01:00
2017-09-08 18:26:47 -07:00
2017-11-02 11:10:55 +01:00
2017-11-30 08:40:44 +00:00
2016-01-15 11:40:52 -08:00
2015-11-06 17:50:42 -08:00
2017-12-14 09:53:10 +01:00
2017-07-06 16:24:35 -07:00