Subject: Re: Heavy /dev/lpt use burdens system.
To: None <explorer@flame.org>
From: Brook Milligan <brook@biology.nmsu.edu>
List: port-i386
Date: 09/10/1999 14:30:05
Brook Milligan <brook@biology.nmsu.edu> writes:
> I have been trying the interruptless driver, but it goes incredibly
> slowly. Like a line a minute or something. I was thinking of
> switching to the interrupt driver, but now I'm not so sure that will
> help.
>
> What am I doing wrong?
What sort of printer?
Just an Epson dot matrix dinosaur.
The way the non-interrupt using driver works is to send a large chunk
of data every few clock ticks, then give up control for another clock
tick or two.
This lets other things jump in and do their thing, but it also limits
how much data you can send. Generally, however, I've found the
non-interrupt driver to be far better than the interrupt driven one.
OK, I suppose that explains it. I'm sending graphics data generated
by ghostscript when translating some postscript. I suppose the blocks
of data being sent are too small relative to what the printer can
output, so that the throughput is reduced. I know the printer will go
much faster, because when driven by an HP print server it does so.
Perhaps there should be a middle ground? Send as much data to the
printer as it will take, when it would block, enable interrupts and
give up control. When an interrupt comes in, disable them again and
send stuff to the printer.
Sending data in blocks as large as the printer can handle would
probably be a win here.
Thanks for the explanation.
Cheers,
Brook