From: Willy Tarreau <w@1wt.eu>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Mike Galbraith <efault@gmx.de>,
Arjan van de Ven <arjan@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Dmitry Adamushko <dmitry.adamushko@gmail.com>,
Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Subject: Re: [patch] CFS scheduler, -v18
Date: Sat, 30 Jun 2007 23:06:49 +0200 [thread overview]
Message-ID: <20070630210649.GA13186@1wt.eu> (raw)
In-Reply-To: <20070622220202.GA16872@elte.hu>
Ingo,
I've accidentally discovered a problem with -v18.
Some time ago, I wrote a small program to prevent my laptop from entering
low-power mode, and noticed that after upgrading my laptop's kernel from
2.4.20.9+cfs-v6 to 2.4.20.14+cfs-v18, it completely freezes if I run this
program.
The program is trivial, it just sets its prio to nice +20 and forks a busy
loop. I've added the ability to stop the loop after a user-definable number
of iterations, and I can confirm that it unfreezes when the loop ends. I'm
not even root when I run it.
Everything freezes, including the frame-buffer. It's not 100% reproducible, I
would say 90% only. Sometimes it requires a few seconds before freezing. It
*seems* to me that running another task in parallel (such as vmstat) increases
its chances to freeze. It seems like nicing to +19 does not cause any trouble.
I've tried it on my dual athlon, and with 1 process I see occasional pauses of
1 or 2 seconds, and with 2 processes, I see fairly larger pauses.
Here's the trivial program. Probably you'll find an obvious bug.
Regards,
Willy
---
/*
* cfs-freeze.c
* Fork a busy loop running with idle prio. This often results
* in complete freezes with CFS-v18.
*
* $ gcc -O2 -s -o cfs-freeze cfs-freeze.c
* $ ./cfs-freeze
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sched.h>
#include <sys/time.h>
#include <sys/resource.h>
int main(int argc, char **argv) {
struct sched_param sch;
long long i;
if (argc > 1)
i = atoll(argv[1]);
if (i <= 0)
i = 4 * 1000 * 1000 * 1000ULL;
sch.sched_priority = 0;
sched_setscheduler(0, SCHED_OTHER, &sch);
setpriority(PRIO_PROCESS, 0, 20);
if (fork() == 0)
while (i--);
return 0;
}
---
next prev parent reply other threads:[~2007-06-30 21:10 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-22 22:02 [patch] CFS scheduler, -v18 Ingo Molnar
2007-06-22 22:09 ` S.Çağlar Onur
2007-06-22 22:16 ` S.Çağlar Onur
2007-06-22 22:20 ` Ingo Molnar
2007-06-26 3:02 ` Andrew Morton
2007-06-26 8:38 ` Ingo Molnar
2007-06-26 9:00 ` Andrew Morton
2007-06-26 9:38 ` Ingo Molnar
2007-06-22 23:08 ` Gene Heskett
2007-06-23 7:11 ` Ingo Molnar
2007-06-23 9:55 ` Gene Heskett
2007-06-23 10:22 ` Antonino Ingargiola
2007-06-23 17:25 ` Ingo Molnar
2007-06-24 10:02 ` Antonino Ingargiola
2007-06-24 11:07 ` Ingo Molnar
2007-06-25 7:27 ` Antonino Ingargiola
2007-06-23 13:24 ` Willy Tarreau
2007-06-24 15:52 ` Ingo Molnar
2007-06-24 17:08 ` Willy Tarreau
2007-06-24 20:31 ` Ingo Molnar
2007-06-26 20:17 ` Fortier,Vincent [Montreal]
2007-06-27 10:51 ` Ingo Molnar
2007-06-30 21:06 ` Willy Tarreau [this message]
2007-07-01 8:31 ` Ingo Molnar
2007-07-01 8:45 ` Ingo Molnar
2007-07-01 9:00 ` Willy Tarreau
2007-07-02 11:44 ` Vegard Nossum
2007-07-02 13:01 ` Dmitry Adamushko
2007-07-02 13:43 ` Vegard Nossum
2007-07-02 15:50 ` Ingo Molnar
2007-07-02 16:40 ` Vegard Nossum
2007-07-02 18:13 ` Ingo Molnar
2007-07-03 7:01 ` Vegard Nossum
2007-07-03 7:12 ` Mike Galbraith
2007-07-03 7:22 ` Ingo Molnar
2007-07-03 8:08 ` Keith Packard
2007-07-03 8:31 ` Ingo Molnar
2007-07-04 12:11 ` Andi Kleen
2007-07-02 14:13 ` Bill Davidsen
2007-07-03 7:15 ` Ingo Molnar
2007-07-03 9:11 ` Vegard Nossum
[not found] <8yZun-1bO-5@gated-at.bofh.it>
[not found] ` <8CszT-4hd-11@gated-at.bofh.it>
[not found] ` <8CtPi-6qj-9@gated-at.bofh.it>
[not found] ` <8Cus1-7eL-11@gated-at.bofh.it>
[not found] ` <8CwtU-1Z5-3@gated-at.bofh.it>
[not found] ` <8Cxgd-3fN-9@gated-at.bofh.it>
[not found] ` <8CKQ8-7HN-13@gated-at.bofh.it>
[not found] ` <8CKZV-7Ur-11@gated-at.bofh.it>
[not found] ` <8CLCt-vX-3@gated-at.bofh.it>
2007-07-05 13:29 ` Thomas Dickey
[not found] ` <8CM5x-19K-3@gated-at.bofh.it>
2007-07-05 13:39 ` Thomas Dickey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070630210649.GA13186@1wt.eu \
--to=w@1wt.eu \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=dmitry.adamushko@gmail.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vatsa@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.