Re: VM-related Oops: 2.4.15pre1

Marcelo Tosatti (marcelo@conectiva.com.br)
Mon, 19 Nov 2001 18:01:10 -0200 (BRST)


On Mon, 19 Nov 2001, Linus Torvalds wrote:

>
> On Mon, 19 Nov 2001, Simon Kirby wrote:
> >
> > So, uh, any idea why the server is hitting the page->mapping BUG() thing
> > in the first place? :)
>
> No.
>
> I suspect that your earlier oopses left something in a stale state - this
> is the same machine that you've reported others oopses for, no?

Linus,

I was talking with Rik today about 2.5 VM plans and we end up talking
about the order of the pagecache_lock and pagemap_lru_lock. He ended up
showing me add_to_page_cache(), which now looks like:

We ended up talking about the possibility of a reschedule (IRQ) happening
before after the "spin_unlock(pagecache_lock)" but before the
"lru_cache_add()".

I haven't investigated the issue yet... But isn't that possible ?

void add_to_page_cache(struct page * page, struct address_space * mapping,
unsigned long offset)
{
spin_lock(&pagecache_lock);
__add_to_page_cache(page, mapping, offset, page_hash(mapping,
offset));
spin_unlock(&pagecache_lock);
lru_cache_add(page);
}

-
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/