Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 01 Nov 2006 00:02:24 -0800
From:      perryh@pluto.rain.com
To:        mexas@bristol.ac.uk
Cc:        freebsd-questions@freebsd.org
Subject:   Re: lpt0 printer slows system response significantly
Message-ID:  <45485490.D5trgMIQ1JYsEyMX%perryh@pluto.rain.com>
In-Reply-To: <20061101000426.GA60303@mech-aslap33.men.bris.ac.uk>
References:  <20061101000426.GA60303@mech-aslap33.men.bris.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
> PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
>  18 root        1 -60 -179     0K     8K *Giant  15:09 77.05% irq7: lpt0
>  11 root        1 171   52     0K     8K RUN     48.0H 11.13% idle

The interrupt service for the parallel port is using over 3/4 of
the CPU, and half of the rest is "idle".

I take it this is a laser printer, which can consume bytes from the
parallel port as fast as the processor can send them.  Top-of-head
dump of ways to cut down on the interrupt traffic:

* Get a DMA-capable parallel port (supposing such exist, and FreeBSD
  supports them);

* Move the printer to a network connection or dedicated print server;

* Somehow tell the printer not to receive so quickly.

Alternatively, one possible way to handle that sort of interrupt
load without bogging down is to get a second CPU and run SMP, so
you've still got a CPU available for tasks when one is swamped
with interrupt traffic.

The other thing that *might* help some is more RAM, if it happens
that the idle time is caused by page wait due to the set of active
threads needing more RAM than you have, but this will at best get
your tasks up from 1/9 of the CPU to 2/9.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45485490.D5trgMIQ1JYsEyMX%perryh>