Fixed my MAMEd sio problem. Was: Re: Doesn't anyone care about the broken sio ??

1999-05-16 Thread Matthew Thyer
Just so you all know (the list included) how I have fixed my silo
overflow problem which occurred while running xmame (and after I quit
until I restarted the X server)

I have found the problem doesn't occur if I remove the following lines
from the shell script I use to start xmame:

xsetpointer Joystick
sleep 1
xsetpointer pointer

I was doing those three lines just before starting xmame to get the
mouse pointer into the top left hand corner  (my script also used
vidtune to get the right resolution for each game).

Since I have removed those lines it works fine.  I can now download
to my hearts content whilst playing some ancient game.

(I'd like to know an easy way to move the mouse pointer though!)

With those lines in the script I had to restart the X-server after
using xmame or I'd get continuous silo overflows.

FYI, the output of xsetpointer -l is:

keyboard  [XKeyboard]
pointer   [XPointer]
SWITCH[XExtensionDevice]
Joystick  [XExtensionDevice]

And as you can see from the XF86Config file in the message I'm replying
to, I am loading several modules to use XExtension Devices and the PC
joystick (which is compiled into my kernel):

Load xie.so
Load pex5.so
Load xf86Jstk.so



Matthew Thyer wrote:
 
 *** STOP PRESS ***  I have just confirmed that restarting the X server
is enough to fix the problem.   So my apologies to Bruce, -CURRENT
and the whole FreeBSD community in general for blaming sio.
 
 For the benefit of David Dawes, I'll quickly restate the problem:
 Running xmame (from the ports collection) causes lots of silo overflows
 with user mode ppp until I either restart the X server or reboot.
 This occurs even after I exit xmame.  This is all on FreeBSD-CURRENT but
 has been happenning for months and is not newbus related.
 
 Thankyou Brian, you are the first to NOT reproduce the problem.
 
 Note that all my recent testing of this has been at 300 MHz so dont jump
 on me when you see that I normally overclock at 450 MHz.
 
 So compare configuration:
 
 My X server is XFree86 3.3.3.1 (from ports) and I use the XF86_SVGA server.
 My video card is an ET6000 Jaton VIDEO-58P with 2.25 MB RAM.
 I run in 16 bit colour with KDE 1.1.1.
 I run MAME with sound enabled and I'm NOT using Luigi's PCM driver but
   rather the old driver (whats it called ??).
 I have a new ABIT BX6 release 2.0 motherboard (with 16550s I assume).
 I have an Intel Celeron 300a CPU which I normally run at 450 MHz (using
   a 100 MHz memory bus speed instead of 66 MHz but when I run it at 300
   MHz it doesn't make any difference to this problem).
 I have PC100 SD RAM with an EPROM.  This RAM is rated at 7ns believe it
   or not.
 I'd like to be using Soren's ATAPI driver but it doesn't like my CD-ROM
   drive so I'm using the normal wd driver with flags a0ffa0ff.
 I'm using a KTX V.90 modem at 115000 baud.
 I typically get 45333, 46667 or 48000 connections to my ISP.
 I'm using a Microsoft serial mouse but am not using moused.
 I do have a PS/2 intellimouse compatible mouse attached but only use it
   when I'm on the darkside (In Windows 95) as it doesn't work with moused
   or in XFree86.
 My whole system has been re-compiled within the last 2 days (world, updated
   /etc, kernel AND ALL ports [XFree86 3.3.3.1, kde 1.1.1 etc etc etc])
 
 Kernel config file (MATTE), /etc/XF86Config file and dmesg output attached.
 
 I have one question about my kernel config:
 How do I know when it's unsafe to use options CPU_DISABLE_5X86_LSSER ?
 It would be good if the kernel disabled this option under those cases.
 
 My /etc/ppp/ppp.conf is:
 
 default:
  set log chat connect phase
  set device /dev/cuaa1
  set speed 115200
  allow users matt
  deny lqr
  deny chap
  set timeout 0
  set dial ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\ ATX4S95=47 OK-AT-OK 
 \\dATDT\\T TIMEOUT 80 CONNECT
  set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 
 isp:
  set phone ISPNUMBER
  set login TIMEOUT 10 sername:--sername: MYUSER ssword: MYPASS
  dial
 
 Brian Feldman wrote:
 
  On Sat, 8 May 1999, Jordan K. Hubbard wrote:
 
I mailed a simple way to reproduce the serious brokeness of the
serial port driver on my system and no one responds.
   
What does this mean ?
  
   It means that nobody is probably willing to go bring up a MAME
   environment just to test this.  You need to isolate it to a more
   minimal test case if you want people to jump on what could be a local
   problem (some serial hardware is better behaved than others) or a
   misbehaving X server (which is masking interrupts for too long; see
   mailing list archives on this topic).  The more complex your
   reproduction case, in other words, the less likely it is that anyone
   will respond to it.
 
  Hmm, so now you're the second to cite the possibility of X masking 
  interrupts
  too long, eh? ;) Actually, I use MAME all the time, and this problem does 
  NOT
  occur (XF86_SVGA on an S3 ViRGE/DX). Oh, user-ppp too of course. If I could
  have 

Re: Fixed my MAMEd sio problem. Was: Re: Doesn't anyone care about the broken sio ??

1999-05-16 Thread Bruce Evans
Just so you all know (the list included) how I have fixed my silo
overflow problem which occurred while running xmame (and after I quit
until I restarted the X server)

I have found the problem doesn't occur if I remove the following lines
from the shell script I use to start xmame:

xsetpointer Joystick
sleep 1
xsetpointer pointer

FreeBSD's joystick driver certainly causes silo overflows.  It disables
CPU interrupts and polls for 2 msec.  For 16550 serial hardware, this may
cause loss of 21 characters at 115200 bps (23 characters arriving in
2 msec less 2 characters of buffering provided by the 16550 fifo above
the trigger level).  If sio used a more conservative trigger level of 8,
then then the loss would be limited to only 15 characters.

With those lines in the script I had to restart the X-server after
using xmame or I'd get continuous silo overflows.

Closing the joystick device should also work.

The joystick driver shouldn't disable CPU interrupts or mask clock
interrupts.

Bruce


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



Doesn't anyone care about the broken sio ??

1999-05-08 Thread Matthew Thyer
I mailed a simple way to reproduce the serious brokeness of the
serial port driver on my system and no one responds.

What does this mean ?

Does core know that sio is seriously broken and doesn't want to
admit it ?  [dont take that comment too seriously please].

What am I supposed to think ?


Here we go again.


Can someone please run M.A.M.E.  (/usr/ports/emulators/xmame) and then
exit from it and then try to use user mode ppp.
[NOTE you will need a M.A.M.E. ROM image from somewhere].

On my system and the previous system I had, this results in serious
amounts of silo overflows, so much that the serial port is useless
which requires me to reboot before I can use user mode ppp properly.

My user mode ppp is fine unless I run MAME at any time before using
user mode ppp without a reboot inbetween.

All I want is for others to try to reproduce this problem.

Previous messages attached giving more information.

-- 
/===\
| Work: matthew.th...@dsto.defence.gov.au | Home: thy...@camtech.net.au |
\===/
If it is true that our Universe has a zero net value for all conserved
quantities, then it may simply be a fluctuation of the vacuum of some
larger space in which our Universe is imbedded. In answer to the
question of why it happened, I offer the modest proposal that our
Universe is simply one of those things which happen from time to time.
 E. P. Tryon   from Nature Vol.246 Dec.14, 1973---BeginMessage---
I have been investigating the silo overflow situation for some time.

I can trigger them every time by the following action:

- Run M.A.M.E. (Multi arcade machine emulator) and then try to
download something. (I am using user mode ppp).

I believe that the sio driver is its own worst enemy in that once
you get one silo overflow, it seems that the driver tries to compensate
but it only makes it worse as I continue to get them and the serial port
is unusable after that.   Exiting MAME doesn't help, I have to reboot
or I will be unable to do the smallest thing such as download my mail.

I dont think its just MAME but rather anything that thrashes the
interrupt system.

This is not related to newbus as it occurrred before then in just the
same manner.

I have seen this effect on my home system no matter what combination
of motherboard, modem, serial hardware.

I was running a patch to sio.c before newbus came in to improve the
speed at which the FIFO buffers were processed but MAME would still
trigger the start of the silo overflow storm.

With either a patched or unpatched system I can download huge files
no problems as long as I dont run MAME at any time.

Now dont say just dont do that (I know some of you will want to).

Kernel config is attached.
/etc/ppp/ppp.conf (edited) is attached.
dmesg output is also attached.

-- 
/===\
| Work: matthew.th...@dsto.defence.gov.au | Home: thy...@camtech.net.au |
\===/
If it is true that our Universe has a zero net value for all conserved
quantities, then it may simply be a fluctuation of the vacuum of some
larger space in which our Universe is imbedded. In answer to the
question of why it happened, I offer the modest proposal that our
Universe is simply one of those things which happen from time to time.
 E. P. Tryon   from Nature Vol.246 Dec.14, 1973# Machine with Ultra DMA 32 Bit WD disk, ATAPI CD-ROM, SB16, NE2000 NIC,
#  NCR PCI SCSI, APM and Intel PIIX power management.
#   $Id: MATTE,v 11.8 1999/05/02 01:06:00 +09:30 matt Exp $
# based on: $Id: LINT,v 1.589 1999/04/24 21:45:44 peter Exp $
#
machine i386
ident   MATTE
maxusers20
options INCLUDE_CONFIG_FILE # Include this file in kernel
config  kernel  root on wd0
cpu I686_CPU
options CPU_DISABLE_5X86_LSSER  # Dont use if you use memory mapped I/O 
device(s).
options CPU_FASTER_5X86_FPU # Faster FPU exception handler
options NO_F00F_HACK# Disable Pentium F00F hack
# COMPATIBILITY OPTIONS
options COMPAT_43   # Compatible with BSD 4.3 [KEEP THIS!]
options USER_LDT# Let processes manipulate their local 
descriptor table (needed for WINE)
options SYSVSHM # Enable SYSV style shared memory
options SYSVSEM # Enable SYSV style semaphores
options SYSVMSG # Enable SYSV style message queues
options MD5 # Include a MD5 routine in the kernel
options VM86# Allow processes to switch to vm86 
mode (needed for doscmd)
# DEBUGGING OPTIONS
options DDB # Enable the kernel debugger
#optionsINVARIANTS  # Extra sanity checking (slower)
#options  

Re: Doesn't anyone care about the broken sio ??

1999-05-08 Thread Jordan K. Hubbard
 I mailed a simple way to reproduce the serious brokeness of the
 serial port driver on my system and no one responds.
 
 What does this mean ?

It means that nobody is probably willing to go bring up a MAME
environment just to test this.  You need to isolate it to a more
minimal test case if you want people to jump on what could be a local
problem (some serial hardware is better behaved than others) or a
misbehaving X server (which is masking interrupts for too long; see
mailing list archives on this topic).  The more complex your
reproduction case, in other words, the less likely it is that anyone
will respond to it.

If you can say here's a small stand-alone C program which hogs things
to the extent that the serial driver seriously overruns its buffers
then it's likely that someone will be at least motivated to compile,
run and try it.  If it involves running some esoteric application
which requires downloading data of questionable legality on top of it,
it's far less likely that anyone will even bother to look.

- Jordan


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



Re: Doesn't anyone care about the broken sio ??

1999-05-08 Thread Poul-Henning Kamp

Bruce said, in his own quite way, that somebody had broken fast
interrupts as part of newbus, and that is the end of that story.

Poul-Henning

In message 9.926181...@zippy.cdrom.com, Jordan K. Hubbard writes:
 I mailed a simple way to reproduce the serious brokeness of the
 serial port driver on my system and no one responds.
 
 What does this mean ?

It means that nobody is probably willing to go bring up a MAME
environment just to test this.  You need to isolate it to a more
minimal test case if you want people to jump on what could be a local
problem (some serial hardware is better behaved than others) or a
misbehaving X server (which is masking interrupts for too long; see
mailing list archives on this topic).  The more complex your
reproduction case, in other words, the less likely it is that anyone
will respond to it.

If you can say here's a small stand-alone C program which hogs things
to the extent that the serial driver seriously overruns its buffers
then it's likely that someone will be at least motivated to compile,
run and try it.  If it involves running some esoteric application
which requires downloading data of questionable legality on top of it,
it's far less likely that anyone will even bother to look.

- Jordan


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


--
Poul-Henning Kamp FreeBSD coreteam member
p...@freebsd.org   Real hackers run -current on their laptop.
FreeBSD -- It will take a long time before progress goes too far!


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



Re: Doesn't anyone care about the broken sio ??

1999-05-08 Thread Brian Feldman
On Sat, 8 May 1999, Jordan K. Hubbard wrote:

  I mailed a simple way to reproduce the serious brokeness of the
  serial port driver on my system and no one responds.
  
  What does this mean ?
 
 It means that nobody is probably willing to go bring up a MAME
 environment just to test this.  You need to isolate it to a more
 minimal test case if you want people to jump on what could be a local
 problem (some serial hardware is better behaved than others) or a
 misbehaving X server (which is masking interrupts for too long; see
 mailing list archives on this topic).  The more complex your
 reproduction case, in other words, the less likely it is that anyone
 will respond to it.

Hmm, so now you're the second to cite the possibility of X masking interrupts
too long, eh? ;) Actually, I use MAME all the time, and this problem does NOT
occur (XF86_SVGA on an S3 ViRGE/DX). Oh, user-ppp too of course. If I could
have reproduced this problem, I would have replied.

 
 If you can say here's a small stand-alone C program which hogs things
 to the extent that the serial driver seriously overruns its buffers
 then it's likely that someone will be at least motivated to compile,
 run and try it.  If it involves running some esoteric application
 which requires downloading data of questionable legality on top of it,
 it's far less likely that anyone will even bother to look.

