From owner-freebsd-bugs Sun Nov 9 08:20:05 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA20386 for bugs-outgoing; Sun, 9 Nov 1997 08:20:05 -0800 (PST) (envelope-from owner-freebsd-bugs) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA20371; Sun, 9 Nov 1997 08:20:01 -0800 (PST) (envelope-from gnats) Resent-Date: Sun, 9 Nov 1997 08:20:01 -0800 (PST) Resent-Message-Id: <199711091620.IAA20371@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, rtm@eecs.harvard.edu Received: (from nobody@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA20217; Sun, 9 Nov 1997 08:16:55 -0800 (PST) (envelope-from nobody) Message-Id: <199711091616.IAA20217@hub.freebsd.org> Date: Sun, 9 Nov 1997 08:16:55 -0800 (PST) From: rtm@eecs.harvard.edu To: freebsd-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: www-1.0 Subject: kern/4992: SCSI disk scheduling disabled in 2.2.5 Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 4992 >Category: kern >Synopsis: SCSI disk scheduling disabled in 2.2.5 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Nov 9 08:20:00 PST 1997 >Last-Modified: >Originator: Robert Morris >Organization: Harvard University >Release: 2.2.5 >Environment: FreeBSD frenulum.eecs.harvard.edu 2.2.5-RELEASE FreeBSD 2.2.5-RELEASE #1: Sat Nov 8 17:45:42 EST 1997 rtm@frenulum.eecs.harvard.edu:/amd/dominator/disk/glan25/kung/rtm/sys-2.2.5/compile/BOTH i386 >Description: The call to tqdisksort() in sd.c seems to be effectively commented out by an #ifdef SDDISKSORT. If one turns on SDDISKSORT, tqdisksort() still doesn't schedule read requests, because of the "goto insert" early in the function. Fixing all this improves my system's total throughput on heavy multi-user loads by about 30% (when 20 processes are doing small reads from different parts of the disk). With this load, scheduling alone does slightly better than AHC_TAGENABLE by itself. Both together improve performance by an additional 15%. >How-To-Repeat: >Fix: >Audit-Trail: >Unformatted: