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

Re: Some pulseaudio questions...



On Mon, Jun 08, 2009 at 03:24:00AM -0400, Jon Masters wrote:
> On Sat, 2009-06-06 at 19:01 -0400, Kyle McMartin wrote:
> > On Sun, Jun 07, 2009 at 12:51:02AM +0200, Lennart Poettering wrote:
> > > What would be good to have would be a "swap niceness" value that could
> > > be attached to a processes or memory regions. i.e. some way to
> > > influence the swapping algorithm in a less binary way than just "swap
> > > this" or "don't swap this".
> 
> > I've been working on this along with some enhancements to make fadvise
> > more than utterly useless... hopefully will be ready for posting soon.
> 
> Main problem is proving its utility with actual benchmarks - witness the
> recent first class citizen VM patch thread.
> 

Nrgh, hate reply-to headers.

Anyway, this is not one of those 'subjective' things like tweaking
schedulers or pageout algorithms. It's about giving developers the
ability to control pageout and replacement policy.

For instance, if you're working on gvfs, and are copying a file
to a remote host, what are the odds that you want to waste 4GB of memory
caching the entireity of it? Almost zero. If it's a video, you may want
to keep the first, say, 5%, and then recycle another 5% as a window
while you copy. (The first 5% in case the user decides to play it.)

If you're running a large webserver, say, mirrors.kernel.org, you may
want your most-commonly-accessed files to stay in page cache. You
wouldn't want someone downloading a whole bunch of ancient kernels to
cause 2.6.30 to get evicted... Providing this control is important,
because it's impossible to do one-size-fits-all without hints.

Rik's VM patches that make the replacement policy tend towards not
evicting executable pages help a lot in this regard in a fairly obvious
way.

Anyway, we're well out of the realm of relevance to f-devel. Feel free
to ping me off-list about it if you'd like.

Kyle


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