Re: [PATCH][RFC] splice support

From: KAMEZAWA Hiroyuki
Date: Thu Mar 30 2006 - 03:50:04 EST


On Wed, 29 Mar 2006 14:28:41 +0200
Jens Axboe <axboe@xxxxxxx> wrote:
>
> + /*
> + * Get as many pages from the page cache as possible..
> + * Start IO on the page cache entries we create (we
> + * can assume that any pre-existing ones we find have
> + * already had IO started on them).
> + */
> + i = find_get_pages(mapping, index, pages, array);
> +

It looks page caches in this array is hold by pipe until data is consumed.
So..this page cannot be reclaimd or migrated and hot-removed :).
I don't know about sendfile() but this looks client can hold server's memory,
when server uses sendfile() 64k/conn.

Is there a way to force these pages to be freed ? or page reclaimer can
know this page is held by splice ? (we need additional PG_flags to do this ?)

I think these pages are necessary to be held only when data in them is used.

--Kame


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/