On Tue, Jun 30, 2009 at 06:20:00AM +0800, Christoph Lameter wrote:
> On Mon, 29 Jun 2009, [email protected] wrote:
>
> > Pages marked as isolated should not be allocated again. If such pages
> > reside in pcp list, they can be allocated too, so there is a ping-pong
> > memory offline frees some pages to pcp list and the pages get allocated
> > and then memory offline frees them again, this loop will happen again and
> > again.
>
> Isolated pages are freed? Could they not be kept on a separate
> list with refcount elevated until the isolation procedure is complete?
Yes, they can be freed and add into pcp list. Moving them to a separate list
is feasible, but the approach is more intrusive to me. As I explained in the
patch, adding check in buffered_rmqueue() should hasn't impact for normal path.
Thanks,
Shaohua