[Top][All Lists]

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

Re: [Qemu-devel] TB Chaining NOT Reset on TLB Flush??

From: amateur
Subject: Re: [Qemu-devel] TB Chaining NOT Reset on TLB Flush??
Date: Sun, 17 Jun 2007 11:11:36 +0800
User-agent: Mutt/1.5.13 (2006-08-11)

On Sat, Jun 16, 2007 at 02:27:05PM +0100, Paul Brook wrote:
> > I read from the Qemu internal documentation this:
> >     ``When MMU mappings change, only the chaining of the basic
> >     blocks is reset (i.e. a basic block can no longer jump directly
> >     to another one).''
> >
> > But when I read the code, I find that tlb_flush() doesn't reset the
> > chaining between TBs. Is that the intended behaviour?? Won't that
> > cause problems on guest context switch??
> The internals documentation is out of date. TBs are only chained directly 
> when 
> both source and destination are on the same page.
Thank you, Paul. I got it.

I can imagine that this decision is based on a performance evaluation,
right? But given that TLB flush(mov %cr3, %reg | invlpg) be a relative
rare case, it's hard to believe that reset the chaining on each TLB
flush would hurt the performance a lot. Can you shed some light on
where can I find some profiling data or performance statistics, or
links to some discussions on this?

You will not be elected to public office this year.

reply via email to

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