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

Ed Tomlinson
2002-07-30T11:26:59Z

Linus Torvalds wrote:

> On Sun, 28 Jul 2002, David S. Miller wrote:
>>
>> So when the user's reference is dropped, does that operation kill it
>> from the LRU or will the socket's remaining reference to that page
>> defer the LRU removal?
>
> That is indeed the question. Right now it will defer, which looks like a
> bug. Or at least it is a bug without the interrupt-safe LRU manipulations.
>
> I'm starting to be more convinced about Andrew's alternate patch, the
> "move LRU lock innermost and make it irq-safe".
>
> Which also would make it saner to do the LRU handling inside
> __put_pages_ok() (and actually remove the BUG_ON(in_interrupt()) that
> Andrew had there in the old patch).

This would also make slablru easier. We could just set the 'release me'
flag when slabs are chained to the free list. In vmscan we make sure we
check if the page is referenced before the release logic.

Ed Tomlinson