qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] outlined TLB lookup on x86


From: Peter Maydell
Subject: Re: [Qemu-devel] outlined TLB lookup on x86
Date: Wed, 22 Jan 2014 17:35:33 +0000

On 22 January 2014 17:32, Richard Henderson <address@hidden> wrote:
> On 01/22/2014 08:55 AM, Peter Maydell wrote:
>> Has anybody ever looked at implementing proper TLB contexts?
>
> I've thought about it.  The best I could come up with is a pointer within ENV
> that points to the current TLB context.  It definitely adds another load insn
> on the fast path, but we should be able to schedule that first, since it
> depends on nothing but the mem_index constant.  Depending on the schedule, it
> may require reserving another register on the fast path, which could be a
> problem for i686.
>
> It would also greatly expand the size of ENV.
>
> E.g. Alpha would need to implement 256 contexts to match the hardware.  We
> currently get away with pretending to implement contexts by implementing none
> at all, and flushing the TLB at every context change.

I don't really know the details of Alpha, but can you get away with just
"we implement N contexts, and only actually keep the most recently
used N"? This is effectively what we're doing at the moment, with N==1.

(ASIDs on ARM are 16 bit now, so we definitely wouldn't want to keep
an entire TLB for each ASID; if we ever implemented virtualization there's
another 8 bits of VMID and each VMID has its own ASID range...)

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]