kernel_optimize_test/arch/s390/kvm
Christian Borntraeger 70c88a00fb KVM: s390: do not block CPU on dirty logging
When doing dirty logging on huge guests (e.g.600GB) we sometimes
get rcu stall timeouts with backtraces like

[ 2753.194083] ([<0000000000112fb2>] show_trace+0x12a/0x130)
[ 2753.194092]  [<0000000000113024>] show_stack+0x6c/0xe8
[ 2753.194094]  [<00000000001ee6a8>] rcu_pending+0x358/0xa48
[ 2753.194099]  [<00000000001f20cc>] rcu_check_callbacks+0x84/0x168
[ 2753.194102]  [<0000000000167654>] update_process_times+0x54/0x80
[ 2753.194107]  [<00000000001bdb5c>] tick_sched_handle.isra.16+0x4c/0x60
[ 2753.194113]  [<00000000001bdbd8>] tick_sched_timer+0x68/0x90
[ 2753.194115]  [<0000000000182a88>] __run_hrtimer+0x88/0x1f8
[ 2753.194119]  [<00000000001838ba>] hrtimer_interrupt+0x122/0x2b0
[ 2753.194121]  [<000000000010d034>] do_extint+0x16c/0x170
[ 2753.194123]  [<00000000005e206e>] ext_skip+0x38/0x3e
[ 2753.194129]  [<000000000012157c>] gmap_test_and_clear_dirty+0xcc/0x118
[ 2753.194134] ([<00000000001214ea>] gmap_test_and_clear_dirty+0x3a/0x118)
[ 2753.194137]  [<0000000000132da4>] kvm_vm_ioctl_get_dirty_log+0xd4/0x1b0
[ 2753.194143]  [<000000000012ac12>] kvm_vm_ioctl+0x21a/0x548
[ 2753.194146]  [<00000000002b57f6>] do_vfs_ioctl+0x30e/0x518
[ 2753.194149]  [<00000000002b5a9c>] SyS_ioctl+0x9c/0xb0
[ 2753.194151]  [<00000000005e1ae6>] sysc_tracego+0x14/0x1a
[ 2753.194153]  [<000003ffb75f3972>] 0x3ffb75f3972

We should do a cond_resched in here.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2016-02-10 13:12:57 +01:00
..
diag.c KVM: Use common function for VCPU lookup by id 2015-11-30 12:47:04 +01:00
gaccess.c KVM: s390: gaccess: implement instruction fetching mode 2016-02-10 13:12:51 +01:00
gaccess.h KVM: s390: gaccess: implement instruction fetching mode 2016-02-10 13:12:51 +01:00
guestdbg.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
intercept.c KVM: s390: irq delivery should not rely on icptcode 2016-02-10 13:12:53 +01:00
interrupt.c KVM: s390: irq delivery should not rely on icptcode 2016-02-10 13:12:53 +01:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig KVM: s390: Enable the KVM-VFIO device 2016-01-26 15:40:17 +01:00
kvm-s390.c KVM: s390: do not block CPU on dirty logging 2016-02-10 13:12:57 +01:00
kvm-s390.h KVM: s390: PSW forwarding / rewinding / ilc rework 2016-02-10 13:12:49 +01:00
Makefile KVM: s390: Enable the KVM-VFIO device 2016-01-26 15:40:17 +01:00
priv.c KVM: s390: gaccess: introduce access modes 2016-02-10 13:12:50 +01:00
sigp.c KVM: s390: fix wrong lookup of VCPUs by array index 2015-11-19 14:47:43 +01:00
trace-s390.h KVM: s390: obey kptr_restrict in traces 2015-12-15 17:06:32 +01:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00