From owner-cvs-src@FreeBSD.ORG  Fri Jan 28 05:02:14 2005
Return-Path: <owner-cvs-src@FreeBSD.ORG>
Delivered-To: cvs-src@freebsd.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP
	id 7B3B016A4CE; Fri, 28 Jan 2005 05:02:14 +0000 (GMT)
Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115])
	by mx1.FreeBSD.org (Postfix) with ESMTP
	id 1EA0743D54; Fri, 28 Jan 2005 05:02:14 +0000 (GMT)
	(envelope-from scottl@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j0S52DL3091780;
	Fri, 28 Jan 2005 05:02:13 GMT
	(envelope-from scottl@repoman.freebsd.org)
Received: (from scottl@localhost)
	by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j0S52DTf091779;
	Fri, 28 Jan 2005 05:02:13 GMT
	(envelope-from scottl)
Message-Id: <200501280502.j0S52DTf091779@repoman.freebsd.org>
From: Scott Long <scottl@FreeBSD.org>
Date: Fri, 28 Jan 2005 05:02:13 +0000 (UTC)
To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org,
	cvs-all@FreeBSD.org
X-FreeBSD-CVS-Branch: HEAD
Subject: cvs commit: src/sys/dev/ips ips.c ips.h ips_commands.c ips_disk.c
 ips_ioctl.c ips_pci.c
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Jan 2005 05:02:14 -0000

scottl      2005-01-28 05:02:13 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/ips          ips.c ips.h ips_commands.c ips_disk.c 
                         ips_ioctl.c ips_pci.c 
  Log:
  Lock the IPS driver and bring it out from under Giant.  Also do some
  significant clean up and optimizations:
  - don't call bioq_disksort() on every command, the hardware will do that for
    us.
  - remove all of the complicated bio deferral code.  bio's that can't be
    serviced immediately can just wait on the bioq.
  - Only reserve one command object for doing control commands to the card.
    This simplifies a lot of code and significantly reduces the size of the
    command struct.
  - Allocate commands out of a slab instead of embedding them into the softc.
  - Call the command action method directly instead of having ips_get_free_cmd()
    call it indirectly.
  
  MFC After: 1 week
  
  Revision  Changes    Path
  1.14      +56 -90    src/sys/dev/ips/ips.c
  1.12      +9 -15     src/sys/dev/ips/ips.h
  1.12      +65 -119   src/sys/dev/ips/ips_commands.c
  1.7       +3 -3      src/sys/dev/ips/ips_disk.c
  1.6       +10 -4     src/sys/dev/ips/ips_ioctl.c
  1.11      +6 -3      src/sys/dev/ips/ips_pci.c