Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 1996 20:30:50 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs@freefall.freebsd.org, hsu@clinet.fi, scrappy@freefall.freebsd.org
Subject:   Re: kern/528
Message-ID:  <199604101030.UAA15447@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>Synopsis: slow 386 reports excessive interrupt-level buffer overlows

>State-Changed-From-To: open-closed
>State-Changed-By: scrappy
>State-Changed-When: Tue Apr 9 21:19:42 PDT 1996
>State-Changed-Why: 
>fixed setting 'options RS_IBUFSIZE=1024', with appropriate 
>modifications made to sio.c to allow for this

Erm.  This isn't an acceptable fix.  It breaks things unless you also
increase TTYHOG and perhaps some other magic numbers (TTYHOG must be
at least few hundred bytes larger than 2*RS_IBUFSIZE...).

I left the PR open to remind me to fix the problem properly someday.

Part of the problem was that softclock() is often delayed for several
clock ticks but sio assumed that it was only long delayed on extremely
overloaded systems.  This problem was moved sometime between 2.0.5R
and 2.1R when sio switched from timeouts to softtty interrupts.  Now
the problems are:
- softtty interrupts are masked by splhigh() and there is a bug somewhere
  that results in even clock interrupts on my p133 being masked for up to
  5 clock ticks.
- softtty interrupt handlers are preemptible by almost all h/w interrupt
  handlers, so the same hogs that prevent softclock() from running often
  enough (IDE disk interrupt handlers?) may prevent the softtty handlers
  from completing soon enough.

Bruce



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