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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox