Messages in this thread | | | Date | Thu, 05 Sep 2002 00:07:42 -0700 | From | Andrew Morton <> | Subject | Re: Race in shrink_cache |
| |
Daniel Phillips wrote: > > ... > /* > * We must not allow an anon page > * with no buffers to be visible on > * the LRU, so we unlock the page after > * taking the lru lock > */ > > That is, what's scary about an anon page without buffers?
ooop. That's an akpm comment. umm, err..
It solves this BUG:
http://www.cs.helsinki.fi/linux/linux-kernel/2001-37/0594.html
Around the 2.4.10 timeframe, Andrea started putting anon pages on the LRU. Then he backed that out, then put it in again. I think this comment dates from the time when anon pages were not on the LRU. So there's a little window there where the page is unlocked, we've just dropped its swapdev buffers, the page is on the LRU and pagemap_lru_lock is not held.
So another CPU came in, found the page on the LRU, saw that it had no ->mapping and no ->buffers and went BUG.
The fix was to take pagemap_lru_lock before unlocking the page.
The comment is stale. - 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/
| |