From owner-freebsd-current@FreeBSD.ORG  Sat Dec 15 18:05:37 2012
Return-Path: <owner-freebsd-current@FreeBSD.ORG>
Delivered-To: freebsd-current@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
 by hub.freebsd.org (Postfix) with ESMTP id E2C21256;
 Sat, 15 Dec 2012 18:05:37 +0000 (UTC)
 (envelope-from adrian.chadd@gmail.com)
Received: from mail-wi0-f180.google.com (mail-wi0-f180.google.com
 [209.85.212.180])
 by mx1.freebsd.org (Postfix) with ESMTP id E3A8F8FC12;
 Sat, 15 Dec 2012 18:05:36 +0000 (UTC)
Received: by mail-wi0-f180.google.com with SMTP id hj13so1151423wib.13
 for <multiple recipients>; Sat, 15 Dec 2012 10:05:35 -0800 (PST)
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;
 bh=yI89ZhXmodb2CDrycrx11CGIJo58aoQ0396euQN7jd4=;
 b=Zrrej/HM2rPuyEwwvqhf1igRhK60nQSuJ/DPvErHN8krQkaDUiA0cznkFYtdGrx9t6
 C1Mm3mx66Rz4otinllUioCLAWN5hwrmnonFpn0J6JeS2p+ZwSvJRGFYAxyIhMY6saPPQ
 lA8KzTJlA76WJ91YFJYKI1ptnIB7RpaBPsqErq4lfZX43b98yOUj/LvgoTtPrjHxyWLN
 XvJtoiqpx79hgFO4C21wbPjvyzA4K5Yqo1hryCxw8ddGQiOwjc9EGombsjqKqzEODqMe
 v9J3zIC/Q1NMHhPeVYh6bRA+6BBaJRp4M/5CN9jv2KqgoG/tzs7kjXzxXRdyRCoIrcd7
 PIJg==
MIME-Version: 1.0
Received: by 10.180.24.4 with SMTP id q4mr8289579wif.19.1355594735846; Sat, 15
 Dec 2012 10:05:35 -0800 (PST)
Sender: adrian.chadd@gmail.com
Received: by 10.217.57.9 with HTTP; Sat, 15 Dec 2012 10:05:35 -0800 (PST)
In-Reply-To: <50CCAB99.4040308@FreeBSD.org>
References: <50CCAB99.4040308@FreeBSD.org>
Date: Sat, 15 Dec 2012 10:05:35 -0800
X-Google-Sender-Auth: cbYU2j5_y0TgoBYMR87_RQx4cRI
Message-ID: <CAJ-VmonPu_9Psaha5aWXcukmjrr8yyU-PgY85Cnurzg-6JH3QQ@mail.gmail.com>
Subject: Re: [RFC/RFT] calloutng
From: Adrian Chadd <adrian@freebsd.org>
To: Alexander Motin <mav@freebsd.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: Davide Italiano <davide@freebsd.org>,
 FreeBSD Current <freebsd-current@freebsd.org>, freebsd-arch@freebsd.org
X-BeenThere: freebsd-current@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Discussions about the use of FreeBSD-current
 <freebsd-current.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-current>, 
 <mailto:freebsd-current-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-current>
List-Post: <mailto:freebsd-current@freebsd.org>
List-Help: <mailto:freebsd-current-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-current>,
 <mailto:freebsd-current-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 15 Dec 2012 18:05:38 -0000

Hi,

Can you please test with MIPS? David has a MIPS board now.

Can you also test that various performance tests haven't been
affected? Eg, do iperf tests through that MIPS board, configured up as
an AP.

Please test with a bunch of disk IO activity too.

I know this is a lot to ask for, but I'd hate to see some driver /
subsystem behaviour change because you didn't quite see the evil way
the callout mechanism is used, or how the timer stuff is affecting
driver pre-emption.

Thanks,


Adrian

On 15 December 2012 08:55, Alexander Motin <mav@freebsd.org> wrote:
> Hi.
>
> I'm sorry to interrupt review, but as usual good ideas came during the final
> testing, causing another round. :)  Here is updated patch for HEAD, that
> includes several new changes:
> http://people.freebsd.org/~mav/calloutng_12_15.patch
>
> The new changes are:
>  -- Precision and event aggregation code was reworked. Instead of previous
> -prec/+prec representation, precision is now single-sided -- -0/+prec. It
> allowed to significantly improve precision on long time intervals for APIs
> which imply that event should not happen before the specified time.
> Depending on CPU activity, mistake for long time intervals now will never be
> more then 1-500ms, even if specified precision allows more.
>  -- Some minor optimizations were made to reduce callout overhead and
> latency by 1.5-2us. Now on Core2Duo amd64 system with LAPIC eventtimer and
> TSC timecounter usleep(1) call from user-level executes in just 5-6us,
> instead of 7-8us before. Now it can do 180K cycles per second on single CPU
> with only partial CPU load.
>  -- Number of kernel subsystems (dcons, syscons, yarrow, led, atkbd,
> setrlimit) were modified to reduce number of interrupts, also with event
> aggregation by explicit specification of the acceptable events precision.
> Now my Core2Duo test system has only 30 interrupts per second in idle. If
> not remaining syscons events, it could easily be 15. My IvyBridge ultrabook
> first time in its history shown 5.5 hours of battery time with full screen
> brightness and 10 hours with lid closed.
>  -- Some kernel functions were added to make KPIs more complete.
>
> I've successfully tested this patch on amd64 and arm.
>
> --
> Alexander Motin
>
> _______________________________________________
> freebsd-arch@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"