Messages in this thread | | | Date | Thu, 02 Apr 2009 19:19:15 +0300 | From | Avi Kivity <> | Subject | Re: [RFC PATCH 00/17] virtual-bus |
| |
Anthony Liguori wrote: >> I don't think we even need that to end this debate. I'm convinced we >> have a bug somewhere. Even disabling TX mitigation, I see a ping >> latency of around 300ns whereas it's only 50ns on the host. This >> defies logic so I'm now looking to isolate why that is. > > I'm down to 90us. Obviously, s/ns/us/g above. The exec.c changes > were the big winner... I hate qemu sometimes. > >
What, this:
> diff --git a/qemu/exec.c b/qemu/exec.c > index 67f3fa3..1331022 100644 > --- a/qemu/exec.c > +++ b/qemu/exec.c > @@ -3268,6 +3268,10 @@ uint32_t ldl_phys(target_phys_addr_t addr) > unsigned long pd; > PhysPageDesc *p; > > +#if 1 > + return ldl_p(phys_ram_base + addr); > +#endif > + > p = phys_page_find(addr >> TARGET_PAGE_BITS); > if (!p) { > pd = IO_MEM_UNASSIGNED; > @@ -3300,6 +3304,10 @@ uint64_t ldq_phys(target_phys_addr_t addr) > unsigned long pd; > PhysPageDesc *p; > > +#if 1 > + return ldq_p(phys_ram_base + addr); > +#endif > + > p = phys_page_find(addr >> TARGET_PAGE_BITS); > if (!p) { > pd = IO_MEM_UNASSIGNED;
The way I read it, it will run only run slowly once per page, then settle to a cache miss per page.
Regardless, it makes a memslot model even more attractive.
-- error compiling committee.c: too many arguments to function
| |