From owner-freebsd-questions@FreeBSD.ORG Wed Nov 1 09:23:52 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6CE3416A407 for ; Wed, 1 Nov 2006 09:23:52 +0000 (UTC) (envelope-from perryh@pluto.rain.com) Received: from agora.rdrop.com (agora.rdrop.com [199.26.172.34]) by mx1.FreeBSD.org (Postfix) with ESMTP id CEDEB43D49 for ; Wed, 1 Nov 2006 09:23:51 +0000 (GMT) (envelope-from perryh@pluto.rain.com) Received: from agora.rdrop.com (66@localhost [127.0.0.1]) by agora.rdrop.com (8.13.1/8.12.7) with ESMTP id kA19Jd6b004444 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 1 Nov 2006 01:21:40 -0800 (PST) (envelope-from perryh@pluto.rain.com) Received: (from uucp@localhost) by agora.rdrop.com (8.13.1/8.12.9/Submit) with UUCP id kA19Jd7R004443; Wed, 1 Nov 2006 01:19:39 -0800 (PST) Received: from fbsd61 ([192.168.200.61]) by pluto.rain.com (4.1/SMI-4.1-pluto-M2060407) id AA12708; Wed, 1 Nov 06 00:01:48 PST Date: Wed, 01 Nov 2006 00:02:24 -0800 From: perryh@pluto.rain.com To: mexas@bristol.ac.uk Message-Id: <45485490.D5trgMIQ1JYsEyMX%perryh@pluto.rain.com> References: <20061101000426.GA60303@mech-aslap33.men.bris.ac.uk> In-Reply-To: <20061101000426.GA60303@mech-aslap33.men.bris.ac.uk> User-Agent: nail 11.25 7/29/05 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org Subject: Re: lpt0 printer slows system response significantly X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 09:23:52 -0000 > 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.