Re: [patch 2/13] remove pages from the LRU in __free_pages_ok()

Linus Torvalds
2002-07-29T04:19:26Z

On Sun, 28 Jul 2002, Andrew Morton wrote:
> truncate_complete_page() _used_ to explicitly remove the page from
> the lru, but we took that out. And it was never reliable anyway,
> because some pages were left there (invalidatepage failed).

I think we should try to fix invalidatepage instead, and just always
remove it from the LRU.

(If invalidatepage fails, we can just leave the page as an anonymous page
_off_ the LRU, and let whoever holds a reference to the page eventually
drop it, whatever).

> Anyway. I have patches against 2.5.24, which work, which
> turn pagemap_lru_lock into an innermost, irq-safe lock. If
> we get that in place then page_cache_release() from IRQ context
> is fine.

I'd _really_ really prefer to go the other way. I think this brokenness is
all from that one broken patch that removed the "remove from LRU".

And from what I can tell, that broken patch has no real point to it
anyway.

Linus