lkml.org 
[lkml]   [2012]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/4] KVM: MMU: Make kvm_handle_hva() handle range of addresses
I should have read this before sending v2...

On Thu, 21 Jun 2012 11:24:59 +0300
Avi Kivity <avi@redhat.com> wrote:

> > 1. Separate rmap_pde from lpage_info->write_count and
> > make this a simple array. (I once tried this.)
> >
>
> This has the potential to increase cache misses, but I don't think it's
> a killer. The separation can simplify other things as well.

Yes, I think so too.

IIRC, write_count and rmap_pde are not used together so often.

> > 2. Use gfn_to_index() and loop over rmap array:

...

> > /* main part */
> > for each level {
> > rmapp = __gfn_to_rmap(gfn_start, level, memslot);
> > for (idx = gfn_to_index(gfn_start, memslot->base_gfn, level);
> > idx < gfn_to_index(gfn_end, memslot->base_gfn, level); idx++) {
> > ...
> > /* loop over rmap array */
> > ret |= handler(kvm, rmapp + idx, data);
> > }
> > }
> >
>
> Probably want idx <= gfn_to_index(gfn_end-1, ...) otherwise we fail on
> small slots.

I was thinking the same thing when making v2.
But I will check the boundary condition again.

(mmu_notifier + memslot + lpage + rmap...) * alignment...
Very confusing.

Thanks,
Takuya


\
 
 \ /
  Last update: 2012-06-21 16:21    [W:0.060 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site