MAME is a great piece of software, and in and of itself entirely legal; what
problem do you have with it?

 
 - Jordan
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 

 Brian Feldman_ __ ___   ___ ___ ___  
 gr...@unixhelp.org_ __ ___ | _ ) __|   \ 
 FreeBSD: The Power to Serve!  _ __ | _ \ _ \ |) |
 http://www.freebsd.org   _ |___)___/___/ 



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



Re: Doesn't anyone care about the broken sio ??

1999-05-08 Thread Jordan K. Hubbard
 MAME is a great piece of software, and in and of itself entirely legal; what
 problem do you have with it?

I'm not talking about MAME, go read the message again.

- Jordan


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



Re: Doesn't anyone care about the broken sio ??

1999-05-08 Thread Matthew Thyer
As far as I can tell, this is unrelated to newbus as the same actions
would trigger this problem before and after newbus.

I have been seeing this problem for many months (maybe years - but I've
only recently identified a set of actions to reproduce it every time).

The wierd thing is that I can download heaps of stuff all at the same
time (at 48000 baud) and get over 5.5 K/s without a silo overflow BUT
as soon as I run MAME, the serial port is stuffed and requires a reboot
to do the smallest amount of traffic.

NOTE:  This occurs AFTER I exit MAME or while I keep it running

