Re: Linux-2.4.20-pre8-aa2 oops report.

From: Srihari Vijayaraghavan (harisri@bigpond.com)
Date: Fri Oct 04 2002 - 22:09:45 EST


On Saturday 05 October 2002 12:47, Srihari Vijayaraghavan wrote:
> [1.] One line summary of the problem:
> 2.4.20-pre8aa2 Kernel oopsed couple of times.

A little more research reveals that the oops happens at the following function
in mm/memory.c

/*
 * remove user pages in a given range.
 */
void zap_page_range(struct mm_struct *mm, unsigned long address, unsigned long
size)
{
        mmu_gather_t *tlb;
        pgd_t * dir;
        unsigned long start = address, end = address + size;
        int freed = 0;

        dir = pgd_offset(mm, address);

        /*
         * This is a long-lived spinlock. That's fine.
         * There's no contention, because the page table
         * lock only protects against kswapd anyway, and
         * even if kswapd happened to be looking at this
         * process we _want_ it to get stuck.
         */
        if (address >= end)
                BUG();
        spin_lock(&mm->page_table_lock);
        flush_cache_range(mm, address, end);
        tlb = tlb_gather_mmu(mm);

        do {
                freed += zap_pmd_range(tlb, dir, address, end - address);
                address = (address + PGDIR_SIZE) & PGDIR_MASK;
                dir++;
        } while (address && (address < end));

        /* this will flush any remaining tlb entries */
        tlb_finish_mmu(tlb, start, end);

        /*
         * Update rss for the mm_struct (not necessarily current->mm)
         * Notice that rss is an unsigned long.
         */
        if (mm->rss > freed)
                mm->rss -= freed;
        else
                mm->rss = 0;
        spin_unlock(&mm->page_table_lock);
}

BTW I ran memtest2.x and memtest3.0 overnight few times in the past and it
always passed for more than 30 times or so everytime. I forgot to mention
this in my previous e-mail.

-- 
Hari
harisri@bigpond.com

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 07 2002 - 22:00:49 EST