[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <64bb37e0710031036q228b63a8nf03d030b7d97b27f@mail.gmail.com>
Date: Wed, 3 Oct 2007 19:36:55 +0200
From: "Torsten Kaiser" <just.for.lkml@...glemail.com>
To: "Matt Mackall" <mpm@...enic.com>
Cc: "Tejun Heo" <htejun@...il.com>, "Jeff Garzik" <jeff@...zik.org>,
linux-kernel@...r.kernel.org, akpm@...ux-foundation.org
Subject: Re: sata_sil24 broken since 2.6.23-rc4-mm1
On 10/3/07, Matt Mackall <mpm@...enic.com> wrote:
> On Wed, Oct 03, 2007 at 05:55:10PM +0200, Torsten Kaiser wrote:
> > This patch removes clear_refs_smap() from fs/proc/task_mmu.c by moving
> > its code to a new function. But during the move the main for-loop from
> > clear_refs_smap was changed:
> >
> > old:
> > for (vma = mm->mmap; vma; vma = vma->vm_next)
> > if (vma->vm_mm && !is_vm_hugetlb_page(vma))
> > walk_page_range(vma->vm_mm, vma->vm_start, vma->vm_end,
> > &clear_refs_walk, vma);
> >
> > new:
> > for (vma = mm->mmap; vma; vma = vma->vm_next)
> > if (!is_vm_hugetlb_page(vma))
> > walk_page_range(mm, vma->vm_start, vma->vm_end,
> > &clear_refs_walk, vma);
> >
> > The walk_page_range() is no longer called on vma->vm_mm, but on mm directly.
> > I don't know how this can kill the sata_sil24-driver, but at least it
> > looks suspicious.
>
> That code should be fine. Further, it's pretty unlikely that this code
> ever gets invoked. This whole interface was only recently added by
> Google folks and its usage is pretty obscure.
>
> Oh wait - you're _at_ Google, aren't you? Perhaps you're actually
> using clear_refs.
No. I'm just using Google Mail.
And I'm not using any additional patches apart from what is in the mm-patchset.
> Well I can see no reason why the vma we just got to by the mm->mmap
> would have a vm_mm != mm, but I've certainly been wrong before.
>
> Try changing it to:
>
> for (vma = mm->mmap; vma; vma = vma->vm_next)
> if (!is_vm_hugetlb_page(vma)) {
> if (vma->vm_mm != mm)
> printk("WTF: vma->vm_mm %p mm %p\n",
> vma->vm_mm, mm);
> walk_page_range(vma->vm_mm, vma->vm_start, vma->vm_end,
> &clear_refs_walk, vma);
> }
Will try this, but as the error only seems to trigger, if I leave the
pc powered off for more then a hour, you will need to wait until
tomorrow.
Of note might be, that at the time of this error init has not been
started. I'm using a program from initramfs to start the RAID.
The initramfs was primarily build using the genkernel package from
gentoo, but I have removed some parts of it (kernel modules and some
other part I no longer remember)
Torsten
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists