From owner-p4-projects@FreeBSD.ORG Sun Dec 6 23:26:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4347F1065670; Sun, 6 Dec 2009 23:26:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07F6F106566B for ; Sun, 6 Dec 2009 23:26:51 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E9CBD8FC0C for ; Sun, 6 Dec 2009 23:26:50 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nB6NQoji094289 for ; Sun, 6 Dec 2009 23:26:50 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nB6NQoVv094287 for perforce@freebsd.org; Sun, 6 Dec 2009 23:26:50 GMT (envelope-from mav@freebsd.org) Date: Sun, 6 Dec 2009 23:26:50 GMT Message-Id: <200912062326.nB6NQoVv094287@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171474 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Dec 2009 23:26:51 -0000 http://p4web.freebsd.org/chv.cgi?CH=171474 Change 171474 by mav@mav_mavtest on 2009/12/06 23:25:51 Be more polite to freeze underruns in production. It is bad, but not fatal. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#133 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#133 (text+ko) ==== @@ -4152,7 +4152,10 @@ KASSERT(count <= dev->ccbq.queue.qfrozen_cnt, ("xpt_release_devq: requested %u > present %u\n", count, dev->ccbq.queue.qfrozen_cnt)); - dev->ccbq.queue.qfrozen_cnt -= count; + if (count <= dev->ccbq.queue.qfrozen_cnt) + dev->ccbq.queue.qfrozen_cnt -= count; + else + dev->ccbq.queue.qfrozen_cnt = 0; if (dev->ccbq.queue.qfrozen_cnt == 0) { /* * No longer need to wait for a successful @@ -4190,7 +4193,8 @@ KASSERT(sendq->qfrozen_cnt > 0, ("xpt_release_simq: requested 1 > present %u\n", sendq->qfrozen_cnt)); - sendq->qfrozen_cnt--; + if (sendq->qfrozen_cnt > 0) + sendq->qfrozen_cnt--; if (sendq->qfrozen_cnt == 0) { /* * If there is a timeout scheduled to release this