Re: [PATCH] Remove softlockup from invalidate_mapping_pages.

From: Jens Axboe
Date: Thu Apr 20 2006 - 05:30:40 EST


On Thu, Apr 20 2006, Neil Brown wrote:
> On Thursday April 20, akpm@xxxxxxxx wrote:
> > > Cc: "Steinar H. Gunderson" <sgunderson@xxxxxxxxxxx>
> > > Signed-off-by: Neil Brown <neilb@xxxxxxx>
> > >
> > > ### Diffstat output
> > > ./mm/truncate.c | 10 ++++------
> > > 1 file changed, 4 insertions(+), 6 deletions(-)
> > >
> > > diff ./mm/truncate.c~current~ ./mm/truncate.c
> > > --- ./mm/truncate.c~current~ 2006-04-20 15:27:22.000000000 +1000
> > > +++ ./mm/truncate.c 2006-04-20 15:38:20.000000000 +1000
> > > @@ -238,13 +238,11 @@ unsigned long invalidate_mapping_pages(s
> > > for (i = 0; i < pagevec_count(&pvec); i++) {
> > > struct page *page = pvec.pages[i];
> > >
> > > - if (TestSetPageLocked(page)) {
> > > - next++;
> > > + next = page->index+1;
> > > +
> > > + if (TestSetPageLocked(page))
> > > continue;
> > > - }
> > > - if (page->index > next)
> > > - next = page->index;
> > > - next++;
> > > +
> > > if (PageDirty(page) || PageWriteback(page))
> > > goto unlock;
> > > if (page_mapped(page))
> >
> > We're not supposed to look at page->index of an unlocked page.
>
> We're not? Does Jens know that?
> __generic_file_splice_read seems to violate this principle!

Hmmm, where?


--
Jens Axboe

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