Messages in this thread | | | Subject | kernel builds starving evolution process - scheduler issue? (was Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9) | From | Lee Revell <> | Date | Wed, 24 Nov 2004 10:23:25 -0500 |
| |
On Wed, 2004-11-24 at 08:33 -0500, Steven Rostedt wrote: > On Wed, 2004-11-24 at 04:45 +0100, Ingo Molnar wrote: > > * Lee Revell <rlrevell@joe-job.com> wrote: > > > > > > > The symptom is that CPU bound tasks like kernel compiles will starve > > > I/O bound tasks like evolution for a _long_ time. If I have a kernel > > > build and external modules building at the same time and Evolution > > > goes to "Update message list...", it can sit and spin with a blank > > > message pane for a minute or two. If I suspend the builds, the > > > message list renders immediately. > > > > could you try the vanilla -rc2-mm2 kernel (with PREEMPT enabled), does > > it behave in such a way too? At first sight this could be a property of > > the upstream scheduler, but maybe it's special to PREEMPT_RT. > > > > Have you notice this behavior with other interactive (I/O) tasks, such > as bash. Evolution is quite a big utility, and might be doing something > in the background. If you see the same behavior with bash then there is > no doubt that the compile is slowing down an I/O intensive task. >
No. Only evolution (2.0) exhibits the problem. But, it looks like evolution uses a comparable amount of CPU to a kernel build just updating the message list. All stracing it shows me is that it spends a hell of a lot of time polling(). I think this might be a bloat issue.
> Another variable can be memory. Are you running this on something with > adequate memory, or is you harddrive churning like mad and you're > constantly thrashing the swap space? >
No, I have plenty of RAM (512M). I am using a 600Mhz C3 so the system is probably CPU bound. But, it seems like evolution should make a little more progress. I often find myself having to background all build processes for a few seconds to let the message list render. Once the list renders, and I resume the builds, evolution is more or less usable. Running gtk-gnutella in the background will also make evolution horribly slow.
Running the offending, CPU bound processes at a high nice value solves the problem. But now I am wasting half my fscking cycles "Updating message list...". Grr.
Lee
- 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/
| |