mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Paul McKenney" <Paul.McKenney@us.ibm.com>
To: nigel@nrg.org
Cc: ak@suse.de, "Dipankar Sarma" <dipankar.sarma@in.ibm.com>,
	linux-kernel@vger.kernel.org, lse-tech@lists.sourceforge.net,
	"Suparna Bhattacharya" <bsuparna@in.ibm.com>
Subject: Re: [Lse-tech] Re: [PATCH for 2.5] preemptible kernel
Date: Tue, 10 Apr 2001 15:08:44 -0700	[thread overview]
Message-ID: <OF6C3EA7C6.99519DF9-ON88256A2A.0079A408@LocalDomain> (raw)


> > As you've observed, with the approach of waiting for all pre-empted
tasks
> > to synchronize, the possibility of a task staying pre-empted for a long
> > time could affect the latency of an update/synchonize (though its hard
for
> > me to judge how likely that is).
>
> It's very unlikely on a system that doesn't already have problems with
> CPU starvation because of runaway real-time tasks or interrupt handlers.

Agreed!

> First, preemption is a comparitively rare event with a mostly
> timesharing load, typically from 1% to 10% of all context switches.

Again, agreed!

> Second, the scheduler should not penalize the preempted task for being
> preempted, so that it should usually get to continue running as soon as
> the preempting task is descheduled, which is at most one timeslice for
> timesharing tasks.

The algorithms we have been looking at need to have absolute guarantees
that earlier activity has completed.  The most straightforward way to
guarantee this is to have the critical-section activity run with preemption
disabled.  Most of these code segments either take out locks or run
with interrupts disabled anyway, so there is little or no degradation of
latency in this case.  In fact, in many cases, latency would actually be
improved due to removal of explicit locking primitives.

I believe that one of the issues that pushes in this direction is the
discovery that "synchronize_kernel()" could not be a nop in a UP kernel
unless the read-side critical sections disable preemption (either in
the natural course of events, or artificially if need be).  Andi or
Rusty can correct me if I missed something in the previous exchange...

The read-side code segments are almost always quite short, and, again,
they would almost always otherwise need to be protected by a lock of
some sort, which would disable preemption in any event.

Thoughts?

                              Thanx, Paul


             reply	other threads:[~2001-04-10 22:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-10 22:08 Paul McKenney [this message]
2001-04-10 23:49 ` Nigel Gamble
  -- strict thread matches above, loose matches on Subject: below --
2001-04-22 13:38 Paul McKenney
2001-04-11  4:08 Paul McKenney
2001-04-11  5:22 ` yodaiken
2001-04-11  8:37   ` Nigel Gamble
2001-04-11  8:19 ` Nigel Gamble
2001-04-09 12:46 bsuparna
2001-04-09 23:28 ` Nigel Gamble
2001-04-07 23:59 Paul McKenney
2001-04-07 23:54 Paul McKenney
2001-04-10 15:21 ` Rusty Russell
2001-04-07  1:25 Paul McKenney
2001-04-07 21:25 ` [Lse-tech] " Andi Kleen

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=OF6C3EA7C6.99519DF9-ON88256A2A.0079A408@LocalDomain \
    --to=paul.mckenney@us.ibm.com \
    --cc=ak@suse.de \
    --cc=bsuparna@in.ibm.com \
    --cc=dipankar.sarma@in.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    --cc=nigel@nrg.org \
    /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

all inboxes | Powered by JetHome®