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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2010-05-14 at 14:32 -0400, Mathieu Desnoyers wrote:

> [CCing memory management specialists]

And jet you forgot Jens who wrote it ;-)

> So I have three questions here:
> 
> 1 - could we enforce removal of these pages from the page cache by calling
>     "page_cache_release()" before giving these pages back to the ring buffer ?
> 
> 2 - or maybe is there a page flag we could specify when we allocate them to
>     ask for these pages to never be put in the page cache ? (but they should be
>     still usable as write buffers)
> 
> 3 - is there something more we need to do to grab a reference on the pages
>     before passing them to splice(), so that when we call page_cache_release()
>     they don't get reclaimed ? 

There is no guarantee it is the pagecache they end up in, it could be a
network packet queue, a pipe, or anything that implements .splice_write.

>From what I understand of splice() is that it assumes it passes
ownership of the page, you're not supposed to touch them again, non of
the above three are feasible.



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]