Re: [PATCH] mm: yield during swap prefetching

Con Kolivas
2006-03-08T01:27:36Z

On Wed, 8 Mar 2006 12:23 pm, Andrew Morton wrote:
> Con Kolivas <kernel@kolivas.org> wrote:
> > > but, but. If prefetching is prefetching stuff which that game will
> > > soon use then it'll be an aggregate improvement. If prefetch is
> > > prefetching stuff which that game _won't_ use then prefetch is busted.
> > > Using yield() to artificially cripple kprefetchd is a rather sad
> > > workaround isn't it?
> >
> > It's not the stuff that it prefetches that's the problem; it's the disk
> > access.
>
> But the prefetch code tries to avoid prefetching when the disk is otherwise
> busy (or it should - we discussed that a bit a while ago).

Anything that does disk access delays prefetch fine. Things that only do heavy
cpu do not delay prefetch. Anything reading from disk will be noticeable
during 3d gaming.

> Sorry, I'm not trying to be awkward here - I think that nobbling prefetch
> when there's a lot of CPU activity is just the wrong thing to do and it'll
> harm other workloads.

I can't distinguish between when cpu activity is important (game) and when it
is not (compile), and assuming worst case scenario and not doing any swap
prefetching is my intent. I could add cpu accounting to prefetch_suitable()
instead, but that gets rather messy and yielding achieves the same endpoint.

Cheers,
Con