From owner-freebsd-hackers@FreeBSD.ORG Tue Apr 3 17:31:29 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 940C51065675 for ; Tue, 3 Apr 2012 17:31:29 +0000 (UTC) (envelope-from gljennjohn@googlemail.com) Received: from mail-wg0-f42.google.com (mail-wg0-f42.google.com [74.125.82.42]) by mx1.freebsd.org (Postfix) with ESMTP id 1D6958FC22 for ; Tue, 3 Apr 2012 17:31:28 +0000 (UTC) Received: by wgbds11 with SMTP id ds11so3536876wgb.1 for ; Tue, 03 Apr 2012 10:31:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references:reply-to :x-mailer:mime-version:content-type:content-transfer-encoding; bh=j43Zd52MT1AQKfqvm5QnVWDf/eVGyOYZKcMVfslLKUw=; b=uObHRT05Ul0K8eWl+HECsRIibwvyURHndEB6voHJwx0gSaxDPvZ7LOssATw/9hdsRk 5+iRL2L1BVlwcirH2gIZ8RAEptbThy+Tlab9UUm33T3VBqG98ul6OP3MPjdagk8symPA mA/rmiWy+SQzrG6fEWQJ2ANqKvi4xCp4RwlEBZcBCnqTday+CegOR88g1l3ake3C1Qma yDO/GzL/5wTwD9QXgzIOh8ZOSbFj2m880wcl6nupnmhl5mlY1s+YFO640xdohVfbpY7E ULWUUyXkr20kfk2Z+W7VcORh+fyTpvt5GAexrb61xBzqZ1SGl66zDmbWdhnlJ4QiHv8F Ur1g== Received: by 10.180.88.199 with SMTP id bi7mr38417707wib.12.1333474288253; Tue, 03 Apr 2012 10:31:28 -0700 (PDT) Received: from ernst.jennejohn.org (p578E2A9A.dip.t-dialin.net. [87.142.42.154]) by mx.google.com with ESMTPS id 6sm44402034wiz.1.2012.04.03.10.31.26 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 03 Apr 2012 10:31:27 -0700 (PDT) Date: Tue, 3 Apr 2012 19:31:24 +0200 From: Gary Jennejohn To: Jerry Toung Message-ID: <20120403193124.46ad9de9@ernst.jennejohn.org> In-Reply-To: References: X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; amd64-portbld-freebsd10.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-hackers Subject: Re: CAM disk I/O starvation X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: gljennjohn@googlemail.com List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Apr 2012 17:31:29 -0000 On Mon, 2 Apr 2012 10:55:31 -0700 Jerry Toung wrote: > I am convinced that there is a bug in the CAM code that leads to I/O starvation. > I have already discussed this privately with some. I am now bringing this up to > the general audience to get more feedback. > I've observed this with my onboard ATI IXP700 AHCI SATA controller and 2 or 3 SATA disks. When one disk gets busy all others are pretty much blocked until it finishes. Seems to me that this behavior is (fairly) recent. [snip] > I have a patch and it fixes those problems. I can share it to the list > if requested to. > da0 and da1 now both automatically get 126 openings and based on that, > extra logic implements fairness in cam/cam_xpt.c. No more 0 MB/s on > da1. This is on 8.1-RELEASE FreeBSD. > It would be interesting to see your patch. I always run HEAD but maybe I could use it as a base for my own mods/tests. -- Gary Jennejohn