From owner-freebsd-stable@FreeBSD.ORG Thu Jul 19 15:28:32 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E4B98106564A; Thu, 19 Jul 2012 15:28:32 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id A79338FC15; Thu, 19 Jul 2012 15:28:32 +0000 (UTC) Received: by pbbro2 with SMTP id ro2so4930423pbb.13 for ; Thu, 19 Jul 2012 08:28:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=EjgIM/aFCPg3KAaiv0qT1TwkXsENGMADbUxSsf8HHmc=; b=IlW3dmbVIxx8UZOX/0iCMQTgwlqjRSYoX/UUIp6cHYyQNAn+g/YKxEe3coMZq1h+Nt fBag9q4Mo1r/nKKawi4I9lL4aA2jmai/qN8Q4pJinnrmSmXbrGyPlYzj2dP4HOzAOilU AbaIMEjiT9I1+7lX8ITivf0Fe/F5WWQw0oDxtgeYvliR0XlrbAXyCCdfaa8ByENnloLm LYu8ku7UZzynvYjR4N78MjsYVZgp3W+25tQFxAgLamIYAnJPVvyo5YziLbFogrFpIwJ1 RcEgZk+CrDAA2U5XKJwdPBhkik4iV5YXGu8lPMrRTOswbamn8iqgkZKAhIdvVVcy4tMP dpZA== MIME-Version: 1.0 Received: by 10.68.221.106 with SMTP id qd10mr6318923pbc.42.1342711712419; Thu, 19 Jul 2012 08:28:32 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.68.191.138 with HTTP; Thu, 19 Jul 2012 08:28:32 -0700 (PDT) In-Reply-To: <5005CD83.306@greatbaysoftware.com> References: <4FDABA0B.5030702@greatbaysoftware.com> <4FFF34BA.9030002@greatbaysoftware.com> <4FFF9A50.40006@greatbaysoftware.com> <201207130939.54311.jhb@freebsd.org> <5005CD83.306@greatbaysoftware.com> Date: Thu, 19 Jul 2012 08:28:32 -0700 X-Google-Sender-Auth: AieDhroBs51cR5LqFsV22vaFZkY Message-ID: From: Adrian Chadd To: Steve McCoy Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Cc: Charles Owens , Alexander Motin , freebsd-stable@freebsd.org, John Baldwin Subject: Re: mfi(4) IO performance regression, post 8.1 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Jul 2012 15:28:33 -0000 Hm! A timer related bug? I'll CC mav@ on this, as it was his commit (and work in his general area.) I wonder what's going on - is it something to do with the two ACPI calls inserted there, or is it something to do with the change in event timer values? mav? Any ideas? Adrian On 17 July 2012 13:39, Steve McCoy wrote: > Alright, I've finally narrowed it down to r209897, which only affects > acpi_cpu_idle(): > > --- stable/8/sys/dev/acpica/acpi_cpu.c 2010/06/23 17:04:42 209471 > +++ stable/8/sys/dev/acpica/acpi_cpu.c 2010/07/11 11:58:46 209897 > @@ -930,12 +930,16 @@ > > /* > * Execute HLT (or equivalent) and wait for an interrupt. We can't > - * calculate the time spent in C1 since the place we wake up is an > - * ISR. Assume we slept half of quantum and return. > + * precisely calculate the time spent in C1 since the place we wake = up > + * is an ISR. Assume we slept no more then half of quantum. > */ > if (cx_next->type =3D=3D ACPI_STATE_C1) { > - sc->cpu_prev_sleep =3D (sc->cpu_prev_sleep * 3 + 500000 / hz) / 4= ; > + AcpiHwRead(&start_time, &AcpiGbl_FADT.XPmTimerBlock); > acpi_cpu_c1(); > + AcpiHwRead(&end_time, &AcpiGbl_FADT.XPmTimerBlock); > + end_time =3D acpi_TimerDelta(end_time, start_time); > + sc->cpu_prev_sleep =3D (sc->cpu_prev_sleep * 3 + > + min(PM_USEC(end_time), 500000 / hz)) / 4; > return; > } > > My current guess is that AcpiHwRead() is a problem on our hardware. It's = an > isolated change and, to my desperate eyes, the commit message implies tha= t > it isn't critical =97 Do you think we could buy ourselves some time by pu= lling > it out of our version of the kernel? Or is this essential for correctness= ? > Any thoughts are appreciated, thanks! > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"