Re: Page allocator: Single Zone optimizations

Andrew Morton
2006-11-01T21:46:04Z

On Wed, 1 Nov 2006 13:00:55 -0800 (PST)
Christoph Lameter <clameter@sgi.com> wrote:

> On Wed, 1 Nov 2006, Andrew Morton wrote:
>
> > And hot-unplug isn't actually the interesting application. Modern Intel
> > memory controllers apparently have (or will have) the ability to power down
> > DIMMs.
>
> Plus one would want to be able to move memory out of an area where we may
> have a bad DIMM. If we monitor soft ECC failures then we could also
> judge a DIMM to be bad if we have a too high soft failure rate.
>
> If there is a hard failure and we can recover (page cache page f.e.)
> then we could preemptively disable the complete DIMM.

Point.

> I still think that we need to generalize the approach to be
> able to cover as much memory as possible. Remapping can solve some of the
> issues, for others we could add additional ways to make things movable.
> F.e. one could make page table pages movable by adding a back pointer to
> the mm, reclaimable slab pages by adding a move function, driver
> allocations could have a backpointer to the driver that would be able to
> move its memory. Hmm.... Maybe generally a way to provide a
> function to move data in the page struct for kernel allocations?

Sounds hard. That's all Version 2 ;)

(For example, I do recall working out that going from a slab-page up to a
buffer_head and then reclaiming that buffer_head is basically impossible
from a locking POV, but I forget the details..)