From owner-freebsd-current Thu Jun 22 22:15:49 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id WAA21323 for current-outgoing; Thu, 22 Jun 1995 22:15:49 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id WAA21317 for ; Thu, 22 Jun 1995 22:15:44 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id PAA26155; Fri, 23 Jun 1995 15:13:12 +1000 Date: Fri, 23 Jun 1995 15:13:12 +1000 From: Bruce Evans Message-Id: <199506230513.PAA26155@godzilla.zeta.org.au> To: current@freebsd.org, jhs@vector.eikon.e-technik.tu-muenchen.de Subject: Re: kernel response Sender: current-owner@freebsd.org Precedence: bulk >When I print via the standard spooler (lpr -#2), a 300K file, going to an hp3p >laser via a parallel port, all screen updating goes dead for several seconds, >( the -#2 doubles the data, doesnt use the PCL5 print twice escape sequence). Interrupt driven lpt output can't go faster than about 150K/sec to an ISA port (each byte takes at least 4 i/o's in the driver and 2 in the interrupt handler (unless AUTO_EOI_1 is defined - it should be the default but isn't) and each i/o takes > 1usec). If the printer can keep up with 150K/sec, then it will generate a solid block of interrupts and timeout routines, including the one that updates the screen, will not run for several seconds. 20 seconds for 3MB of output :-(. >So it seems the parallel port output flush is running at too high a priority >for too long. It isn't all that high, but it's higher than none, so it blocks timeouts, and it's equal to tty priority, so it may block echoing of type-ahead even for the console. sio uses timeouts so lpt interrupts certainly block everything except the interrupt handler. Bruce