Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Dec 1998 13:29:25 +1100
From:      David Dawes <dawes@rf900.physics.usyd.edu.au>
To:        Nate Williams <nate@mt.sri.com>, Mike Smith <mike@smith.net.au>
Cc:        Peter Jeremy <peter.jeremy@auss2.alcatel.com.au>, current@FreeBSD.ORG
Subject:   Re: sio breakage
Message-ID:  <19981203132925.G2934@rf900.physics.usyd.edu.au>
In-Reply-To: <199812030114.SAA10483@mt.sri.com>; from Nate Williams on Wed, Dec 02, 1998 at 06:14:09PM -0700
References:  <19981203115222.A3051@rf900.physics.usyd.edu.au> <199812030107.RAA01213@dingo.cdrom.com> <199812030114.SAA10483@mt.sri.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Dec 02, 1998 at 06:14:09PM -0700, Nate Williams wrote:
>> > >I agree.  And whilst I haven't checked why, XFree86 does appear to
>> > >disable interrupts at times.
>> > 
>> > I agree too, but it does disable interrupts when probing for fixed pixel
>> > clocks (which is mostly only done for obsolete hardware), and sometimes
>> > when programming PLLs.  If someone has a better way of handling time
>> > critical thing like this (preferably in a portable way), please let me
>> > know.  I'd love to dump our disable interrupt code.
>> 
>> I get the impression from this though that you only do interrupt 
>> disables when probing or changing video modes, is that correct?
>
>I get that impression as well.
>
>> The entire train of angst here is descended from percieved problems in 
>> interrupt delivery during normal operation; if you're only disabling 
>> interrupts during startup then this prettymuch exonerates the X server.
>
>Except that I can say with assurance that at least older versions of the
>XFree86 server *seem* to be disabling interrupts for long periods, or at
>least calling code that disables interrupts.  When I switched to the XIG
>(XInside at the time) server, all of my serial overflows went away.

It would be good if it this could be confirmed, perhaps by tracing
when the disable/enable interrupt functions are called.  In my quick
search of the code I could only find it done at server startup and
when programming a new video mode (and then only for some hardware).

>That was the *only* configuration difference.  To be sure, I even
>re-configured the XFree86 server and the problem re-occurred.  Swapped
>it back and it went away.
>
>Note, this was about a year ago, maybe more so it may have changed.
>(The box in question has a S3 928 card in it..)

Is it a PCI card?  Are you using it in mmio or pio mode?

I have a box with an S3 964 using the 928-compatible mmio mode.  I've
seen sio "tty-level" and "interrupt-level" buffer overflows from time
to time (with a FreeBSD 2.2.2 kernel), but I haven't been able to make
a direct connection between them and the X server.  They seem to happen
more often with the machine is "busy".  Interestingly I've seen them
much less frequently (including none in the last two months) since
switching from an SMC ISA Ethernet card to an Intel EEPro/100+ for most
of the network traffic that this box sees.  That may be entirely
conincidental though.

David

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981203132925.G2934>