Re: matroxfb, console switches, and BP6 SMP

From: Robert Woodcock (rcw@debian.org)
Date: Fri Feb 18 2000 - 00:58:59 EST


On Thu, Feb 17, 2000 at 09:46:31PM +0000, Petr Vandrovec wrote:
> Sorry for late reply, but I somewhat missed your original posting.

http://www.geocrawler.com/lists/3/Linux/35/250/3310107/

> > Every single one of these crashes (4 so far) has happened that way - it's
> > waaaay too consistent to be hardware.
> Which applications are you running and what Matrox hardware is it?

Matrox G200 AGP.

Usually I have XF86_SVGA sitting on tty12, although I spend the majority of
my time in virtual-console land.

I run a top-like app of my own creation on tty5 (updates the screen every
second with various stats), and irc on tty4, nothing really updates that
quickly.

The fifth crash (tonight), I never did get around to starting X, but I did
run a few invocations of fbset -accel false (BTW, is there a way to set fb
options for all consoles at once?) and then a few minutes after that it
tanked (probably while I was switching from an accelerated console to a
non-accelerated one).

I've changed my boot options to video=matrox:vesa:0x118,fastfont:40960,noaccel
and set acceleration on selected consoles (scrolling up a line, f.e. up-arrow
in less, is painful without it).

I'll have to see how that works.

> Symptom you described (character painted into half - and damaged) happens
> only when someone else tries to write data to accelerator while ILOAD
> accelerated operation is processed. Are you running some tty output
> intensive application on one of VT in question?

Does IRC in a moderately-busy channel count? :)

> Is accelerated X server one of VT?

Yes, on tty12, but not this time around.

> Maybe there is some lock missing somewhere... If kernel is
> older than 2.3.46-pre2

stock 2.2.14

> you can try to enable MATROXFB_DEBUG_REENTER
> in matroxfb and look whether you'll get some error message about reentrancy
> in the log

I'll try this when I get some difinitive results (crash or stability) from
the fastfont/noaccel thing.

> (is printk() on your system printing to console? Often?)

Yes, no.

> There are two workarounds - either you can disable matroxfb acceleration
> at all, as already pointed by J. Simmons, or you can boot with
> video=matrox:fastfont:40960 - it will disable ILOAD operations at cost of
> 40KB of available video RAM.
> If you'll be able to trace down reason, why driver is reentered, I'm
> interested in your data - there should be only one reason for reentering -
> - printk().
> If you do not run real-time tasks on your system, you can also
> replace CRIT_BEGIN with
> spin_lock_irqsave(some_global_spinlock, some_local_variable); and
> CRIT_END with
> spin_unlock_irqrestore(some_global_spinlock, some_local_variable);
> It is 100% safe and probably preferred solution - but it can disable
> interrupts for way too long. But it should not be an issue on SMP system
> (but I never benchmarked it).
> If you are using 2.3.46-pre2 or newer kernel, you'll have either restore
> CRIT_BEGIN/CRIT_END in driver (all these strategicaly placed macros were
> removed by someone when removing CONSOLE_BH... :-( ), or download G400
> dualhead patch from
> ftp://platan.vc.cvut.cz/pub/linux/matrox-lastest/maven-000216-for-2.3.46-pre3.gz.
> But 2.3.46-pre2 and newers contains some changes in this area, so maybe
> that problem does not exist anymore.

More stuff to try after I find out whether it stops crashing. :)

I'll give the fbcon X server another whirl to see if it does anything too.

Thanks for your help!

-- 
Robert Woodcock - rcw@debian.org
"Anybody else wanna negotiate?" -- The Fifth Element

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:20 EST