Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
Weaver
FAQ
 
spacer
From: Matt Mackall <mpm <at> selenic.com>
Subject: Re: Interesting interaction between lguest and CFS
Newsgroups: gmane.linux.kernel
Date: 2007-06-04 19:59:51 GMT (7 years, 22 weeks, 3 days, 7 hours and 44 minutes ago)
On Mon, Jun 04, 2007 at 09:40:38PM +0200, Ingo Molnar wrote:
> 
> * Matt Mackall <mpm <at> selenic.com> wrote:
> 
> > > ah, so both the shell and the 'competing' CPU hog was running within 
> > > the same lguest instance?
> > 
> > No.
> > 
> > The CPU hog is running in the host. A single instance of lguest using 
> > busybox is started in another shell. When it reaches a shell prompt, 
> > -that- shell is occassionally unresponsive for long stretches.
> 
> so the shell within lguest is affected by the CPU hog outside? Could you 
> send me the sched-debug stats of the CPU hog and of the lguest host 
> process as well? (or were those amongst the ones you already sent?)

I sent you the stats for:

- both lguest processes
- the bash which started lguest (which I suspect you don't actually
  want)
- the gnome-terminal that lguest was running inside of
  (keystrokes to the shell in lguest go through that terminal)

The last is probably not very interesting either, as gnome-terminal is
a single process with multiple windows and none of the other windows
were affected.

So I sent you everything but the stats for the CPU hog.

I suggest you try this yourself - lguest is incredibly easy to get up
and running. It's also quite useful: I can test-boot kernels with it
in less than a second, or about 10x faster than basic qemu, and 100x
faster than a real boot. And as it uses a pty as console, you can do
things like pipe it through grep.

You'll need the following tab-damaged patch for rc3-mm1:

--- mm.orig/arch/i386/kernel/sched-clock.c      2007-06-04 12:15:51.000000000 -0500
+++ mm/arch/i386/kernel/sched-clock.c   2007-06-04 12:15:57.000000000
-0500
 <at>  <at>  -133,7 +133,7  <at>  <at>  static void resync_freq(void *arg)
        struct sc_data *sc = &__get_cpu_var(sc_data);

        sc->sync_base = jiffies;
-       if (!cpu_has_tsc) {
+       if (!cpu_has_tsc || tsc_disable) {
                sc->unstable = 1;
                return;
        }

-- 
Mathematics is the supreme nostalgia of our time.
spacer
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.