Very strange.  And its not just on this hardware.

I'd just like someone to try to reproduce this.

I realise that downloading a MAME ROM is problematic but surely someone
out there owns an old space invaders machine or something similar.

Poul-Henning Kamp wrote:
 
 Bruce said, in his own quite way, that somebody had broken fast
 interrupts as part of newbus, and that is the end of that story.
 
 Poul-Henning
 
 In message 9.926181...@zippy.cdrom.com, Jordan K. Hubbard writes:
  I mailed a simple way to reproduce the serious brokeness of the
  serial port driver on my system and no one responds.
 
  What does this mean ?
 
 It means that nobody is probably willing to go bring up a MAME
 environment just to test this.  You need to isolate it to a more
 minimal test case if you want people to jump on what could be a local
 problem (some serial hardware is better behaved than others) or a
 misbehaving X server (which is masking interrupts for too long; see
 mailing list archives on this topic).  The more complex your
 reproduction case, in other words, the less likely it is that anyone
 will respond to it.
 
 If you can say here's a small stand-alone C program which hogs things
 to the extent that the serial driver seriously overruns its buffers
 then it's likely that someone will be at least motivated to compile,
 run and try it.  If it involves running some esoteric application
 which requires downloading data of questionable legality on top of it,
 it's far less likely that anyone will even bother to look.
 
 - Jordan
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 
 
 --
 Poul-Henning Kamp FreeBSD coreteam member
 p...@freebsd.org   Real hackers run -current on their laptop.
 FreeBSD -- It will take a long time before progress goes too far!
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message

