lkml.org 
[lkml]   [2012]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v2 03/10] KVM: introduce KVM_PFN_ERR_HWPOISON
    Then, get_hwpoison_pfn and is_hwpoison_pfn can be removed

    Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
    ---
    arch/x86/kvm/mmu.c | 2 +-
    include/linux/kvm_host.h | 2 +-
    virt/kvm/kvm_main.c | 13 +------------
    3 files changed, 3 insertions(+), 14 deletions(-)

    diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
    index 39ed315..924b4e8 100644
    --- a/arch/x86/kvm/mmu.c
    +++ b/arch/x86/kvm/mmu.c
    @@ -2651,7 +2651,7 @@ static void kvm_send_hwpoison_signal(unsigned long address, struct task_struct *
    static int kvm_handle_bad_page(struct kvm_vcpu *vcpu, gfn_t gfn, pfn_t pfn)
    {
    kvm_release_pfn_clean(pfn);
    - if (is_hwpoison_pfn(pfn)) {
    + if (pfn == KVM_PFN_ERR_HWPOISON) {
    kvm_send_hwpoison_signal(gfn_to_hva(vcpu->kvm, gfn), current);
    return 0;
    }
    diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
    index 4c39543..cbd5af8 100644
    --- a/include/linux/kvm_host.h
    +++ b/include/linux/kvm_host.h
    @@ -49,6 +49,7 @@
    (KVM_MMIO_SIZE / KVM_USER_MMIO_SIZE + KVM_EXTRA_MMIO_FRAGMENTS)

    #define KVM_PFN_ERR_FAULT (-EFAULT)
    +#define KVM_PFN_ERR_HWPOISON (-EHWPOISON)

    /*
    * vcpu->requests bit members
    @@ -396,7 +397,6 @@ extern struct page *bad_page;

    int is_error_page(struct page *page);
    int is_error_pfn(pfn_t pfn);
    -int is_hwpoison_pfn(pfn_t pfn);
    int is_noslot_pfn(pfn_t pfn);
    int is_invalid_pfn(pfn_t pfn);
    int kvm_is_error_hva(unsigned long addr);
    diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
    index 9c084f8..f17ce44 100644
    --- a/virt/kvm/kvm_main.c
    +++ b/virt/kvm/kvm_main.c
    @@ -948,17 +948,6 @@ static pfn_t get_bad_pfn(void)
    return -ENOENT;
    }

    -static pfn_t get_hwpoison_pfn(void)
    -{
    - return -EHWPOISON;
    -}
    -
    -int is_hwpoison_pfn(pfn_t pfn)
    -{
    - return pfn == -EHWPOISON;
    -}
    -EXPORT_SYMBOL_GPL(is_hwpoison_pfn);
    -
    int is_noslot_pfn(pfn_t pfn)
    {
    return pfn == -ENOENT;
    @@ -1124,7 +1113,7 @@ static pfn_t hva_to_pfn(unsigned long addr, bool atomic, bool *async,
    if (npages == -EHWPOISON ||
    (!async && check_user_page_hwpoison(addr))) {
    up_read(&current->mm->mmap_sem);
    - return get_hwpoison_pfn();
    + return KVM_PFN_ERR_HWPOISON;
    }

    vma = find_vma_intersection(current->mm, addr, addr+1);
    --
    1.7.7.6


    \
     
     \ /
      Last update: 2012-08-03 10:21    [W:0.024 / U:121.940 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site