On Thu, Nov 28, 2013 at 8:12 AM, Lluís Vilanova <vilan...@ac.upc.edu> wrote:

> Xin Tong writes:
>
> > Hi LIuis
> > we can probably generate vector intrinsics using the tcg, e.g. add
> support to
> > tcg to emit vector instructions directly in code cache
>
> There was some discussion long ago about adding vector instructions to
> TCG, but
> I don't remember what was the conclusion.
>
> Also remember that using vector instructions will "emulate" a
> low-associativity
> TLB; don't know how much better than a 1-way TLB will that be, though.
>
>
> > why would a larger TLB make some operations slower, the TLB is a
> direct-mapped
> > hash and lookup should be O(1) there. In the cputlb, the CPU_TLB_SIZE is
> always
> > used to index into the TLB, i.e. (X & (CPU_TLB_SIZE -1)).
>
> It would make TLB invalidations slower (e.g., see 'tlb_flush' in
> "cputlb.c"). And right now QEMU performs full TLB invalidations more
> frequently
> than the equivalent HW needs to, although I suppose that should be
> quantified
> too.
>
> you are right LIuis. QEMU does context switch quite more often that real
hw, this is probably primarily due to the fact that QEMU is magnitude
slower than real hw.  I am wondering where timer is emulated in QEMU
system-x86_64. I imagine the guest OS must program the timers to do
interrupt for context switches.

Another question, what happens when a vcpu is stuck in an infinite loop ?
QEMU must need an timer interrupt somewhere as well ?

Is my understanding correct ?

Xin  

>
> Lluis
>
> --
>  "And it's much the same thing with knowledge, for whenever you learn
>  something new, the whole world becomes that much richer."
>  -- The Princess of Pure Reason, as told by Norton Juster in The Phantom
>  Tollbooth
>

Reply via email to