-- 
/===\
| Work: matthew.th...@dsto.defence.gov.au | Home: thy...@camtech.net.au |
\===/
If it is true that our Universe has a zero net value for all conserved
quantities, then it may simply be a fluctuation of the vacuum of some
larger space in which our Universe is imbedded. In answer to the
question of why it happened, I offer the modest proposal that our
Universe is simply one of those things which happen from time to time.
 E. P. Tryon   from Nature Vol.246 Dec.14, 1973


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



Re: Doesn't anyone care about the broken sio ??

1999-05-08 Thread Matthew Thyer
*** STOP PRESS ***  I have just confirmed that restarting the X server
   is enough to fix the problem.   So my apologies to Bruce, -CURRENT
   and the whole FreeBSD community in general for blaming sio.

For the benefit of David Dawes, I'll quickly restate the problem:
Running xmame (from the ports collection) causes lots of silo overflows
with user mode ppp until I either restart the X server or reboot.
This occurs even after I exit xmame.  This is all on FreeBSD-CURRENT but
has been happenning for months and is not newbus related.

Thankyou Brian, you are the first to NOT reproduce the problem.

Note that all my recent testing of this has been at 300 MHz so dont jump
on me when you see that I normally overclock at 450 MHz.

So compare configuration:

My X server is XFree86 3.3.3.1 (from ports) and I use the XF86_SVGA server.
My video card is an ET6000 Jaton VIDEO-58P with 2.25 MB RAM.
I run in 16 bit colour with KDE 1.1.1.
I run MAME with sound enabled and I'm NOT using Luigi's PCM driver but
  rather the old driver (whats it called ??).
