<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in time.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>2ff63af9 - sys: Remove $FreeBSD$: one-line .h pattern</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#2ff63af9</link>
        <description>sys: Remove $FreeBSD$: one-line .h patternRemove /^\s*\*+\s*\$FreeBSD\$.*$\n/

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Wed, 16 Aug 2023 17:54:18 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>83158c68 - time: s/ppsratecheck/eventratecheck</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#83158c68</link>
        <description>time: s/ppsratecheck/eventratecheckThe routine is used as a general event-limiting routine in places whichhave nothing to do with packets.Provide a define to keep everything happy.Reviewed by:	rewSponsored by:	Rubicon Communications, LLC (&quot;Netgate&quot;)Differential Revision:	https://reviews.freebsd.org/D38746

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Thu, 23 Feb 2023 12:49:11 +0000</pubDate>
        <dc:creator>Mateusz Guzik &lt;mjg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>35a33d14 - time(3): Optimize tvtohz() function.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#35a33d14</link>
        <description>time(3): Optimize tvtohz() function.List of changes:- Use integer multiplication instead of long multiplication, because the result is an integer.- Remove multiple if-statements and predict new if-statements.- Rename local variable name, &quot;ticks&quot; into &quot;retval&quot; to avoid shadowingthe system &quot;ticks&quot; global variable.Reviewed by:	kib@ and imp@MFC after:	1 weekSponsored by:	NVIDIA NetworkingDifferential Revision:  https://reviews.freebsd.org/D36859

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Thu, 20 Oct 2022 16:49:51 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ee29897f - time(3): Declare the minimum and maximum hz values supported.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#ee29897f</link>
        <description>time(3): Declare the minimum and maximum hz values supported.Reviewed by:	kib@ and imp@MFC after:      1 weekSponsored by:   NVIDIA NetworkingDifferential Revision:	https://reviews.freebsd.org/D37072

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Mon, 03 Oct 2022 09:08:53 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d97ecf71 - time(3): Increase precision of time conversion functions by using gcd.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#d97ecf71</link>
        <description>time(3): Increase precision of time conversion functions by using gcd.When converting times to and from units which have many leading zeros,it pays off to compute the greatest common divisor first, and then do thescaling product. This way all time unit conversion comes down to scaling asigned or unsigned 64-bit value by a fraction represented by two signedor unsigned 32-bit integers.SBT_1S is defined as 2^32 . When scaling using powers of 10 above 1,the gcd of SBT_1S and 10^N is always greater than or equal to 4,when N is greater or equal to 2.Scaling a sbt value to milliseconds is then done by multiplying by(1000 / 8) and dividing by (2^32 / 8).This trick allows for higher precision at very little additional CPU cost.It shall also be noted that the Xtosbt() functions prior to this patch,sometimes were off-by-one:For example when converting 1 / 8 of a second to sbt as 125ms the old sbtconversion function would compute 0x20000001 while the new function computes0x20000000 which multiplied by 8 becomes SBT_1S, which is the correct value.Reviewed by:	kib@Differential Revision:	https://reviews.freebsd.org/D36857MFC after:	1 weekSponsored by:	NVIDIA Networking

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Sun, 02 Oct 2022 22:15:09 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>10f44229 - Fix overflow errors in sbttous and sbttoms</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#10f44229</link>
        <description>Fix overflow errors in sbttous and sbttomsBoth of these functions would overflow for very large inputs.  Add testsfor them.  Also, add tests for the inverse functions, *stosbt, whoseoverflow errors were fixed by 4c30b9ecd47.PR:		263073MFC after:	1 weekSponsored by:	AxcientReviewed by:	impDifferential Revision: https://reviews.freebsd.org/D34809

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Wed, 06 Apr 2022 20:03:11 +0000</pubDate>
        <dc:creator>Alan Somers &lt;asomers@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>91e7bdcd - Add timespecvalid_interval macro and use it.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#91e7bdcd</link>
        <description>Add timespecvalid_interval macro and use it.Reviewed by:		jhb, imp (early rev)Differential revision:	https://reviews.freebsd.org/D34848MFC after:		2 weeks

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Mon, 25 Apr 2022 07:20:54 +0000</pubDate>
        <dc:creator>Dmitry Chagin &lt;dchagin@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4c30b9ec - fix integer overflow bugs in *stosbt</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#4c30b9ec</link>
        <description>fix integer overflow bugs in *stosbt68f57679d660 Fixed another class of integer overflows, but introduced aboundary condition for 2-4s in ns conversion, 2-~4000s in us conversionsand 2-~4,000,000s in ms conversions. This was because we bogusly usedSBT_1S for the notion of 1 second, instead of the appropriate power of10. To fix, just use the appropriate power of 10, which avoids theseoverflows.This caused some sleeps in ZFS to be on the order of an hour.MFC:			1 dayPR:			263073Sponsored by:		NetflixReviewed by:		asomersDifferential Revision:	https://reviews.freebsd.org/D34790

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Wed, 06 Apr 2022 03:35:27 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>7b797ba2 - time.h: reduce CLOCK_ namespace pollution, move to _clock_id.h</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#7b797ba2</link>
        <description>time.h: reduce CLOCK_ namespace pollution, move to _clock_id.hAttempt to comply with the strict namespace pollution requirements of_POSIX_C_SOURCE. Add guards to limit visitbility of CLOCK_ and TIMER_defines as appropriate. Only define the CLOCK_ variables relevant to thespecific standards. Move all the sharing to sys/_clock_id.h and maketime.h and sys/time.h both include that rather than copy due to thenow large number of clocks and compat defines.Please note: The old time.h previously used these newer dates:	CLOCK_REALTIME			199506	CLOCK_MONOTONIC			200112	CLOCK_THREAD_CPUTIME_ID		200112	CLOCK_PROCESS_CPUTIME_ID	200112but glibc defines all of these for 199309. glibc uses this date for allthese values, however, only CLOCK_REALTIME was in IEEE 1003.1b. Add acomment about this to document it. A large number of programs andlibraries assume that these will be defined for _POSIX_C_SOURCE =199309.In addition, leak CLOCK_UPTIME_FAST for the pocl package until it can beupdated to use a simple CLOCK_MONOTONIC.Reviewed by:		kibSponsored by:		NetflixDifferential Revision:	https://reviews.freebsd.org/D31056

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Fri, 30 Jul 2021 23:10:56 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>b45daaea - tcp: LRO timestamps have lost their previous precision</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#b45daaea</link>
        <description>tcp: LRO timestamps have lost their previous precisionRecently we had a rewrite to tcp_lro.c that was tested but one subtle changewas the move to a less precise timestamp. This causes all kinds of chaosin tcp&apos;s that do pacing and needs to be fixed to use the more precisetime that was there before.Reviewed by: mtuexen, gallatin, hselaskySponsored by: Netflix IncDifferential Revision:	https://reviews.freebsd.org/D30695

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Wed, 09 Jun 2021 17:58:54 +0000</pubDate>
        <dc:creator>Randall Stewart &lt;rrs@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>62693fe8 - Treat the boot loader as the same as the kernel for what&apos;s visible</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#62693fe8</link>
        <description>Treat the boot loader as the same as the kernel for what&apos;s visibleThe boot loader will be growing some (limited) support for some kernelinterfaces for some of the timekeeping routines to support zstd code.Allow the declarations for them to be visible when compiling for theboot loader, rather than treating it like a user-space environment(which stand.h already provides to a limited degree).

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Fri, 28 Aug 2020 17:55:54 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>aeafed21 - Make CLOCK_REALTIME and TIMER_ABSTIME available for XOPEN_SOURCE &gt;= 500.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#aeafed21</link>
        <description>Make CLOCK_REALTIME and TIMER_ABSTIME available for XOPEN_SOURCE &gt;= 500.Reported by:	jbeichPR:	247701Reviewed by:	jillesSponsored by:	The FreeBSD FoundationMFC after:	1 weekDifferential revision:	https://reviews.freebsd.org/D25554

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Tue, 14 Jul 2020 20:23:27 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>67580964 - Fix sbttons for values &gt; 2s</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#67580964</link>
        <description>Fix sbttons for values &gt; 2sAdd test against negative times. Add code to cope with larger valuesproperly.Discussed with: bde@ (quite some time ago, for an earlier version)

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Sat, 13 Apr 2019 04:46:35 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>68f57679 - Ensure that all values of ns, us and ms work for {n,u,m}stosbt</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#68f57679</link>
        <description>Ensure that all values of ns, us and ms work for {n,u,m}stosbtInteger overflows and wrong constants limited the accuracy of thesefunctions and created situatiosn where sbttoXs(Xstosbt(Y)) != Y. Thiswas especailly true in the ns case where we had millions of valuesthat were wrong.Instead, used fixed constants because there&apos;s no way to say ceil(X)for integer math. Document what these crazy constants are.Also, use a shift one fewer left to avoid integer overflow causingincorrect results, and adjust the equasion accordingly. Document this.Allow times &gt;= 1s to be well defined for these conversion functions(at least the Xstosbt). There&apos;s too many users in the tree that theywork for &gt;= 1s.This fixes a failure on boot to program firmware on the mlx4NIC. There was a msleep(1000) in the code. Prior to my recent roundingchanges, msleep(1000) worked, but msleep(1001) did not because the oldcode rounded to just below 2^64 and the new code rounds to just aboveit (overflowing, causing the msleep(1000) to really sleep 1ms).A test program to test all cases will be committed shortly. The testexaustively tries every value (thanks to bde for the test).Sponsored by: Netflix, IncDifferential Revision: https://reviews.freebsd.org/D18051

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Tue, 20 Nov 2018 07:11:23 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>023b87bf - When converting ns,us,ms to sbt, return the ceil() of the result</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#023b87bf</link>
        <description>When converting ns,us,ms to sbt, return the ceil() of the resultrather than the floor(). Returning the floor means thatsbttoX(Xtosbt(y)) != y for almost all values of y.  In practice, thisresults in a difference of at most 1 in the lsb of the sbintime_t.This difference is meaningless for all current users of thesefunctions, but is important for the newly introduced sysctl conversionroutines which implicitly rely on the transformation being idempotent.Sponsored by: Netflix, Inc

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Thu, 15 Nov 2018 16:02:13 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>6040822c - Make timespecadd(3) and friends public</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#6040822c</link>
        <description>Make timespecadd(3) and friends publicThe timespecadd(3) family of macros were imported from NetBSD back inr35029. However, they were initially guarded by #ifdef _KERNEL. In themeantime, we have grown at least 28 syscalls that use timespecs in someway, leading many programs both inside and outside of the base system toredefine those macros. It&apos;s better just to make the definitions public.Our kernel currently defines two-argument versions of timespecadd andtimespecsub.  NetBSD, OpenBSD, and FreeDesktop.org&apos;s libbsd, however, definethree-argument versions.  Solaris also defines a three-argument version, butonly in its kernel.  This revision changes our definition to match thecommon three-argument version.Bump _FreeBSD_version due to the breaking KPI change.Discussed with:	cem, jilles, ian, bdeDifferential Revision:	https://reviews.freebsd.org/D14725

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Mon, 30 Jul 2018 15:46:40 +0000</pubDate>
        <dc:creator>Alan Somers &lt;asomers@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>89e560f4 - This commit brings in a new refactored TCP stack called Rack.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#89e560f4</link>
        <description>This commit brings in a new refactored TCP stack called Rack.Rack includes the following features: - A different SACK processing scheme (the old sack structures are not used). - RACK (Recent acknowledgment) where counting dup-acks is no longer done        instead time is used to knwo when to retransmit. (see the I-D) - TLP (Tail Loss Probe) where we will probe for tail-losses to attempt        to try not to take a retransmit time-out. (see the I-D) - Burst mitigation using TCPHTPS - PRR (partial rate reduction) see the RFC.Once built into your kernel, you can select this stack by eithersocket option with the name of the stack is &quot;rack&quot; or by settingthe global sysctl so the default is rack.Note that any connection that does not support SACK will be kickedback to the &quot;default&quot; base  FreeBSD stack (currently known as &quot;default&quot;).To build this into your kernel you will need to enable in yourkernel:   makeoptions WITH_EXTRA_TCP_STACKS=1   options TCPHPTSSponsored by:	Netflix Inc.Differential Revision:		https://reviews.freebsd.org/D15525

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Thu, 07 Jun 2018 18:18:13 +0000</pubDate>
        <dc:creator>Randall Stewart &lt;rrs@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>b43a0401 - Correct a misplaced closing paren.  Does not affect the result, but does</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#b43a0401</link>
        <description>Correct a misplaced closing paren.  Does not affect the result, but doesclarify (at least for me) that the multiplication happens before the shift.

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Sat, 03 Mar 2018 22:28:20 +0000</pubDate>
        <dc:creator>Ian Lepore &lt;ian@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>51369649 - sys: further adoption of SPDX licensing ID tags.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#51369649</link>
        <description>sys: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 3-Clause license.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.Special thanks to Wind River for providing access to &quot;The Duke ofHighlander&quot; tool: an older (2014) run over FreeBSD tree was useful as astarting point.

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Mon, 20 Nov 2017 19:43:44 +0000</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d35f6548 - Add inline functions to convert between sbintime_t and decimal time units.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/sys/time.h#d35f6548</link>
        <description>Add inline functions to convert between sbintime_t and decimal time units.Use them in some existing code that is vulnerable to roundoff errors.The existing constant SBT_1NS is a honeypot, luring unsuspecting folks intowriting code such as long_timeout_ns*SBT_1NS to generate the argument for asleep call.  The actual value of 1ns in sbt units is ~4.3, leading to alarge roundoff error giving a shorter sleep than expected when multiplyingby the trucated value of 4 in SBT_1NS.  (The evil honeypot aspect becomesclear after you waste a whole day figuring out why your sleeps return early.)

            List of files:
            /freebsd-14.2/sys/sys/time.h</description>
        <pubDate>Sat, 29 Jul 2017 17:00:23 +0000</pubDate>
        <dc:creator>Ian Lepore &lt;ian@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
