From: Avi Kivity on
On 11/10/2009 08:02 AM, H. Peter Anvin wrote:
> On 11/09/2009 09:27 PM, Willy Tarreau wrote:
>
>> Also, I think that if we start adding emulation, a global and per-task
>> counter would immensely help to know what processes make intensive use
>> of emulation.
>>
>>
> Agreed.
>
> My first question would be if the interpreter in KVM can be reused in
> any way.
>
>

In theory yes. There would need to be a bit of work to disassociate it
from kvm, but nothing too difficult.

Note that the kvm x86 emulator is more general than need be (emulates
real mode code and cpl 0 instructions) and less general than needed
(many instructions are not emulated, for example nopl).

--
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(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Alan Cox on
> In theory yes. There would need to be a bit of work to disassociate it
> from kvm, but nothing too difficult.

For the tiny cases that actually matter using the KVM code appears a bit
over the top.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: H. Peter Anvin on
On 11/10/2009 02:41 AM, Avi Kivity wrote:
>
> In theory yes. There would need to be a bit of work to disassociate it
> from kvm, but nothing too difficult.
>
> Note that the kvm x86 emulator is more general than need be (emulates
> real mode code and cpl 0 instructions) and less general than needed
> (many instructions are not emulated, for example nopl).
>

Yes, but I suspect that adding new instructions probably is
straightforward. I would still prefer to have a single interpreter in
the kernel as opposed to two different ones which are going to have
different bugs.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: H. Peter Anvin on
On 11/10/2009 02:56 AM, Alan Cox wrote:
>> In theory yes. There would need to be a bit of work to disassociate it
>> from kvm, but nothing too difficult.
>
> For the tiny cases that actually matter using the KVM code appears a bit
> over the top.

In the short term, yes, of course. However, if we're going to do
emulation, we might as well do it right.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Alan Cox on
On Tue, 10 Nov 2009 09:08:20 -0800
"H. Peter Anvin" <hpa(a)zytor.com> wrote:

> On 11/10/2009 02:56 AM, Alan Cox wrote:
> >> In theory yes. There would need to be a bit of work to disassociate it
> >> from kvm, but nothing too difficult.
> >
> > For the tiny cases that actually matter using the KVM code appears a bit
> > over the top.
>
> In the short term, yes, of course. However, if we're going to do
> emulation, we might as well do it right.

Why is using KVM doing it right ? It sounds like its doing it slowly,
and hideously memory inefficiently. You are solving an uninteresting
general case problem when you just need two tiny fixups (or perhaps 3 if
you want to fix up early x86-64 prefetch)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/