Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Jan-Benedict Glaw <jbglaw@lug-owl.de>
To: linux-mips@oss.sgi.com
Cc: Ralf Baechle <ralf@oss.sgi.com>
Subject: Re: [Oops] Indy R4600 Oops(es) w/ 2.4.19-rc1
Date: Mon, 1 Jul 2002 11:43:59 +0200	[thread overview]
Message-ID: <20020701094359.GP17216@lug-owl.de> (raw)
In-Reply-To: <20020701091321.GO17216@lug-owl.de>

[-- Attachment #1: Type: text/plain, Size: 2399 bytes --]

On Mon, 2002-07-01 11:13:22 +0200, Jan-Benedict Glaw <jbglaw@lug-owl.de>
wrote in message <20020701091321.GO17216@lug-owl.de>:
> On Sun, 2002-06-30 19:47:17 +0200, Jan-Benedict Glaw <jbglaw@lug-owl.de>
> wrote in message <20020630174717.GI17216@lug-owl.de>:
> > On Sun, 2002-06-30 00:05:13 +0200, Jan-Benedict Glaw <jbglaw@lug-owl.de>
> > wrote in message <20020629220513.GC17216@lug-owl.de>:
> > [...]
> > >   10:   bc600060  0xbc600060
> > > Code;  88016ce0 <r4k_flush_cache_range_d32i32+e4/16c>
> > >   14:   bc600080  0xbc600080
> > 
> > Well, I've bulid the same kernel with CONFIG_MIPS_UNCACHED and the box
> > is running^Wsnailing fine with it. I'm experiencing a little peformance
> > drop (100 BogoMips -> 2.79 BogoMips), but it comes up in finite time:-)
> 
> I've got some mail that support for my early R4600 (well, the bug fixes
> for it...) got removed some time ago. I've looked at the diff of r1.3
> (2.4.16) and r1.3.2.3 (2.4.19-rc1) and it seems that mostly calls to
> __save_and_cli() and __restore_flags() got removed. Reading <asm/war.h>,
> it really seems that this is causing my problem.
> 
> Ralf, would you accept a patch adding these lines again surrounded by
> #ifdef CONFIG_CPU_R4X00 ... #endif /* CONFIG_CPU_R4X00 */? The current
> state however isn't that fine: running uncached is no fun:-(

Okay, stupid idea. All these flush functions seem to be never called in
parallel or recursive, so if might be possible to have a global flags
variable and instead of always calling __save..() and __restore..(),
we bulid a pair of inline functions doing this. This wouldn't give
any penalty for !CONFIG_CPU_R4X00 and doesn't obscure the code so much
as all those #ifdef and #endif's would do... I'll test my suggestion
as fast as I reach my Indy again (is powered down at home...).

#ifdef CONFIG_CPU_R4X00
long buggy_r4600_flags;
#endif /* CONFIG_CPU_R4X00 */


static inline void
r4600_bug_start()
{
#ifdef CONFIG_CPU_R4x00
	__save_and_cli(buggy_r4600_flags);
#endif /* CONFIG_CPU_R4x00 */
	return;
}

static inline void
r4600_bug_finish()
{
#ifdef CONFIG_CPU_R4x00
	__restore_flags(buggy_r4600_flags);
#endif /* CONFIG_CPU_R4x00 */
	return;
}

MfG, JBG

-- 
Jan-Benedict Glaw   .   jbglaw@lug-owl.de   .   +49-172-7608481
	 -- New APT-Proxy written in shell script --
	   http://lug-owl.de/~jbglaw/software/ap2/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2002-07-01  9:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-29 22:05 [Oops] Indy R4600 Oops(es) w/ 2.4.19-rc1 Jan-Benedict Glaw
2002-06-30 17:47 ` Jan-Benedict Glaw
2002-07-01  9:13   ` Jan-Benedict Glaw
2002-07-01  9:43     ` Jan-Benedict Glaw [this message]
2002-07-01 14:28       ` Maciej W. Rozycki
2002-07-01 15:13         ` Jan-Benedict Glaw
2002-07-01 17:02           ` Maciej W. Rozycki
2002-07-01 17:22             ` Jan-Benedict Glaw
2002-07-01 17:24           ` Karel van Houten
2002-07-01 17:27             ` Jan-Benedict Glaw
2002-07-01 17:46             ` Maciej W. Rozycki
2002-07-01 15:55         ` Buggy R4600 support (was: [Oops] Indy R4600 Oops(es) w/ 2.4.19-rc1) Jan-Benedict Glaw

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=20020701094359.GP17216@lug-owl.de \
    --to=jbglaw@lug-owl.de \
    --cc=linux-mips@oss.sgi.com \
    --cc=ralf@oss.sgi.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