> On 24/03/2016 16:39, Li, Liang Z wrote:
> > > Only if you write the arch specific thing for all arches.
> >
> > I plan to keep a function stub for each arch to implement. And I have
> > done that for X86.
> 
> Again: the ram_addr_t matching is internal to QEMU and can vary from
> release to release.  Do not do this.
> 

OK.  I got it  this time.

> > > I think the reason for the speedup that you observe is that you only
> > > need to translate ram_addr_t to GPA once per ramblock, which is much
> > > faster than translating GPA to ram_addr_t for each page.
> >
> > Yes, exactly!
> 
> You don't need to translate it once per page.  When QEMU copies the bitmap
> from guest memory to its own internal data structures, it can do so one block
> at a time with a function like
> 
>     void bitmap_copy_bits(unsigned long *dst, unsigned int dst_start,
>                           unsigned long *src, unsigned int src_start
>                         unsigned int nbits);
> 
> Paolo

Balloon can get benefit from this.

Thanks!

Liang

Reply via email to