lkml.org 
[lkml]   [2017]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] KVM:X86 simply update A/D bits route
    From
    Date
    On 12/10/2017 23:17, Peng Hao wrote:
    > update_accessed_dirty_bits return 0 when dirty/accessed bits are
    > not supported. So walk_addr_generic just call update_accessed_dirty_bits
    > with supporting dirty/accessed bits.
    >
    > Signed-off-by: Peng Hao <peng.hao2@zte.com.cn>
    > ---
    > arch/x86/kvm/paging_tmpl.h | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
    > index 86b68dc..b40f23e 100644
    > --- a/arch/x86/kvm/paging_tmpl.h
    > +++ b/arch/x86/kvm/paging_tmpl.h
    > @@ -422,7 +422,7 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker,
    > accessed_dirty &= pte >>
    > (PT_GUEST_DIRTY_SHIFT - PT_GUEST_ACCESSED_SHIFT);
    >
    > - if (unlikely(!accessed_dirty)) {
    > + if (unlikely(!accessed_dirty && have_ad)) {
    > ret = FNAME(update_accessed_dirty_bits)(vcpu, mmu, walker, write_fault);
    > if (unlikely(ret < 0))
    > goto error;
    >

    At least you would have to remove the corresponding conditional in
    update_accessed_dirty_bits, or change it to a WARN.

    But I don't see the point really... why is it _better_ to check in
    walk_addr_generic instead of update_accessed_dirty_bits?

    Paolo

    \
     
     \ /
      Last update: 2017-10-12 16:19    [W:3.149 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site