From owner-svn-src-all@freebsd.org Fri Apr 22 17:05:54 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 514E6B187FB for ; Fri, 22 Apr 2016 17:05:54 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from mail-io0-x235.google.com (mail-io0-x235.google.com [IPv6:2607:f8b0:4001:c06::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 16E6E1FA7 for ; Fri, 22 Apr 2016 17:05:54 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: by mail-io0-x235.google.com with SMTP id d62so31303003iof.2 for ; Fri, 22 Apr 2016 10:05:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=WpEQwitrhMa3wVLWcIg10+btBl/FF9K6tEVZ100zZbU=; b=IOa8KGWa+M2gs0z6GxDqQGo7czs0RCdgJnod2Cy/UMMI12z395q/ykJeevd5Pu/U0H ER5CHIGvlKhxaOJyDj0jSFhuBKiU+5ZdmxCv7Ztk8sKY2wDMRbsDABn25ybc7dx5grwK Y7f5SPuUHwUB2IBztUJ3oFWzyjkAu2+YqalZJ3sdu4ekUDjd4Bs7KD3PYlJ0H+UU6nJf dkWqi705JdFXTWpaqnypt+PoZOY6FA0eXNX1Tyy9LC03kOEU/4qbHCseeVYhT21QKUqa 8dK05qAGtPyVWjxK3/rPTuYDwTRhpCp/87Mc8jfaRL0DDNLZ0BA7kt2s9z7QRjdiZoxw h7/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=WpEQwitrhMa3wVLWcIg10+btBl/FF9K6tEVZ100zZbU=; b=OZYaNh1TfxFaDtP59Jz9qnpVj/GMoAbTVo+5dpGWUJWg/dom3np9QuZmGAQ+lU+UxM 8mb3/+HhfsAF1R/e9ErOpP4bp4OO/MF9Y20njOwtYAlAkm8y20aiehgQ2Yvy7txtJ8bA 7docBjqxY42S2NHVWLDJYeLjEYDq1piKNbMgV9HKxWnb5VmCxOn2JPDfeJ5BBU/UYdap WwoPbUJVJ305suaR2id/kC5SsztOIOiSuiXcA+4tXBwT+erBDvWOA6OmSkh94f00j0+V zX3pfxdmo8pnGSAkTDVI+EnODh8H+xRFJZQrwxFhVepS26VjE1Yn2Mos2jZ80dmmhxHT 37lQ== X-Gm-Message-State: AOPr4FUAw/b5B39XCJSc48D9stsk40RVa1AcTmZChchYlWRa/b2+5uGwKx+M08VEwhxb4g== X-Received: by 10.107.25.68 with SMTP id 65mr26833768ioz.98.1461344753215; Fri, 22 Apr 2016 10:05:53 -0700 (PDT) Received: from mac-wired.nflx.bsdimp.com ([50.253.99.174]) by smtp.gmail.com with ESMTPSA id b202sm4408850ioe.27.2016.04.22.10.05.52 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 22 Apr 2016 10:05:52 -0700 (PDT) Sender: Warner Losh Subject: Re: svn commit: r298426 - head/sys/dev/fdc Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Content-Type: multipart/signed; boundary="Apple-Mail=_39A524B2-C0A8-46A3-A843-86423F5BF027"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5.2 From: Warner Losh In-Reply-To: <4396944.pMOIsoy4We@ralph.baldwin.cx> Date: Fri, 22 Apr 2016 11:05:50 -0600 Cc: Hans Petter Selasky , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <6FBAFEC9-B22D-407A-A2DB-D0B37D519E57@bsdimp.com> References: <201604211837.u3LIbalm092252@repo.freebsd.org> <57191F7F.4010900@selasky.org> <4396944.pMOIsoy4We@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Apr 2016 17:05:54 -0000 --Apple-Mail=_39A524B2-C0A8-46A3-A843-86423F5BF027 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 22, 2016, at 10:43 AM, John Baldwin wrote: >=20 > On Thursday, April 21, 2016 08:44:15 PM Hans Petter Selasky wrote: >> On 04/21/16 20:37, John Baldwin wrote: >>> - tsleep(fdc, PRIBIO, "fdcrst", hz); >>> + if (cold) >>> + DELAY(1000000); >>> + else >>> + tsleep(fdc, PRIBIO, "fdcrst", hz); >>=20 >> Hi, >>=20 >> pause() and pause_sbt() does exactly this, checking for "cold" and = using >> DELAY(). >=20 > Yes, I know. In theory though the driver interrupt could fire during > normal operation aborting the sleep, so the wait channel for the !cold > case is actually there for a reason it seems. (That is, in the !cold = case > the driver might terminate the sleep early which you can't do with = pause.) Most of the sleeps in the fdc driver are more of a timeout waiting for = the interrupt to fire sorts of things. Post an action to the drive, and = tsleep for a second or until that action is done and you can get on with the next = thing. I=E2=80=99ll admit to being lazy and not checking this specific one, but = it=E2=80=99s a general design pattern in this driver... Warner --Apple-Mail=_39A524B2-C0A8-46A3-A843-86423F5BF027 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJXGlnvAAoJEGwc0Sh9sBEA9vsP/RmTVZy2U/fxgYHsnR89KxF7 SdkYENBKQz0USTznb/lv/ObsYDW9RxvVhtWbeyNJ+uvGb4ghOYrnbJuHhe0XHCZ9 0zotRQSKtkBM5F0RFNz9TYjBZfd2EsqTF7Nn0AU895yGKQIl0/MfOpP2XykvuvGs WyDKZF6mXQr5eQTjtL80EZb+StAn2rg0BwmbShrfsad6MwfcRYJ5chzliENpUc+y ULcsfzr/Dmwpa/LnR88JHK9IqXWKNWWgm4xmiOkRUa6yJf3CKUSkhD9Eoz7CV8gg nX+1am+yrqDJiB3W6ufE6wdWO4i0eBStnUuRJgJQfJsceNciNmIw0fv14atutV50 Ro+rEOgzSmxScuocQiU8ruxUcVPRyq5awMW05kwX4+hp3JjBmQwmo8EYB6TB0Hcn 74pNZnYKuVDqyzFpNojEwO0qmo2Y0tkg8fQO3D0e63a2/R4zQwPtk9vN0zSenB21 XaNKQjocvE5F2HZ4bRI/rbe6jntFgtNyPZ7EZDTQkymzr7TZEyxdfFTKq5f3CHwg xnMGKZ5lGRN5WiVYDmQE9GfdZZI4y6soC6tw/7NgDl2tNfwYLW56PV1SpS5Ova5i Mpfse1A3+IOLcz3oz2v4nRcNXHWc7D6LNXrUlOeuPjdKUrDtRcWeJr2HwhYYxOxE 7vVKLuoWLnvX7APFA2gP =RTJj -----END PGP SIGNATURE----- --Apple-Mail=_39A524B2-C0A8-46A3-A843-86423F5BF027--