I have a new ABIT BX6 release 2.0 motherboard (with 16550s I assume).
I have an Intel Celeron 300a CPU which I normally run at 450 MHz (using
  a 100 MHz memory bus speed instead of 66 MHz but when I run it at 300
  MHz it doesn't make any difference to this problem).
I have PC100 SD RAM with an EPROM.  This RAM is rated at 7ns believe it
  or not.
I'd like to be using Soren's ATAPI driver but it doesn't like my CD-ROM
  drive so I'm using the normal wd driver with flags a0ffa0ff.
I'm using a KTX V.90 modem at 115000 baud.
I typically get 45333, 46667 or 48000 connections to my ISP.
I'm using a Microsoft serial mouse but am not using moused.
I do have a PS/2 intellimouse compatible mouse attached but only use it
  when I'm on the darkside (In Windows 95) as it doesn't work with moused
  or in XFree86.
My whole system has been re-compiled within the last 2 days (world, updated
  /etc, kernel AND ALL ports [XFree86 3.3.3.1, kde 1.1.1 etc etc etc])

Kernel config file (MATTE), /etc/XF86Config file and dmesg output attached.

I have one question about my kernel config:
How do I know when it's unsafe to use options CPU_DISABLE_5X86_LSSER ?
It would be good if the kernel disabled this option under those cases.


My /etc/ppp/ppp.conf is:

default:
 set log chat connect phase
 set device /dev/cuaa1
 set speed 115200
 allow users matt
 deny lqr
 deny chap
 set timeout 0
 set dial ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\ ATX4S95=47 OK-AT-OK 
\\dATDT\\T TIMEOUT 80 CONNECT
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0

isp:
 set phone ISPNUMBER
 set login TIMEOUT 10 sername:--sername: MYUSER ssword: MYPASS
 dial

Brian Feldman wrote:
 
 On Sat, 8 May 1999, Jordan K. Hubbard wrote:
 
   I mailed a simple way to reproduce the serious brokeness of the
   serial port driver on my system and no one responds.
  
   What does this mean ?
 
  It means that nobody is probably willing to go bring up a MAME
  environment just to test this.  You need to isolate it to a more
  minimal test case if you want people to jump on what could be a local
  problem (some serial hardware is better behaved than others) or a
  misbehaving X server (which is masking interrupts for too long; see
  mailing list archives on this topic).  The more complex your
  reproduction case, in other words, the less likely it is that anyone
  will respond to it.
 
 Hmm, so now you're the second to cite the possibility of X masking interrupts
 too long, eh? ;) Actually, I use MAME all the time, and this problem does NOT
 occur (XF86_SVGA on an S3 ViRGE/DX). Oh, user-ppp too of course. If I could
 have reproduced this problem, I would have replied.
 
 
  If you can say here's a small stand-alone C program which hogs things
  to the extent that the serial driver seriously overruns its buffers
  then it's likely that someone will be at least motivated to compile,
  run and try it.  If it involves running some esoteric application
  which requires downloading data of questionable legality on top of it,
  it's far less likely that anyone will even bother to look.
 
 MAME is a great piece of software, and in and of itself entirely legal; what
 problem do you have with it?
 
 
  - Jordan
 
 
  To Unsubscribe: send mail to majord...@freebsd.org
  with unsubscribe freebsd-current in the body of the message
 
 
  Brian Feldman_ __ ___   ___ ___ ___
  gr...@unixhelp.org_ __ ___ | _ ) __|   \
  FreeBSD: The Power to Serve!  _ __ | _ \ _ \ |) |
  http://www.freebsd.org   _ |___)___/___/

