From: Tianyu Lan  Sent: Thursday, September 20, 2018 7:30 AM
> On 9/20/2018 12:08 AM, Michael Kelley (EOSG) wrote:
> > From: Tianyu Lan  Sent: Monday, September 17, 2018 8:19 PM
> >> +
> >> +                  if (ret && kvm_available_flush_tlb_with_range()) {
> >> +                          kvm_flush_remote_tlbs_with_address(kvm,
> >> +                                          gfn_start,
> >> +                                          gfn_end - gfn_start);
> >
> > Does the above need to be gfn_end - gfn_start + 1?
> 
> The flush range depends on the input parameter frame start and frame end
> of for_each_slot_rmap_range().
> 
>          for_each_slot_rmap_range(memslot, PT_PAGE_TABLE_LEVEL,
>                                   PT_MAX_HUGEPAGE_LEVEL,
>                                   gfn_start, gfn_end - 1,
>                                   &iterator)
>                  ret |= handler(kvm, iterator.rmap, memslot,
>                                 iterator.gfn, iterator.level, data);
> 
> 
> The start is "gfn_start" and the end is "gfn_end - 1". The flush size is
> (gfn_end - 1) - gfn_start + 1 = gfn_end - gfn_start.
> 

Got it.  I agree.

Michael
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to