All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Uhler <uhler@mips.com>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: Dominic Sweetman <dom@mips.com>,
	Eric Christopher <echristo@redhat.com>,
	Long Li <long21st@yahoo.com>,
	linux-mips@linux-mips.org, David Ung <davidu@mips.com>,
	Nigel Stephens <nigel@mips.com>
Subject: Re: gcc support of mips32 release 2
Date: 22 Mar 2004 08:19:38 -0800	[thread overview]
Message-ID: <1079972378.9814.50.camel@gmu-linux> (raw)
In-Reply-To: <Pine.LNX.4.55.0403221153280.6539@jurand.ds.pg.gda.pl>

The real issue is one of strictly nested interrupts.  The lack of an
atomic di, in particular, works fine as long as all interrupts are
strictly nested in such a way that no interrupt code changes the
state of the IM bits between the read and write of the sequence.
While most operating systems appear to be strictly nested, there
are some very important kernels in embedded markets which are not
strictly nested.

When I added di (and, for symmetry, ei) to Release 2, I did so after
spending considerable time talking with these customers and was
convinced that it was important.

/gmu

On Mon, 2004-03-22 at 03:14, Maciej W. Rozycki wrote:

> > The 'di' is there to be atomic.  Such sequences are rare and code
> > compactness is not an issue.  As you probably heard before, the use of
> > a potentially-interruptible RMW sequence on the status register to
> > disable interrupts is potentially troublesome (most common OS' manage
> > themselves so it isn't an issue, but still...)
> 
>  Hmm, is the remaining minority of the OSes, that can't manage the
> sequence, important enough to add such an instruction?  The atomicity of
> this operation should only matter if interrupt handlers are expected to
> leave interrupts disabled upon an exit to the same context -- such a setup
> should be pretty rare.

-- 
Michael Uhler, Chief Technology Officer
MIPS Technologies, Inc.  Email: uhler@mips.com
1225 Charleston Road     Voice:  (650)567-5025  FAX:   (650)567-5225
Mountain View, CA 94043  Mobile: (650)868-6870  Admin: (650)567-5085

  parent reply	other threads:[~2004-03-22 16:21 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-05  7:55 gcc support of mips32 release 2 Long Li
2004-03-05  9:14 ` Eric Christopher
2004-03-05 10:12   ` Dominic Sweetman
2004-03-05 10:12     ` Dominic Sweetman
2004-03-05 17:03     ` Long Li
2004-03-08 11:11       ` Dominic Sweetman
2004-03-08 12:15         ` David Ung
2004-03-08 17:45           ` Eric Christopher
2004-03-18 13:18     ` Maciej W. Rozycki
2004-03-18 14:10       ` Dominic Sweetman
2004-03-18 21:19         ` Ralf Baechle
2004-03-19 13:44         ` Maciej W. Rozycki
2004-03-22  9:42           ` Dominic Sweetman
2004-03-22 11:14             ` Maciej W. Rozycki
2004-03-22 14:49               ` Dominic Sweetman
2004-03-22 16:19               ` Michael Uhler [this message]
2004-03-18 16:52       ` Michael Uhler
2004-03-18 21:37       ` Ralf Baechle
2004-03-19 10:42         ` Geert Uytterhoeven
2004-03-19 12:55           ` Ralf Baechle
2004-03-24 12:38             ` Goswin von Brederlow
2004-03-24 13:52               ` Ralf Baechle
2004-03-24 17:57                 ` Dominic Sweetman
2004-03-19 13:47         ` Maciej W. Rozycki

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=1079972378.9814.50.camel@gmu-linux \
    --to=uhler@mips.com \
    --cc=davidu@mips.com \
    --cc=dom@mips.com \
    --cc=echristo@redhat.com \
    --cc=linux-mips@linux-mips.org \
    --cc=long21st@yahoo.com \
    --cc=macro@ds2.pg.gda.pl \
    --cc=nigel@mips.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.