Re: [RFC] Tracer Ring Buffer splice() vs page cache [was: Re: Perfand ftrace [was Re: PyTimechart]]

From: Peter Zijlstra
Date: Tue May 18 2010 - 08:20:14 EST


On Mon, 2010-05-17 at 18:42 -0400, Mathieu Desnoyers wrote:
> I'll continue to look into this. One of the things I noticed that that we could
> possibly use the "steal()" operation to steal the pages back from the page cache
> to repopulate the ring buffer rather than continuously allocating new pages. If
> steal() fails for some reasons, then we can fall back on page allocation. I'm
> not sure it is safe to assume anything about pages being in the page cache
> though.

Also, suppose it was still in the page-cache and still dirty, a steal()
would then punch a hole in the file.

> Maybe the safest route is to just allocate new pages for now.

Yes, that seems to be the only sane approach.
--
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/