From: Takashi Iwai <tiwai@suse.de>
To: Andrew Morton <akpm@osdl.org>
Cc: andrea@suse.de, mjy@geizhals.at, linux-kernel@vger.kernel.org
Subject: Re: CONFIG_PREEMPT and server workloads
Date: Thu, 18 Mar 2004 20:16:42 +0100 [thread overview]
Message-ID: <s5hbrmuc6ed.wl@alsa2.suse.de> (raw)
In-Reply-To: <20040318110159.321754d8.akpm@osdl.org>
At Thu, 18 Mar 2004 11:01:59 -0800,
Andrew Morton wrote:
>
> Takashi Iwai <tiwai@suse.de> wrote:
> >
> > for ext3, these two spots are relevant.
> >
> > --- linux-2.6.4-8/fs/jbd/commit.c-dist 2004-03-16 23:00:40.000000000 +0100
> > +++ linux-2.6.4-8/fs/jbd/commit.c 2004-03-18 02:42:41.043448624 +0100
> > @@ -290,6 +290,9 @@ write_out_data_locked:
> > commit_transaction->t_sync_datalist = jh;
> > break;
> > }
> > +
> > + if (need_resched())
> > + break;
> > } while (jh != last_jh);
> >
> > if (bufs || need_resched()) {
>
> This one I need to think about. Perhaps we can remove the yield point a
> few lines above.
yes, i'm afraid that it's also overkill to check this at every time.
perhaps we can optimize it a bit better. the fact that it imporives
the latency means that there are so many locked buffers or non-dirty
buffers in the list?
> One needs to be really careful with the lock-dropping trick - there are
> weird situations in which the kernel fails to make any forward progress.
> I've been meaning to do another round of latency tuneups for ages, so I'll
> check this one out, thanks.
>
> There's also the SMP problem: this CPU could be spinning on a lock with
> need_resched() true, but the other CPU is hanging on the lock for ages
> because its need_resched() is false.
yep, i see a similar problem also in reiserfs's do_journal_end().
it's in lock_kernel().
> In the 2.4 ll patch I solved that via
> the scary hack of broadcasting a reschedule instruction to all CPUs if an
> rt-prio task just became runnable. In 2.6-preempt we use
> preempt_spin_lock().
>
> But in 2.6 non-preempt we have no solution to this, so worst-case
> scheduling latencies on 2.6 SMP CONFIG_PREEMPT=n are high.
hmm, it's bad...
> Last time I looked the worst-case latency is in fact over in the ext3
> checkpoint code. It's under spinlock and tricky to fix.
BTW, i had the worst latency in sis900's timer handler.
it takes 3ms, and hard to fix, too :-<
Takashi
next prev parent reply other threads:[~2004-03-18 19:16 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-18 4:00 CONFIG_PREEMPT and server workloads Marinos J. Yannikos
2004-03-18 5:12 ` Andrew Morton
2004-03-18 6:03 ` Andrea Arcangeli
2004-03-18 9:50 ` Andrew Morton
2004-03-18 14:51 ` Andrea Arcangeli
2004-03-18 15:34 ` Robert Love
2004-03-18 16:01 ` Andrea Arcangeli
2004-03-18 17:39 ` Andrew Morton
2004-03-18 17:58 ` Andrea Arcangeli
2004-03-18 18:26 ` Andrew Morton
2004-03-18 18:38 ` Andrea Arcangeli
2004-03-18 18:47 ` Andrew Morton
2004-03-18 19:01 ` Andrea Arcangeli
2004-03-18 17:48 ` Robert Love
2004-03-18 18:00 ` Andrea Arcangeli
2004-03-20 10:48 ` Jamie Lokier
2004-03-19 2:17 ` Nick Piggin
[not found] ` <20040319050948.GN2045@holomorphy.com>
2004-03-20 12:14 ` Andrea Arcangeli
2004-03-20 14:51 ` William Lee Irwin III
2004-03-20 15:03 ` Andrea Arcangeli
2004-03-20 15:09 ` William Lee Irwin III
2004-03-24 13:57 ` Takashi Iwai
2004-03-24 14:52 ` Andrea Arcangeli
2004-03-24 15:11 ` William Lee Irwin III
2004-03-18 15:20 ` Tom Sightler
2004-03-18 15:37 ` Andrea Arcangeli
2004-03-18 23:54 ` Tom Sightler
2004-03-18 15:39 ` Robert Love
2004-03-18 15:28 ` Takashi Iwai
2004-03-18 15:40 ` Robert Love
2004-03-18 15:42 ` Andrea Arcangeli
2004-03-18 19:01 ` Andrew Morton
2004-03-18 19:08 ` Takashi Iwai
2004-03-18 19:18 ` Andrew Morton
2004-03-18 19:20 ` Takashi Iwai
2004-03-18 19:43 ` Andrea Arcangeli
2004-03-18 19:50 ` Takashi Iwai
2004-03-18 19:24 ` Robert Love
2004-03-19 22:03 ` Valdis.Kletnieks
2004-03-19 22:12 ` Robert Love
2004-03-24 15:00 ` Takashi Iwai
2004-03-18 19:16 ` Takashi Iwai [this message]
2004-03-18 19:29 ` Andrew Morton
2004-03-18 19:48 ` Chris Mason
2004-03-19 11:37 ` Takashi Iwai
2004-03-19 13:46 ` Chris Mason
2004-03-19 14:06 ` Takashi Iwai
[not found] ` <20040318221006.74246648.akpm@osdl.org>
2004-03-19 10:30 ` Takashi Iwai
2004-03-23 9:14 ` Dipankar Sarma
2004-03-19 17:22 ` Dipankar Sarma
2004-03-19 18:03 ` Andrew Morton
2004-03-20 12:24 ` Andrea Arcangeli
2004-03-20 13:13 ` Dipankar Sarma
2004-03-18 19:39 ` Andrea Arcangeli
2004-03-18 22:32 ` Andrew Morton
2004-03-18 22:54 ` Chris Mason
2004-03-18 23:57 ` Andrew Morton
2004-03-19 20:46 ` Takashi Iwai
2004-03-19 21:08 ` Andrew Morton
2004-03-19 3:07 ` Eric St-Laurent
2004-03-19 11:23 ` Takashi Iwai
2004-03-19 13:35 ` Chris Mason
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=s5hbrmuc6ed.wl@alsa2.suse.de \
--to=tiwai@suse.de \
--cc=akpm@osdl.org \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mjy@geizhals.at \
/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.