lkml.org 
[lkml]   [2012]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 1/3] mm: add rss counters consistency check
    From
    Date
    This patch warn about non-zero rss counters at final mmdrop.

    Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
    ---
    kernel/fork.c | 21 ++++++++++++++++++---
    1 files changed, 18 insertions(+), 3 deletions(-)

    diff --git a/kernel/fork.c b/kernel/fork.c
    index da4a6a1..67a79dd 100644
    --- a/kernel/fork.c
    +++ b/kernel/fork.c
    @@ -507,6 +507,23 @@ static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p)
    return NULL;
    }

    +static void check_mm(struct mm_struct *mm)
    +{
    + int i;
    +
    + for (i = 0; i < NR_MM_COUNTERS; i++) {
    + long x = atomic_long_read(&mm->rss_stat.count[i]);
    +
    + if (unlikely(x))
    + printk(KERN_ALERT "BUG: Bad rss-counter state "
    + "mm:%p idx:%d val:%ld\n", mm, i, x);
    + }
    +
    +#ifdef CONFIG_TRANSPARENT_HUGEPAGE
    + VM_BUG_ON(mm->pmd_huge_pte);
    +#endif
    +}
    +
    /*
    * Allocate and initialize an mm_struct.
    */
    @@ -534,9 +551,7 @@ void __mmdrop(struct mm_struct *mm)
    mm_free_pgd(mm);
    destroy_context(mm);
    mmu_notifier_mm_destroy(mm);
    -#ifdef CONFIG_TRANSPARENT_HUGEPAGE
    - VM_BUG_ON(mm->pmd_huge_pte);
    -#endif
    + check_mm(mm);
    free_mm(mm);
    }
    EXPORT_SYMBOL_GPL(__mmdrop);


    \
     
     \ /
      Last update: 2012-01-06 18:41    [W:0.020 / U:33.416 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site