Re: [PATCH][KVM][retry 3] Add support for Pause Filtering to AMDSVM

From: Avi Kivity
Date: Wed May 20 2009 - 05:18:14 EST


Peter Zijlstra wrote:
It's a fully virtualized guest. There's no way to get this without patching the guest kernel.
Yes there is.. virtualized monitor-wait stuff coupled with a
monitor-wait based spinlock implementation.
That only works if the guest uses monitor/mwait. Not all of the guests are under our control. I don't know whether Windows uses monitor/mwait. Further, we don't have timed exits on mwait like we do with pause.

Ugh, you really care about crap like windows?

Yes, it is used by my users. Either we convince them not to use Windows, or we find a way to support it well.

I've also heard that monitor/mwait are very slow and only usable on idle loop stuff.

Yeah, current implementations suck, doesn't mean it has to stay that
way.

Well, I'm not speculating on future cpu changes. I'd like to support current and near-future software and hardware, not how it should have been done software running on how it should have been done hardware.

Once we go change silicon, you might as well do it right.
None of the major x86 vendors are under my control.

I thought this patch came from AMD, who changed their silicon so 'solve'
one of these virt problems.

They changed the silicon to support existing guests. For both Linux and Windows, the pause instruction is the only indication the guest is spinning.

/me goes hide again, and pretend all of virt doesn't exist :-) Think
happy thoughts.

You'll end up running permanently in a guest, with no way out.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/