![]() | |||||||||||
Messages in this thread |
On Wednesday 08 March 2006 19:48, Andreas Mohr wrote: > Hi, > > On Tue, Mar 07, 2006 at 03:26:36PM -0800, Andrew Morton wrote: > > Con Kolivas <kernel@kolivas.org> wrote: > > > Swap prefetching doesn't use very much cpu but spends a lot of time > > > waiting on disk in uninterruptible sleep. This means it won't get > > > preempted often even at a low nice level since it is seen as sleeping > > > most of the time. We want to minimise its cpu impact so yield where > > > possible. > > > > yield() really sucks if there are a lot of runnable tasks. And the > > amount of CPU which that thread uses isn't likely to matter anyway. > > > > I think it'd be better to just not do this. Perhaps alter the thread's > > static priority instead? Does the scheduler have a knob which can be > > used to disable a tasks's dynamic priority boost heuristic? > > This problem occurs due to giving a priority boost to processes that are > sleeping a lot (e.g. in this case, I/O, from disk), right? > Forgive me my possibly less insightful comments, but maybe instead of > adding crude specific hacks (namely, yield()) to each specific problematic > process as it comes along (it just happens to be the swap prefetch thread > this time) there is a *general way* to give processes with lots of disk I/O > sleeping much smaller amounts of boost in order to get them preempted more > often in favour of an actually much more critical process (game)? > > >From the discussion here it seems this problem is caused by a *general* > > miscalculation of processes sleeping on disk I/O a lot. > > Thus IMHO this problem should be solved in a general way if at all > possible. No. We already do special things for tasks waiting on uninterruptible sleep. This is more about what is exaggerated on a dual array expiring scheduler design that mainline has. Cheers, Con - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2006-03-08 09:55 [from the cache] ©2003-2008 | |||||||||||