From owner-freebsd-current@FreeBSD.ORG Fri Feb 22 03:53:33 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3864B30D; Fri, 22 Feb 2013 03:53:33 +0000 (UTC) (envelope-from davide.italiano@gmail.com) Received: from mail-ve0-f175.google.com (mail-ve0-f175.google.com [209.85.128.175]) by mx1.freebsd.org (Postfix) with ESMTP id C94C82CA; Fri, 22 Feb 2013 03:53:32 +0000 (UTC) Received: by mail-ve0-f175.google.com with SMTP id cy12so207493veb.34 for ; Thu, 21 Feb 2013 19:53:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=7qbxgqgSpPJZeN5lalnzY5kOtIbV2R/2bhiI3wcB/W0=; b=qgKPn8bFS4XPo8bu2OzbqJZBuY7EwsEypo+pleBjxgFLeJGSK08sAmgqI3T5D2fsyA kDjttgRZGPDMk3eUtTTLEC+nMAQJ4y0cz17Xhk7OuUPU/MXtWl2TIWZXXy4hfzjFgQiA 7GjKQoOGfAMgzFOstKF1r0sy1pCRz5HLuoykox/yQOVj9JKfOPz+GTqCN+Vic8ePko2Y 0IvQIqJCpnmn9Yymd4SkYo2MINfRwuutSMSVC6PTpOwwOP9CoQ2eNemTCKBiDiFfvu66 JtsD62k63fkA+EGZXfx+21pMqfuUGmvrGqaQd57lI+uySkAOwtxTuoZCke5BE7WpvxPT nAqQ== MIME-Version: 1.0 X-Received: by 10.52.88.237 with SMTP id bj13mr554677vdb.75.1361505211938; Thu, 21 Feb 2013 19:53:31 -0800 (PST) Sender: davide.italiano@gmail.com Received: by 10.220.34.203 with HTTP; Thu, 21 Feb 2013 19:53:31 -0800 (PST) In-Reply-To: <20130217024220.GA81224@onelab2.iet.unipi.it> References: <50D03173.9080904@FreeBSD.org> <20121225232126.GA47692@alchemy.franken.de> <50DB4EFE.2020600@FreeBSD.org> <20130106152313.GD26039@alchemy.franken.de> <50EBF921.2000304@FreeBSD.org> <20130113180940.GM26039@alchemy.franken.de> <50F30CAB.3000001@FreeBSD.org> <20130121095457.GL85306@alchemy.franken.de> <511DEA46.5010509@mu.org> <20130217024220.GA81224@onelab2.iet.unipi.it> Date: Fri, 22 Feb 2013 04:53:31 +0100 X-Google-Sender-Auth: pwpsE-ZSxki7VfIPmsnD_C98mmc Message-ID: Subject: Re: [RFC/RFT] calloutng From: Davide Italiano To: Luigi Rizzo Content-Type: text/plain; charset=ISO-8859-1 Cc: Alexander Motin , Alfred Perlstein , Marius Strobl , Poul-Henning Kamp , FreeBSD Current , 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Feb 2013 03:53:33 -0000 The patch has been splitted in smaller logical chunks in order to improve readability and facilitate review. The whole code can be found here: http://people.freebsd.org/~davide/calloutng_split/ In particular: http://people.freebsd.org/~davide/calloutng_split/sbintime.diff brings the new type 32.32 fixed point used in lieu of 'int ticks' for the new callout mechanism and relative functions (conversion from to {timeval,bintime,timespec}, sbinuptime(), getsbinuptime()) This change is preliminary to http://people.freebsd.org/~davide/calloutng_split/callout_internals.diff which contains all the callout changes internally (introduction of direct dispatching, conversion to sbintime, new precision mechanism) http://people.freebsd.org/~davide/calloutng_split/cpuidle.diff (see r242905) introduce some optimization in the sleep time calculation and choose of the optimal sleep state, when CPU is idle. http://people.freebsd.org/~mav/calloutng-20130221/libprocstatfix.diff is a workaround in libprocstat in order to allow world to build after changes. About this one, I'm not quite sure is the best solution, so if there are other opinions, I'd be more than happy to hear. Other patches available in the directory converts some kernel consumers of callout(9) to the new interface (nanosleep, poll, select, kqueue, syscons, etc...). My plan is to commit the whole patchset March 4th, unless there are valid reasons to not do so. Any cooment is (as always) appreciated. Thanks, Davide