From: Andrea Arcangeli
Date: Mon Mar 29 2004 - 17:48:52 EST
On Mon, Mar 29, 2004 at 12:48:03PM -0800, Andrew Morton wrote:
> Andrea Arcangeli <andrea@xxxxxxx> wrote:
> > Notably there is a BUG_ON(page->mapping) triggering in
> > page_remove_rmap in the pagecache case. that could be ex-pagecache being
> > removed from pagecache before all ptes have been zapped, infact the
> > page_remove_rmap triggers in the vmtruncate path.
> Confused. vmtruncate zaps the ptes before removing pages from pagecache,
> so I'd expect a non-null ->mapping in page_remove_rmap() is a very common
the bugcheck was for NULL ->mapping in page_remove_rmap:
I tend to forget the ! in the pseudocode in emails sorry (today I did it
twice, luckily I didn't get it wrong in the actual patches ;).
> thing. truncate a file which someone has mmapped and it'll happen every
> time, will it not?
as you say vmtruncate zaps the pte _first_, so the page->mapcount should
be down to 0 by the time we set page->mapping = NULL.
the thing I was wondering about is the controlled race where some page
can go out of pagecache despite still being mapped somewhere, that could
happen in the past IIRC.
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/