-- 
/===\
| Work: matthew.th...@dsto.defence.gov.au | Home: thy...@camtech.net.au |
\===/
If it is true that our Universe has a zero net value for all conserved
quantities, then it may simply be a fluctuation of the vacuum of some
larger space in 

Re: Doesn't anyone care about the broken sio ??

1999-05-08 Thread David Dawes
On Sun, May 09, 1999 at 12:39:56PM +0930, Matthew Thyer wrote:
*** STOP PRESS ***  I have just confirmed that restarting the X server
   is enough to fix the problem.   So my apologies to Bruce, -CURRENT
   and the whole FreeBSD community in general for blaming sio.

For the benefit of David Dawes, I'll quickly restate the problem:
Running xmame (from the ports collection) causes lots of silo overflows
with user mode ppp until I either restart the X server or reboot.
This occurs even after I exit xmame.  This is all on FreeBSD-CURRENT but
has been happenning for months and is not newbus related.

OK, so there may be a problem with the tseng driver in XFree86.  Does xmame
use DGA?  If so, the problem may be related to switching in and out of DGA
mode.  A test for that would be to try another DGA client and see if it
triggers the same problem (like the 'dga' test client that comes with XFree86
-- if you try it, press 'q' to exit it).

The first thing I would suspect is PCI retries.  The driver doesn't use
those by default, but a bug might cause it to overfill the ET6000's fifo
queue, which would bring the PCI retry mechanism into action.  Do you
only get the overflows when the X server is doing things?  Do you think
the X server process is using more CPU when this problem shows up compared
with before?

One other thing to try is adding the following line to the relevant Device
section in your XF86Config file:

  Option xaa_no_color_exp

and see if that makes any difference.

David


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