From owner-freebsd-hackers@FreeBSD.ORG Sun Apr 26 18:13:45 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3770C106564A for ; Sun, 26 Apr 2009 18:13:45 +0000 (UTC) (envelope-from admin@mercurysquad.com) Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.173]) by mx1.freebsd.org (Postfix) with ESMTP id 19F808FC15 for ; Sun, 26 Apr 2009 18:13:44 +0000 (UTC) (envelope-from admin@mercurysquad.com) Received: by wf-out-1314.google.com with SMTP id 24so1366295wfg.7 for ; Sun, 26 Apr 2009 11:13:44 -0700 (PDT) MIME-Version: 1.0 Sender: admin@mercurysquad.com Received: by 10.142.44.11 with SMTP id r11mr1046974wfr.186.1240768325431; Sun, 26 Apr 2009 10:52:05 -0700 (PDT) Date: Sun, 26 Apr 2009 23:22:05 +0530 X-Google-Sender-Auth: 3cbdd346b6650fd0 Message-ID: <66b068eb0904261052q678320bcm63618c65bba2c429@mail.gmail.com> From: Prashant Vaibhav To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: SoC 2009: Redesign the callout API X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Apr 2009 18:13:45 -0000 Hello, I am Prashant Vaibhav, a 22 year old Indian guy (undergrad from Germany) and I'm a Google Summer of Code participant for 2009. My work will be focused on improving the callout/timeout API in the kernel. It was inspired by the tickless kernel feature present in XNU and Linux (since recent releases), and discussions made on the mailing lists a few years back about problems with the current implementation. Basically, the callout API will be redesigned to use opaque 'ticks' instead of explicitly x/HZ, and provide for certain additional features (like specifying a time range while arming). Beneath the hood, the implementation will be completely redesigned to use more efficient method of storing the callout list, and using any available timer in a hardware-independent way. It will then be extended to support deadline mode on capable systems (ie. dynamic HZ). This means for machines having an HPET or similar deadline-capable timer with a long range, the kernel will be completely tickless. On other machines with only a PIT, the 'ticks' could be as infrequent as a few times a second to once every 2 seconds, instead of 100 Hz. The major advantages are that the usage of hardware-dependent ticks and abstracting out timer hardware will make higher-resolution callouts possible, and in turn, making the kernel tickless will allow for better power savings, more efficient usage of CPU clock cycles, and better performance in virtual machines. More details can be found at the wiki page: http://wiki.freebsd.org/SOC2009PrashantVaibhav Best regards, Prashant Vaibhav