From owner-svn-src-all@FreeBSD.ORG Thu Jun 23 15:26:02 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (unknown [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D457106566C; Thu, 23 Jun 2011 15:26:02 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [70.36.220.4]) by mx1.freebsd.org (Postfix) with ESMTP id CA1788FC16; Thu, 23 Jun 2011 15:26:01 +0000 (UTC) Received: from sa-nc-common-177.static.jnpr.net (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mail.xcllnt.net (8.14.4/8.14.4) with ESMTP id p5NFPvIZ073373 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 23 Jun 2011 08:26:01 -0700 (PDT) (envelope-from marcel@xcllnt.net) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Marcel Moolenaar In-Reply-To: <4E02989F.6040703@FreeBSD.org> Date: Thu, 23 Jun 2011 08:25:51 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <6D159261-7C57-4509-B41B-E440DBB4CBEA@xcllnt.net> References: <201106221640.p5MGejHY057164@svn.freebsd.org> <4E021C8E.8010904@FreeBSD.org> <201106221455.07540.jkim@FreeBSD.org> <201106221924.50458.jkim@FreeBSD.org> <4E028921.2040805@FreeBSD.org> <8B9DCBA3-C3EC-43EE-8BEC-858A280A2096@xcllnt.net> <4E02989F.6040703@FreeBSD.org> To: Alexander Motin X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andriy Gapon , Jung-uk Kim Subject: Re: svn commit: r223426 - in head/sys: dev/acpica kern sys x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jun 2011 15:26:02 -0000 On Jun 22, 2011, at 6:36 PM, Alexander Motin wrote: > Marcel Moolenaar wrote: >> On Jun 22, 2011, at 5:30 PM, Alexander Motin wrote: >>> Marcel Moolenaar wrote: >>>> On Jun 22, 2011, at 4:24 PM, Jung-uk Kim wrote: >>>>> I just realized kern_clocksource.c was excluded for arm and ia64. =20= >>>>> Here is updated patch. Please ignore the previous one. >>>> Any reason why we're not adding kern_clocksource.c for them? >>> Their event timers code still waits for refactoring. I have neither >>> documentation nor hardware for them. Help would be appreciated. >>=20 >> Can you give me a pointer to a document orpage that describes >> what is being refactored, why and how? >=20 > In short, timer management code was unified and formalized. Instead of > direct programming periodic timers from MD code and calling hard-/ > stat-/ profclock() from there, timer hardware should be exposed to the > MI kernel using sys/timeet.h API to allow kern_clocksource.c manage = it. > Last require calling its cpu_initclocks_bsp() and cpu_initclocks_ap() > callbacks from MD initialization code, and cpu_idleclock() and > cpu_activeclock() from MD cpu_idle(). >=20 > Here is some references: > man 4 eventtimers > = http://wiki.freebsd.org/201010DevSummit?action=3DAttachFile&do=3Dview&targ= et=3Dtimers.pdf > http://svnweb.freebsd.org/base?view=3Drevision&revision=3D209371 > http://svnweb.freebsd.org/base?view=3Drevision&revision=3D212541 >=20 > All architectures except ia64 and non-Marvell arm are already done, so > you may took any of them as reference. Ask me if you have any = questions. Can you give a quick outline of how all the various clock related initializations and support code relate, interact or even conflict? It's getting rather convoluted and want to make sure I get the ordering and timing right. Also: The ITC on ia64 is a per-CPU, one short and periodic timer that has a fixed frequency. Though the architecture does not guarantee that counters are synchronized, nor that all CPUs in a system run at the same frequency which means that the ITCs may not all run at the same frequency. Does the et code work with that or do I need to impose a restriction on what hardware configurations to support and/or revert to having the ITC be a global timer and run only on the BSP? Thanks, --=20 Marcel Moolenaar marcel@xcllnt.net