From owner-cvs-src@FreeBSD.ORG Sun Nov 27 01:04:15 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B0B416A41F; Sun, 27 Nov 2005 01:04:15 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0511543D8D; Sun, 27 Nov 2005 01:04:02 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id AE91F46B55; Sat, 26 Nov 2005 20:03:59 -0500 (EST) Date: Sun, 27 Nov 2005 01:03:59 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org In-Reply-To: <200511270055.jAR0tIkF032480@repoman.freebsd.org> Message-ID: <20051127005622.H81764@fledge.watson.org> References: <200511270055.jAR0tIkF032480@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1104699872-1133053439=:81764" Cc: Subject: Re: cvs commit: src/sys/sys time.h src/sys/kern kern_time.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Nov 2005 01:04:15 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1104699872-1133053439=:81764 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Sun, 27 Nov 2005, Robert Watson wrote: > Add experimental low-precision clockid_t names corresponding to these > clocks, but implemented using cached timestamps in kernel rather than > a full time counter query. This offers a minimum update rate of 1/HZ, > but in practice will often be more frequent due to the frequency of > time stamping in the kernel: > > New clockid_t name Approximates existing clockid_t > > CLOCK_REALTIME_FAST CLOCK_REALTIME > CLOCK_MONOTONIC_FAST CLOCK_MONOTONIC > CLOCK_UPTIME_FAST CLOCK_UPTIME > > Add one additional new clockid_t, CLOCK_SECOND, which returns the > current second without performing a full time counter query or cache > lookup overhead to make sure the cached timestamp is stable. This is > intended to support very low granularity consumers, such as time(3). These changes are primarily intended to support the identification of time-associated bottlenecks and allow experimentation with application scoped reduction in quality of time use. Attached is a small LD_PRELOAD library to allow applications to be switched to the _FAST variants for gettimeofday(). Build and install, then set: LD_PRELOAD=/usr/lib/libwrapper.so ; export LD_PRELOAD This is not intended to be the last word in how this should be done -- more, to facilitate some experimentation by providing some framework for experimentation (i.e., a sample API and code to tweak applications). I expect that the details will be subject to substantial change. :-) Robert N M Watson --0-1104699872-1133053439=:81764 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=Makefile Content-Transfer-Encoding: BASE64 Content-ID: <20051127010359.W81764@fledge.watson.org> Content-Description: Content-Disposition: attachment; filename=Makefile IyAkRnJlZUJTRCQNCg0KTElCPQkJd3JhcHBlcg0KU0hMSUJfTUFKT1I9CTEN ClNSQ1M9CQl3cmFwcGVyLmMNCg0KTk9fTUFOPQ0KDQouaW5jbHVkZSA8YnNk LmxpYi5taz4NCg== --0-1104699872-1133053439=:81764 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=wrapper.c Content-Transfer-Encoding: BASE64 Content-ID: <20051127010359.E81764@fledge.watson.org> Content-Description: Content-Disposition: attachment; filename=wrapper.c LyotDQogKiBDb3B5cmlnaHQgKGMpIDIwMDUgUm9iZXJ0IE4uIE0uIFdhdHNv bg0KICogQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqDQogKiBSZWRpc3RyaWJ1 dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo IG9yIHdpdGhvdXQNCiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KICogYXJl IG1ldDoNCiAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQogKiAgICBub3RpY2Us IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp c2NsYWltZXIuDQogKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KICogICAg bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv d2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KICogICAgZG9jdW1lbnRhdGlvbiBh bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry aWJ1dGlvbi4NCiAqDQogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ IFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EDQog KiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCiAqIElNUExJRUQgV0FSUkFO VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFDQogKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW RU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM RQ0KICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwNCiAqIERBTUFH RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO VCBPRiBTVUJTVElUVVRFIEdPT0RTDQogKiBPUiBTRVJWSUNFUzsgTE9TUyBP RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ VElPTikNCiAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUDQogKiBM SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZDQogKiBPVVQgT0YgVEhFIFVT RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP U1NJQklMSVRZIE9GDQogKiBTVUNIIERBTUFHRS4NCiAqDQogKiAkRnJlZUJT RCQNCiAqLw0KDQovKg0KICogU21hbGwgd3JhcHBlciBsaWJyYXJ5IHRvIHN1 YnN0aXR1dGUgaW1wbGVtZW50YXRpb25zIG9mIGdldHRpbWVvZmRheSgyKSBh bmQNCiAqIHRpbWUoMykgd2l0aCBsb3dlciByZXNvbHV0aW9uIHZhcmlhdGlv bnMuICB0aW1lKDMpIGlzIHVuY29uZGl0aW9uYWxseQ0KICogZGVncmFkZWQs IHNpbmNlIGl0IHdpbGwgcmV0dXJuIGEgdHJ1bmNhdGVkIHRpbWUgYW55d2F5 LiAgZ2V0dGltZW9mZGF5KDMpDQogKiBjaGVja3MgdGhlIFRJTUVXUkFQUEVS IGVudmlyb25tZW50YWwgdmFyaWFibGUsIHdoaWNoIGNhbiBiZSBzZXQgdG8g ZWl0aGVyDQogKiAiUFJFQ0lTRSIgb3IgIkZBU1QiLg0KICovDQoNCiNpbmNs dWRlIDxzeXMvdGltZS5oPg0KDQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5j bHVkZSA8c3RyaW5nLmg+DQoNCnN0YXRpYyBpbnQJCXRpbWV3cmFwcGVyX2lu aXRpYWxpemVkOw0Kc3RhdGljIGNsb2NraWRfdAl0aW1ld3JhcHBlcl9jbG9j azsNCg0KLyoNCiAqIFNlbGVjdCB3aGF0ZXZlciBzeXN0ZW0gZGVmYXVsdCBp cyBwcmVzZW50IGZvciBDTE9DS19SRUFMVElNRSBhcyB0aGUNCiAqIGRlZmF1 bHQgaWYgdGhlIGVudmlyb25tZW50YWwgdmFyaWFibGUgaXMgdW5zZXQsIG9y IHNldCB0byBhbiBpbnZhbGlkDQogKiB2YWx1ZS4NCiAqLw0KI2RlZmluZQlU SU1FV1JBUFBFUl9FTlYJCSJUSU1FV1JBUFBFUiINCiNkZWZpbmUJVElNRVdS QVBQRVJfREVGQVVMVAlDTE9DS19SRUFMVElNRQ0KI2RlZmluZQlUSU1FV1JB UFBFUl9TVFJQUkVDSVNFCSJQUkVDSVNFIg0KI2RlZmluZQlUSU1FV1JBUFBF Ul9TVFJGQVNUCSJGQVNUIg0KDQpzdGF0aWMgdm9pZA0KdGltZXdyYXBwZXJf aW5pdGlhbGl6ZSh2b2lkKQ0Kew0KCWNvbnN0IGNoYXIgKndoaWNoY2xvY2tf ZW52Ow0KDQoJd2hpY2hjbG9ja19lbnYgPSBnZXRlbnYoVElNRVdSQVBQRVJf RU5WKTsNCglpZiAod2hpY2hjbG9ja19lbnYgPT0gTlVMTCkgew0KCQl0aW1l d3JhcHBlcl9jbG9jayA9IFRJTUVXUkFQUEVSX0RFRkFVTFQ7DQoJCXRpbWV3 cmFwcGVyX2luaXRpYWxpemVkID0gMTsNCgkJcmV0dXJuOw0KCX0NCg0KCWlm IChzdHJjbXAod2hpY2hjbG9ja19lbnYsIFRJTUVXUkFQUEVSX1NUUlBSRUNJ U0UpID09IDApDQoJCXRpbWV3cmFwcGVyX2Nsb2NrID0gQ0xPQ0tfUkVBTFRJ TUVfUFJFQ0lTRTsNCgllbHNlIGlmIChzdHJjbXAod2hpY2hjbG9ja19lbnYs IFRJTUVXUkFQUEVSX1NUUkZBU1QpID09IDApDQoJCXRpbWV3cmFwcGVyX2Ns b2NrID0gQ0xPQ0tfUkVBTFRJTUVfRkFTVDsNCgllbHNlDQoJCXRpbWV3cmFw cGVyX2Nsb2NrID0gVElNRVdSQVBQRVJfREVGQVVMVDsNCgl0aW1ld3JhcHBl cl9pbml0aWFsaXplZCA9IDE7DQp9DQoNCmludA0KZ2V0dGltZW9mZGF5KHN0 cnVjdCB0aW1ldmFsICp0cCwgc3RydWN0IHRpbWV6b25lICp0enApDQp7DQoJ c3RydWN0IHRpbWVzcGVjIHRzOw0KDQoJaWYgKCF0aW1ld3JhcHBlcl9pbml0 aWFsaXplZCkNCgkJdGltZXdyYXBwZXJfaW5pdGlhbGl6ZSgpOw0KDQoJLyoN CgkgKiBYWFhSVzogTm90IGlkZWFsLCBzaW5jZSByZXR1cm5pbmcgRUlOVkFM IGZyb20gZ2V0dGltZW9mZGF5KCkgaXNuJ3QNCgkgKiBleHBlY3RlZC4gIEZh bGwgYmFjayB0byB0aGUgZ2V0dGltZW9mZGF5KCkgc3lzdGVtIGNhbGwgaW5z dGVhZD8NCgkgKi8NCglpZiAoY2xvY2tfZ2V0dGltZSh0aW1ld3JhcHBlcl9j bG9jaywgJnRzKSA8IDApDQoJCXJldHVybiAoLTEpOw0KDQoJdHAtPnR2X3Nl YyA9IHRzLnR2X3NlYzsNCgl0cC0+dHZfdXNlYyA9IHRzLnR2X25zZWMgLyAx MDAwOw0KDQoJcmV0dXJuICgwKTsNCn0NCg0KdGltZV90DQp0aW1lKHRpbWVf dCAqdGxvYykNCnsNCglzdHJ1Y3QgdGltZXNwZWMgdHM7DQoNCglpZiAoY2xv Y2tfZ2V0dGltZShDTE9DS19TRUNPTkQsICZ0cykgPCAwKSB7DQoJCWlmICh0 bG9jICE9IE5VTEwpDQoJCQkqdGxvYyA9IC0xOw0KCQlyZXR1cm4gKC0xKTsN Cgl9DQoNCglpZiAodGxvYyAhPSBOVUxMKQ0KCQkqdGxvYyA9IHRzLnR2X3Nl YzsNCg0KCXJldHVybiAodHMudHZfc2VjKTsNCn0NCg== --0-1104699872-1133053439=:81764--