Sasha Levin
c5e015d494
KVM guest: exit idleness when handling KVM_PV_REASON_PAGE_NOT_PRESENT
KVM_PV_REASON_PAGE_NOT_PRESENT kicks cpu out of idleness, but we haven't
marked that spot as an exit from idleness.
Not doing so can cause RCU warnings such as:
[ 732.788386] ===============================
[ 732.789803] [ INFO: suspicious RCU usage. ]
[ 732.790032] 3.7.0-rc1-next-20121019-sasha-00002-g6d8d02d-dirty #63 Tainted: G W
[ 732.790032] -------------------------------
[ 732.790032] include/linux/rcupdate.h:738 rcu_read_lock() used illegally while idle!
[ 732.790032]
[ 732.790032] other info that might help us debug this:
[ 732.790032]
[ 732.790032]
[ 732.790032] RCU used illegally from idle CPU!
[ 732.790032] rcu_scheduler_active = 1, debug_locks = 1
[ 732.790032] RCU used illegally from extended quiescent state!
[ 732.790032] 2 locks held by trinity-child31/8252:
[ 732.790032] #0: (&rq->lock){-.-.-.}, at: [<ffffffff83a67528>] __schedule+0x178/0x8f0
[ 732.790032] #1: (rcu_read_lock){.+.+..}, at: [<ffffffff81152bde>] cpuacct_charge+0xe/0x200
[ 732.790032]
[ 732.790032] stack backtrace:
[ 732.790032] Pid: 8252, comm: trinity-child31 Tainted: G W 3.7.0-rc1-next-20121019-sasha-00002-g6d8d02d-dirty #63
[ 732.790032] Call Trace:
[ 732.790032] [<ffffffff8118266b>] lockdep_rcu_suspicious+0x10b/0x120
[ 732.790032] [<ffffffff81152c60>] cpuacct_charge+0x90/0x200
[ 732.790032] [<ffffffff81152bde>] ? cpuacct_charge+0xe/0x200
[ 732.790032] [<ffffffff81158093>] update_curr+0x1a3/0x270
[ 732.790032] [<ffffffff81158a6a>] dequeue_entity+0x2a/0x210
[ 732.790032] [<ffffffff81158ea5>] dequeue_task_fair+0x45/0x130
[ 732.790032] [<ffffffff8114ae29>] dequeue_task+0x89/0xa0
[ 732.790032] [<ffffffff8114bb9e>] deactivate_task+0x1e/0x20
[ 732.790032] [<ffffffff83a67c29>] __schedule+0x879/0x8f0
[ 732.790032] [<ffffffff8117e20d>] ? trace_hardirqs_off+0xd/0x10
[ 732.790032] [<ffffffff810a37a5>] ? kvm_async_pf_task_wait+0x1d5/0x2b0
[ 732.790032] [<ffffffff83a67cf5>] schedule+0x55/0x60
[ 732.790032] [<ffffffff810a37c4>] kvm_async_pf_task_wait+0x1f4/0x2b0
[ 732.790032] [<ffffffff81139e50>] ? abort_exclusive_wait+0xb0/0xb0
[ 732.790032] [<ffffffff81139c25>] ? prepare_to_wait+0x25/0x90
[ 732.790032] [<ffffffff810a3a66>] do_async_page_fault+0x56/0xa0
[ 732.790032] [<ffffffff83a6a6e8>] async_page_fault+0x28/0x30
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Acked-by: Gleb Natapov <gleb@redhat.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2012-10-22 18:03:28 +02:00
..
2012-10-01 13:59:17 -07:00
2012-09-19 17:32:48 +02:00
2012-10-02 18:01:26 +01:00
2012-10-01 10:47:45 -07:00
2012-03-28 16:36:31 +02:00
2012-07-22 16:07:45 -07:00
2011-07-23 10:34:47 -07:00
2012-06-06 11:58:38 +02:00
2012-06-06 09:17:22 +02:00
2011-11-17 13:35:37 -08:00
2012-02-20 12:52:06 -08:00
2011-12-12 14:26:10 -08:00
2012-05-15 15:36:41 -07:00
2012-09-23 07:43:56 -07:00
2012-03-20 21:48:15 +08:00
2011-03-23 19:47:19 -07:00
2011-10-10 06:56:57 +02:00
2012-08-21 22:16:57 +02:00
2012-06-20 14:33:48 +02:00
2012-06-20 14:33:48 +02:00
2012-06-20 14:33:48 +02:00
2012-07-30 17:25:17 -07:00
2012-07-22 15:47:52 +02:00
2011-03-16 14:03:32 +01:00
2012-10-01 13:59:17 -07:00
2012-10-01 13:59:17 -07:00
2012-07-19 13:20:37 -04:00
2012-05-08 11:46:05 -07:00
2012-05-08 11:46:05 -07:00
2012-09-26 15:06:22 -07:00
2012-05-29 20:14:53 -07:00
2011-07-14 11:47:53 -07:00
2012-05-25 15:32:29 +02:00
2010-12-30 12:20:28 +01:00
2012-09-21 16:59:04 -07:00
2011-03-23 22:15:54 +01:00
2011-07-01 10:37:14 +02:00
2012-08-22 09:34:24 +02:00
2011-02-17 14:59:22 +01:00
2012-05-08 14:08:44 +02:00
2011-12-07 09:27:11 +01:00
2010-10-18 19:58:50 +02:00
2012-10-01 11:13:33 -07:00
2012-06-27 19:29:13 -07:00
2011-12-06 20:41:02 +01:00
2012-07-26 15:07:20 +02:00
2012-06-18 10:53:18 +02:00
2012-03-06 09:49:49 +01:00
2012-03-06 09:49:49 +01:00
2012-09-20 14:48:16 +02:00
2012-10-22 18:03:28 +02:00
2012-06-11 23:18:33 -03:00
2012-03-28 18:11:12 +01:00
2012-03-28 18:11:12 +01:00
2010-09-22 15:36:49 -07:00
2012-10-04 09:30:33 -07:00
2012-09-19 18:06:25 +02:00
2012-10-01 11:15:17 -07:00
2012-08-22 16:15:58 -07:00
2010-11-18 13:41:35 +01:00
2012-07-24 13:34:56 -07:00
2012-05-29 20:14:53 -07:00
2012-09-23 07:43:56 -07:00
2012-06-20 14:23:17 +02:00
2012-06-08 18:51:12 -04:00
2012-06-07 11:41:08 -07:00
2012-06-06 09:17:22 +02:00
2012-06-25 13:48:30 +02:00
2011-05-10 10:21:35 +02:00
2012-05-21 15:09:38 +02:00
2012-03-28 16:36:31 +02:00
2012-09-19 17:08:40 +02:00
2012-09-05 10:52:25 +02:00
2012-09-18 15:52:11 -07:00
2012-09-18 15:52:11 -07:00
2012-09-18 15:52:22 -07:00
2012-10-01 11:10:52 -07:00
2010-11-28 09:33:20 +01:00
2012-06-12 09:10:54 -06:00
2010-11-12 00:45:41 +01:00
2012-07-22 12:25:47 -07:00
2011-07-21 11:19:28 +02:00
2011-07-21 11:19:28 +02:00
2010-12-17 10:01:30 -08:00
2011-12-05 17:09:21 +01:00
2012-06-14 12:42:11 +02:00
2012-10-04 09:30:33 -07:00
2012-10-01 13:59:17 -07:00
2012-05-14 11:49:38 +02:00
2012-08-23 10:45:13 +02:00
2011-06-14 22:48:51 -04:00
2012-09-15 17:37:30 +02:00
2010-09-03 08:16:02 +02:00
2012-03-29 18:12:23 -07:00
2011-11-18 16:25:07 -08:00
2012-02-20 12:52:06 -08:00
2012-05-08 15:04:27 -07:00
2012-03-28 18:11:12 +01:00
2011-05-21 19:10:33 +02:00
2012-04-20 13:51:38 -07:00
2012-05-17 19:06:13 -04:00
2012-03-29 14:28:26 -07:00
2011-10-31 19:30:35 -04:00
2012-10-01 11:10:52 -07:00
2012-02-22 11:49:40 +01:00
2012-06-06 09:17:22 +02:00
2012-09-15 17:37:32 +02:00
2011-03-18 10:39:30 +01:00
2012-06-06 09:17:22 +02:00
2012-05-08 11:46:05 -07:00
2012-07-06 11:00:22 +02:00
2012-07-22 12:04:44 -07:00
2011-08-10 19:26:46 -05:00
2011-08-04 16:13:53 -07:00
2012-09-12 15:33:06 +02:00
2012-08-23 11:26:36 -04:00
2012-09-25 15:42:18 -07:00