Remove MWAIT functionality from the VM guest.
authorGan Shun <ganshun@gmail.com>
Tue, 11 Jul 2017 21:14:04 +0000 (14:14 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 12 Jul 2017 15:51:36 +0000 (11:51 -0400)
commita7f384167b754c031ecbb30b31c9b944e80fcac9
treebeb63197d63d897067030a89f83e69fccb6adef9
parent9881945fe3f34a29c1760b175a074b98559c8472
Remove MWAIT functionality from the VM guest.

Turns out linux uses MONITOR/MWAIT to wake up AP cores when they have
work. We don't support proper MONITOR/MWAIT for VM guests so our only
solution right now is to turn it off.

Turns out this is the reason SMP VM guests were slow. The issue wasn't
the timer at all, but my old implementation of the timer covered up the
bug as I rammed every core with timer interrupts. That masked the fact
that guest cores were waiting on some address that we never actually
monitored.

Signed-off-by: Gan Shun <ganshun@gmail.com>
Change-Id: Ie21f8137aa2ec2312f907b8fd4b6c9685fdf5a9d
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/x86/trap.c
user/vmm/vmexit.c