From owner-freebsd-arch@FreeBSD.ORG Sat Dec 15 18:14:39 2012 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 71F0E885; Sat, 15 Dec 2012 18:14:39 +0000 (UTC) (envelope-from davide.italiano@gmail.com) Received: from mail-vc0-f182.google.com (mail-vc0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id B9FAA8FC0C; Sat, 15 Dec 2012 18:14:38 +0000 (UTC) Received: by mail-vc0-f182.google.com with SMTP id fy27so3498890vcb.13 for ; Sat, 15 Dec 2012 10:14:37 -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=XAaxIesgeYTRBfjwUk8HCNywdiBP33u/wuBmbbbHCY0=; b=aklRXlzDbV+pFLuFHpLGZMxi0SCfsPsntQFWwE1y6Xo2jJgDwQqc7Dw0eCuwhZaZCF 0XJeiuiNjoZ9nWuBthnmAi3/50XgUP3qamt80Nd+y+1N3bOxtrd3XxvC9ha1akmrMEcA 6v5gqf4M2RWn0Yi8mn+nMCHfpEgJb/hTEj2cPMpTuvCz6cnvgqasF5Qg02w4MznxH3vC Wzey3delqwljHfID8eeI2x9XbNAkOaFaL9/FUzTtWsq82RyA00ifZlHhUNFQ1wZUGCdg DGLsxMTOkIC/WDqu1I7iOVM4mYglAZXJVJuxyelgWOL+SgYSb8O94u/FeW3H08cS0X5d wQ0A== MIME-Version: 1.0 Received: by 10.220.154.148 with SMTP id o20mr15374194vcw.54.1355595277325; Sat, 15 Dec 2012 10:14:37 -0800 (PST) Sender: davide.italiano@gmail.com Received: by 10.58.245.130 with HTTP; Sat, 15 Dec 2012 10:14:37 -0800 (PST) In-Reply-To: References: <50CCAB99.4040308@FreeBSD.org> Date: Sat, 15 Dec 2012 10:14:37 -0800 X-Google-Sender-Auth: WTlB-VC05qzxBuYU_Dgiq7YU3mY Message-ID: Subject: Re: [RFC/RFT] calloutng From: Davide Italiano To: Adrian Chadd Content-Type: text/plain; charset=ISO-8859-1 Cc: Alexander Motin , FreeBSD Current , freebsd-arch@freebsd.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Dec 2012 18:14:39 -0000 On Sat, Dec 15, 2012 at 10:05 AM, Adrian Chadd wrote: > Hi, > > Can you please test with MIPS? David has a MIPS board now. > Quoting from my first mail -- "We tested the code on amd64, MIPS and arm." I used the board you gave to me. I run only some "basic" tests, but I can look forward running something more complicated in order to track regressions (if any). > 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. > Can you be more specific? Do we need it configured as AP or this situation can be in some way simulated? > Please test with a bunch of disk IO activity too. > What benckmark/tool do you suggest? iozone? Do you think is better attaching some external drive and run test on that rather than on the flash present on the board? > 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. > I understand your concerns. I'll try to do my best in order to heavily test. Any kind of suggestion is obviously appreciated. > Thanks, > > > Adrian > > On 15 December 2012 08:55, Alexander Motin 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"