Date: Sat, 1 Jun 2024 09:51:37 -0400 From: Warner Losh <imp@bsdimp.com> To: Cy Schubert <Cy.Schubert@cschubert.com> Cc: Nuno Teixeira <eduardo@freebsd.org>, Warner Losh <imp@freebsd.org>, src-committers <src-committers@freebsd.org>, "<dev-commits-src-all@freebsd.org>" <dev-commits-src-all@freebsd.org>, "<dev-commits-src-main@freebsd.org>" <dev-commits-src-main@freebsd.org> Subject: Re: git: 108de784513d - main - Redefine CLOCK_BOOTTIME to alias CLOCK_MONOTONIC, not CLOCK_UPTIME Message-ID: <CANCZdfpp4sOHxygKuYF%2BpyBb8K_Nm3tXo75zpwo2e3w9hsAS9w@mail.gmail.com> In-Reply-To: <20240601133156.8EB804B0@slippy.cwsent.com> References: <202405311447.44VEl1G1078199@gitrepo.freebsd.org> <CAFDf7ULP1X_LgDOrKhMEFF7AgBQPPaJGhbRsaNcUpUOBo9JN9g@mail.gmail.com> <CANCZdfpMvorgKYx6pCL7_q6BW3AqZSDwryKHg_cV%2Byt_E-FbOQ@mail.gmail.com> <20240601133156.8EB804B0@slippy.cwsent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Sat, Jun 1, 2024 at 9:31 AM Cy Schubert <Cy.Schubert@cschubert.com> wrote: > In message > <CANCZdfpMvorgKYx6pCL7_q6BW3AqZSDwryKHg_cV+yt_E-FbOQ@mail.gmail.c > om> > , Warner Losh writes: > > --0000000000000d72080619d34a39 > > Content-Type: text/plain; charset="UTF-8" > > Content-Transfer-Encoding: quoted-printable > > > > On Sat, Jun 1, 2024, 4:37=E2=80=AFAM Nuno Teixeira <eduardo@freebsd.org> > wr= > > ote: > > > > > Hello, > > > > > > Having issues building graphics/mesa-dri: > > > > > > ../src/intel/common/xe/intel_gem.c:72:9: error: duplicate case value > '4' > > > 72 | case CLOCK_BOOTTIME: > > > | ^ > > > /usr/include/sys/_clock_id.h:81:25: note: expanded from macro > > > 'CLOCK_BOOTTIME' > > > 81 | #define CLOCK_BOOTTIME CLOCK_MONOTONIC > > > | ^ > > > /usr/include/sys/_clock_id.h:56:26: note: expanded from macro > > > 'CLOCK_MONOTONIC' > > > 56 | #define CLOCK_MONOTONIC 4 > > > | ^ > > > ../src/intel/common/xe/intel_gem.c:66:9: note: previous case defined > here > > > 66 | case CLOCK_MONOTONIC: > > > | ^ > > > /usr/include/sys/_clock_id.h:56:26: note: expanded from macro > > > 'CLOCK_MONOTONIC' > > > 56 | #define CLOCK_MONOTONIC 4 > > > | ^ > > > 1 error generated. > > > > > > > Mesa needs to be updated to not assume these are distinct values. > > You should be able to resolve this with, > > --- src/intel/common/xe/intel_gem.c.orig 2024-05-22 > 09:48:39.000000000 -0700 > +++ src/intel/common/xe/intel_gem.c 2024-06-01 06:28:22.268439000 -0700 > @@ -69,8 +69,10 @@ > #endif > case CLOCK_REALTIME: > #ifdef CLOCK_BOOTTIME > +#if CLOCK_BOOTTIME != CLOCK_MONOTONIC > case CLOCK_BOOTTIME: > #endif > +#endif > #ifdef CLOCK_TAI > case CLOCK_TAI: > #endif > Yea, that should do it. I was going to look at this when I got back from BSDcan (mostly because my talk is this morning), but thanks for beating me to it. I woke up grump and it was bugging me on the walk over to the conference I was a little short in my first reply, but since you proposed a fix, I feel less guilty... :) Thanks! Warner Warner Warner > -- > Cheers, > Cy Schubert <Cy.Schubert@cschubert.com> > FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org > NTP: <cy@nwtime.org> Web: https://nwtime.org > > e^(i*pi)+1=0 > > > > > > Warner > > > > > > > Thanks > > > > > > Warner Losh <imp@freebsd.org> escreveu (sexta, 31/05/2024 =C3=A0(s) > 15:47= > > ): > > > > > >> The branch main has been updated by imp: > > >> > > >> URL: > > >> > https://cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe850e7b003a73e= > > 26b5b54caa > > >> > > >> commit 108de784513d87bbe850e7b003a73e26b5b54caa > > >> Author: Val Packett <val@packett.cool> > > >> AuthorDate: 2024-05-31 14:45:02 +0000 > > >> Commit: Warner Losh <imp@FreeBSD.org> > > >> CommitDate: 2024-05-31 14:45:02 +0000 > > >> > > >> Redefine CLOCK_BOOTTIME to alias CLOCK_MONOTONIC, not CLOCK_UPTIME > > >> > > >> The suspend-awareness situation with monotonic clocks across > platfor= > > ms > > >> is kind of a mess, let's try not making it worse. > > >> > > >> On Linux, CLOCK_MONOTONIC does NOT count suspended time, and > > >> CLOCK_BOOTTIME was introduced to INCLUDE suspended time. > > >> > > >> On OpenBSD, CLOCK_MONOTONIC DOES count suspended time, and > > >> CLOCK_UPTIME > > >> was introduced to EXCLUDE suspended time. > > >> > > >> On macOS, it's the same as OpenBSD, but with CLOCK_UPTIME_RAW. > > >> > > >> Right now, we do not have a monotonic clock that counts suspended > > >> time. > > >> We have CLOCK_UPTIME as a distinct ID alias, and CLOCK_BOOTTIME > as a > > >> preprocessor alias, both being effectively `CLOCK_MONOTONIC` for > now= > > . > > >> > > >> When we introduce a suspend-aware clock in the future, it would > make= > > a > > >> lot more sense to do it the OpenBSD/macOS way, i.e. to make > > >> CLOCK_MONOTONIC include suspended time and make CLOCK_UPTIME > exclude > > >> it, > > >> because that's what the name CLOCK_UPTIME implies: a deviation > from > > >> the > > >> default intended for the uptime command to allow it to only show > the > > >> time the system was actually up and not suspended. > > >> > > >> Let's change the define right now to make sure software using the > > >> define > > >> would not end up using the ID of the wrong clock in the future, > and > > >> fix > > >> the IDs in the Linux compat code to match the expected changes > too. > > >> > > >> See https://bugzilla.mozilla.org/show_bug.cgi?id=3D1824084 > > >> for more discussion. > > >> > > >> Fixes: 155f15118a77 ("clock_gettime: Add Linux aliases > for > > >> CLOCK_*") > > >> Fixes: 25ada637362d ("Map Linux CLOCK_BOOTTIME to native > > >> CLOCK_UPTIME.") > > >> Sponsored by: https://www.patreon.com/valpackett > > >> Reviewed by: kib, imp > > >> Differential Revision: https://reviews.freebsd.org/D39270 > > >> --- > > >> sys/compat/linux/linux_time.c | 6 +++--- > > >> sys/sys/_clock_id.h | 2 +- > > >> 2 files changed, 4 insertions(+), 4 deletions(-) > > >> > > >> diff --git a/sys/compat/linux/linux_time.c > b/sys/compat/linux/linux_time= > > .c > > >> index e9e5cf075210..f4dd26dd3d2a 100644 > > >> --- a/sys/compat/linux/linux_time.c > > >> +++ b/sys/compat/linux/linux_time.c > > >> @@ -287,7 +287,7 @@ linux_to_native_clockid(clockid_t *n, clockid_t l) > > >> *n =3D CLOCK_REALTIME; > > >> break; > > >> case LINUX_CLOCK_MONOTONIC: > > >> - *n =3D CLOCK_MONOTONIC; > > >> + *n =3D CLOCK_UPTIME; > > >> break; > > >> case LINUX_CLOCK_PROCESS_CPUTIME_ID: > > >> *n =3D CLOCK_PROCESS_CPUTIME_ID; > > >> @@ -300,10 +300,10 @@ linux_to_native_clockid(clockid_t *n, clockid_t > l) > > >> break; > > >> case LINUX_CLOCK_MONOTONIC_COARSE: > > >> case LINUX_CLOCK_MONOTONIC_RAW: > > >> - *n =3D CLOCK_MONOTONIC_FAST; > > >> + *n =3D CLOCK_UPTIME_FAST; > > >> break; > > >> case LINUX_CLOCK_BOOTTIME: > > >> - *n =3D CLOCK_UPTIME; > > >> + *n =3D CLOCK_MONOTONIC; > > >> break; > > >> case LINUX_CLOCK_REALTIME_ALARM: > > >> case LINUX_CLOCK_BOOTTIME_ALARM: > > >> diff --git a/sys/sys/_clock_id.h b/sys/sys/_clock_id.h > > >> index 47a551428dc3..728346a0f0ab 100644 > > >> --- a/sys/sys/_clock_id.h > > >> +++ b/sys/sys/_clock_id.h > > >> @@ -78,7 +78,7 @@ > > >> * Linux compatible names. > > >> */ > > >> #if __BSD_VISIBLE > > >> -#define CLOCK_BOOTTIME CLOCK_UPTIME > > >> +#define CLOCK_BOOTTIME CLOCK_MONOTONIC > > >> #define CLOCK_REALTIME_COARSE CLOCK_REALTIME_FAST > > >> #define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC_FAST > > >> #endif > > >> > > >> > > > > > > -- > > > Nuno Teixeira > > > FreeBSD UNIX: <eduardo@FreeBSD.org> Web: https://FreeBSD.org > > > > > > > --0000000000000d72080619d34a39 > > Content-Type: text/html; charset="UTF-8" > > Content-Transfer-Encoding: quoted-printable > > > > <div dir=3D"ltr"><div dir=3D"auto"><div><br><br><div > class=3D"gmail_quote">= > > <div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jun 1, 2024, > 4:37=E2=80=AFAM = > > Nuno Teixeira <<a href=3D"mailto:eduardo@freebsd.org" > target=3D"_blank">= > > eduardo@freebsd.org</a>> wrote:<br></div><blockquote > class=3D"gmail_quot= > > e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc > solid;padding-left:1ex">= > > <div dir=3D"ltr"><div>Hello,</div><div><br></div><div>Having issues > buildin= > > g > graphics/mesa-dri:</div><div><br></div><div>../src/intel/common/xe/intel_= > > gem.c:72:9: error: duplicate case value '4'<br>=C2=A0 =C2=A072 | > = > > =C2=A0 =C2=A0case CLOCK_BOOTTIME:<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 > =C2=A0 = > > =C2=A0 =C2=A0 ^<br>/usr/include/sys/_clock_id.h:81:25: note: expanded > from = > > macro 'CLOCK_BOOTTIME'<br>=C2=A0 =C2=A081 | #define > CLOCK_BOOTTIME = > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0CLOCK_MONOTONIC<br>=C2=A0 =C2=A0 > =C2=A0 |= > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > =C2= > > =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ^<br>/usr/include/sys/_clock_id.h:56= > > :26: note: expanded from macro 'CLOCK_MONOTONIC'<br>=C2=A0 > =C2=A056= > > | #define CLOCK_MONOTONIC =C2=A0 =C2=A0 =C2=A0 =C2=A0 4<br>=C2=A0 > =C2=A0 = > > =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > =C2= > > =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ^<br>../src/intel/common/xe/i= > > ntel_gem.c:66:9: note: previous case defined here<br>=C2=A0 =C2=A066 | > =C2= > > =A0 =C2=A0case CLOCK_MONOTONIC:<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 > =C2= > > =A0 =C2=A0 ^<br>/usr/include/sys/_clock_id.h:56:26: note: expanded from > mac= > > ro 'CLOCK_MONOTONIC'<br>=C2=A0 =C2=A056 | #define > CLOCK_MONOTONIC = > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 4<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 > =C2= > > =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > =C2=A0 = > > =C2=A0 =C2=A0 =C2=A0 ^<br>1 error > generated.</div></div></blockquote></div>= > > </div><div dir=3D"auto"><br></div><div dir=3D"auto"><div > class=3D"gmail_quo= > > te"><div>Mesa needs to be updated to not assume these are distinct > values.<= > > /div><div><br></div><div>Warner</div><div>=C2=A0</div><blockquote > class=3D"= > > gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc > solid;padding-= > > left:1ex"><div dir=3D"ltr"><div><font color=3D"#888888">Thanks<br > clear=3D"= > > all"></font></div><div></div></div><br><div class=3D"gmail_quote"><div > dir= > > =3D"ltr" class=3D"gmail_attr">Warner Losh <<a href=3D"mailto: > imp@freebsd= > > .org" rel=3D"noreferrer" target=3D"_blank">imp@freebsd.org</a>> > escreveu= > > (sexta, 31/05/2024 =C3=A0(s) 15:47):<br></div><blockquote > class=3D"gmail_q= > > uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid > rgb(204,204,2= > > 04);padding-left:1ex">The branch main has been updated by imp:<br> > > <br> > > URL: <a href=3D" > https://cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe= > > 850e7b003a73e26b5b54caa" rel=3D"noreferrer noreferrer" > target=3D"_blank">ht= > > tps:// > cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe850e7b003a73e26b5b= > > 54caa</a><br> > > <br> > > commit 108de784513d87bbe850e7b003a73e26b5b54caa<br> > > Author:=C2=A0 =C2=A0 =C2=A0Val Packett <val@packett.cool><br> > > AuthorDate: 2024-05-31 14:45:02 +0000<br> > > Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org><br> > > CommitDate: 2024-05-31 14:45:02 +0000<br> > > <br> > > =C2=A0 =C2=A0 Redefine CLOCK_BOOTTIME to alias CLOCK_MONOTONIC, not > CLOCK_U= > > PTIME<br> > > <br> > > =C2=A0 =C2=A0 The suspend-awareness situation with monotonic clocks > across = > > platforms<br> > > =C2=A0 =C2=A0 is kind of a mess, let's try not making it worse.<br> > > <br> > > =C2=A0 =C2=A0 On Linux, CLOCK_MONOTONIC does NOT count suspended time, > and<= > > br> > > =C2=A0 =C2=A0 CLOCK_BOOTTIME was introduced to INCLUDE suspended > time.<br> > > <br> > > =C2=A0 =C2=A0 On OpenBSD, CLOCK_MONOTONIC DOES count suspended time, and > CL= > > OCK_UPTIME<br> > > =C2=A0 =C2=A0 was introduced to EXCLUDE suspended time.<br> > > <br> > > =C2=A0 =C2=A0 On macOS, it's the same as OpenBSD, but with > CLOCK_UPTIME= > > _RAW.<br> > > <br> > > =C2=A0 =C2=A0 Right now, we do not have a monotonic clock that counts > suspe= > > nded time.<br> > > =C2=A0 =C2=A0 We have CLOCK_UPTIME as a distinct ID alias, and > CLOCK_BOOTTI= > > ME as a<br> > > =C2=A0 =C2=A0 preprocessor alias, both being effectively > `CLOCK_MONOTONIC` = > > for now.<br> > > <br> > > =C2=A0 =C2=A0 When we introduce a suspend-aware clock in the future, it > wou= > > ld make a<br> > > =C2=A0 =C2=A0 lot more sense to do it the OpenBSD/macOS way, i.e. to > make<b= > > r> > > =C2=A0 =C2=A0 CLOCK_MONOTONIC include suspended time and make > CLOCK_UPTIME = > > exclude it,<br> > > =C2=A0 =C2=A0 because that's what the name CLOCK_UPTIME implies: a > devi= > > ation from the<br> > > =C2=A0 =C2=A0 default intended for the uptime command to allow it to > only s= > > how the<br> > > =C2=A0 =C2=A0 time the system was actually up and not suspended.<br> > > <br> > > =C2=A0 =C2=A0 Let's change the define right now to make sure > software u= > > sing the define<br> > > =C2=A0 =C2=A0 would not end up using the ID of the wrong clock in the > futur= > > e, and fix<br> > > =C2=A0 =C2=A0 the IDs in the Linux compat code to match the expected > change= > > s too.<br> > > <br> > > =C2=A0 =C2=A0 See <a href=3D" > https://bugzilla.mozilla.org/show_bug.cgi?id= > > =3D1824084" rel=3D"noreferrer noreferrer" target=3D"_blank"> > https://bugzill= > > a.mozilla.org/show_bug.cgi?id=3D1824084</a><br> > > =C2=A0 =C2=A0 for more discussion.<br> > > <br> > > =C2=A0 =C2=A0 Fixes:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 155f15118a77 > ("= > > clock_gettime: Add Linux aliases for CLOCK_*")<br> > > =C2=A0 =C2=A0 Fixes:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 25ada637362d > ("= > > Map Linux CLOCK_BOOTTIME to native CLOCK_UPTIME.")<br> > > =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0<a href=3D" > https://www.patreon.com/= > > valpackett" rel=3D"noreferrer noreferrer" target=3D"_blank"> > https://www.pat= > > reon.com/valpackett</a><br> > > =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 kib, imp<br> > > =C2=A0 =C2=A0 Differential Revision:=C2=A0 <a href=3D" > https://reviews.freeb= > > sd.org/D39270" rel=3D"noreferrer noreferrer" target=3D"_blank"> > https://revi= > > ews.freebsd.org/D39270</a><br> > > ---<br> > > =C2=A0sys/compat/linux/linux_time.c | 6 +++---<br> > > =C2=A0sys/sys/_clock_id.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 2 > +-<br= > > > > > =C2=A02 files changed, 4 insertions(+), 4 deletions(-)<br> > > <br> > > diff --git a/sys/compat/linux/linux_time.c > b/sys/compat/linux/linux_time.c<= > > br> > > index e9e5cf075210..f4dd26dd3d2a 100644<br> > > --- a/sys/compat/linux/linux_time.c<br> > > +++ b/sys/compat/linux/linux_time.c<br> > > @@ -287,7 +287,7 @@ linux_to_native_clockid(clockid_t *n, clockid_t > l)<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *n =3D > CLOCK_REALTI= > > ME;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_MONOTONIC:<br> > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D > CLOCK_MONOTO= > > NIC;<br> > > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D > CLOCK_UPTIME= > > ;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_PROCESS_CPUTIME_ID:<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *n =3D > CLOCK_PROCES= > > S_CPUTIME_ID;<br> > > @@ -300,10 +300,10 @@ linux_to_native_clockid(clockid_t *n, clockid_t > l)<br= > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_MONOTONIC_COARSE:<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_MONOTONIC_RAW:<br> > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D > CLOCK_MONOTO= > > NIC_FAST;<br> > > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D > CLOCK_UPTIME= > > _FAST;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_BOOTTIME:<br> > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D > CLOCK_UPTIME= > > ;<br> > > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D > CLOCK_MONOTO= > > NIC;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_REALTIME_ALARM:<br> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_BOOTTIME_ALARM:<br> > > diff --git a/sys/sys/_clock_id.h b/sys/sys/_clock_id.h<br> > > index 47a551428dc3..728346a0f0ab 100644<br> > > --- a/sys/sys/_clock_id.h<br> > > +++ b/sys/sys/_clock_id.h<br> > > @@ -78,7 +78,7 @@<br> > > =C2=A0 * Linux compatible names.<br> > > =C2=A0 */<br> > > =C2=A0#if __BSD_VISIBLE<br> > > -#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_BOOTTIME=C2=A0 =C2=A0 =C2=A0 > =C2= > > =A0 =C2=A0 CLOCK_UPTIME<br> > > +#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_BOOTTIME=C2=A0 =C2=A0 =C2=A0 > =C2= > > =A0 =C2=A0 CLOCK_MONOTONIC<br> > > =C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_REALTIME_COARSE=C2=A0 > =C2=A0= > > CLOCK_REALTIME_FAST<br> > > =C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_MONOTONIC_COARSE=C2=A0 > CLOCK= > > _MONOTONIC_FAST<br> > > =C2=A0#endif<br> > > <br> > > </blockquote></div><br clear=3D"all"><br><span > class=3D"gmail_signature_pre= > > fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div > dir=3D"l= > > tr"><div><font color=3D"#888888">Nuno > Teixeira</font></div><div><div><font = > > color=3D"#888888"> > > FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 > <a h= > > ref=3D"https://FreeBSD.org" rel=3D"noreferrer noreferrer" > target=3D"_blank"= > > >https://FreeBSD.org</a><br></font></div></div></div></div> > > </blockquote></div></div></div> > > </div> > > > > --0000000000000d72080619d34a39-- > > > > > [-- Attachment #2 --] <div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jun 1, 2024 at 9:31 AM Cy Schubert <<a href="mailto:Cy.Schubert@cschubert.com">Cy.Schubert@cschubert.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In message <CANCZdfpMvorgKYx6pCL7_q6BW3AqZSDwryKHg_cV+yt_E-FbOQ@mail.gmail.c<br> om><br> , Warner Losh writes:<br> > --0000000000000d72080619d34a39<br> > Content-Type: text/plain; charset="UTF-8"<br> > Content-Transfer-Encoding: quoted-printable<br> ><br> > On Sat, Jun 1, 2024, 4:37=E2=80=AFAM Nuno Teixeira <<a href="mailto:eduardo@freebsd.org" target="_blank">eduardo@freebsd.org</a>> wr=<br> > ote:<br> ><br> > > Hello,<br> > ><br> > > Having issues building graphics/mesa-dri:<br> > ><br> > > ../src/intel/common/xe/intel_gem.c:72:9: error: duplicate case value '4'<br> > > 72 | case CLOCK_BOOTTIME:<br> > > | ^<br> > > /usr/include/sys/_clock_id.h:81:25: note: expanded from macro<br> > > 'CLOCK_BOOTTIME'<br> > > 81 | #define CLOCK_BOOTTIME CLOCK_MONOTONIC<br> > > | ^<br> > > /usr/include/sys/_clock_id.h:56:26: note: expanded from macro<br> > > 'CLOCK_MONOTONIC'<br> > > 56 | #define CLOCK_MONOTONIC 4<br> > > | ^<br> > > ../src/intel/common/xe/intel_gem.c:66:9: note: previous case defined here<br> > > 66 | case CLOCK_MONOTONIC:<br> > > | ^<br> > > /usr/include/sys/_clock_id.h:56:26: note: expanded from macro<br> > > 'CLOCK_MONOTONIC'<br> > > 56 | #define CLOCK_MONOTONIC 4<br> > > | ^<br> > > 1 error generated.<br> > ><br> ><br> > Mesa needs to be updated to not assume these are distinct values.<br> <br> You should be able to resolve this with,<br> <br> --- src/intel/common/xe/intel_gem.c.orig 2024-05-22 09:48:39.000000000 -0700<br> +++ src/intel/common/xe/intel_gem.c 2024-06-01 06:28:22.268439000 -0700<br> @@ -69,8 +69,10 @@<br> #endif<br> case CLOCK_REALTIME:<br> #ifdef CLOCK_BOOTTIME<br> +#if CLOCK_BOOTTIME != CLOCK_MONOTONIC<br> case CLOCK_BOOTTIME:<br> #endif<br> +#endif<br> #ifdef CLOCK_TAI<br> case CLOCK_TAI:<br> #endif<br></blockquote><div><br></div><div>Yea, that should do it. I was going to look at this when I got back from BSDcan (mostly because</div><div>my talk is this morning), but thanks for beating me to it. I woke up grump and it was bugging me</div><div>on the walk over to the conference I was a little short in my first reply, but since you proposed a</div><div>fix, I feel less guilty... :) Thanks!</div><div><br></div><div>Warner</div><div><br></div><div>Warner</div><div><br></div><div>Warner </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> -- <br> Cheers,<br> Cy Schubert <<a href="mailto:Cy.Schubert@cschubert.com" target="_blank">Cy.Schubert@cschubert.com</a>><br> FreeBSD UNIX: <cy@FreeBSD.org> Web: <a href="https://FreeBSD.org" rel="noreferrer" target="_blank">https://FreeBSD.org</a><br> NTP: <<a href="mailto:cy@nwtime.org" target="_blank">cy@nwtime.org</a>> Web: <a href="https://nwtime.org" rel="noreferrer" target="_blank">https://nwtime.org</a><br> <br> e^(i*pi)+1=0<br> <br> <br> ><br> > Warner<br> ><br> ><br> > > Thanks<br> > ><br> > > Warner Losh <<a href="mailto:imp@freebsd.org" target="_blank">imp@freebsd.org</a>> escreveu (sexta, 31/05/2024 =C3=A0(s) 15:47=<br> > ):<br> > ><br> > >> The branch main has been updated by imp:<br> > >><br> > >> URL:<br> > >> <a href="https://cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe850e7b003a73e=" rel="noreferrer" target="_blank">https://cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe850e7b003a73e=</a><br> > 26b5b54caa<br> > >><br> > >> commit 108de784513d87bbe850e7b003a73e26b5b54caa<br> > >> Author: Val Packett <val@packett.cool><br> > >> AuthorDate: 2024-05-31 14:45:02 +0000<br> > >> Commit: Warner Losh <imp@FreeBSD.org><br> > >> CommitDate: 2024-05-31 14:45:02 +0000<br> > >><br> > >> Redefine CLOCK_BOOTTIME to alias CLOCK_MONOTONIC, not CLOCK_UPTIME<br> > >><br> > >> The suspend-awareness situation with monotonic clocks across platfor=<br> > ms<br> > >> is kind of a mess, let's try not making it worse.<br> > >><br> > >> On Linux, CLOCK_MONOTONIC does NOT count suspended time, and<br> > >> CLOCK_BOOTTIME was introduced to INCLUDE suspended time.<br> > >><br> > >> On OpenBSD, CLOCK_MONOTONIC DOES count suspended time, and<br> > >> CLOCK_UPTIME<br> > >> was introduced to EXCLUDE suspended time.<br> > >><br> > >> On macOS, it's the same as OpenBSD, but with CLOCK_UPTIME_RAW.<br> > >><br> > >> Right now, we do not have a monotonic clock that counts suspended<br> > >> time.<br> > >> We have CLOCK_UPTIME as a distinct ID alias, and CLOCK_BOOTTIME as a<br> > >> preprocessor alias, both being effectively `CLOCK_MONOTONIC` for now=<br> > .<br> > >><br> > >> When we introduce a suspend-aware clock in the future, it would make=<br> > a<br> > >> lot more sense to do it the OpenBSD/macOS way, i.e. to make<br> > >> CLOCK_MONOTONIC include suspended time and make CLOCK_UPTIME exclude<br> > >> it,<br> > >> because that's what the name CLOCK_UPTIME implies: a deviation from<br> > >> the<br> > >> default intended for the uptime command to allow it to only show the<br> > >> time the system was actually up and not suspended.<br> > >><br> > >> Let's change the define right now to make sure software using the<br> > >> define<br> > >> would not end up using the ID of the wrong clock in the future, and<br> > >> fix<br> > >> the IDs in the Linux compat code to match the expected changes too.<br> > >><br> > >> See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=3D1824084" rel="noreferrer" target="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id=3D1824084</a><br> > >> for more discussion.<br> > >><br> > >> Fixes: 155f15118a77 ("clock_gettime: Add Linux aliases for<br> > >> CLOCK_*")<br> > >> Fixes: 25ada637362d ("Map Linux CLOCK_BOOTTIME to native<br> > >> CLOCK_UPTIME.")<br> > >> Sponsored by: <a href="https://www.patreon.com/valpackett" rel="noreferrer" target="_blank">https://www.patreon.com/valpackett</a><br> > >> Reviewed by: kib, imp<br> > >> Differential Revision: <a href="https://reviews.freebsd.org/D39270" rel="noreferrer" target="_blank">https://reviews.freebsd.org/D39270</a><br> > >> ---<br> > >> sys/compat/linux/linux_time.c | 6 +++---<br> > >> sys/sys/_clock_id.h | 2 +-<br> > >> 2 files changed, 4 insertions(+), 4 deletions(-)<br> > >><br> > >> diff --git a/sys/compat/linux/linux_time.c b/sys/compat/linux/linux_time=<br> > .c<br> > >> index e9e5cf075210..f4dd26dd3d2a 100644<br> > >> --- a/sys/compat/linux/linux_time.c<br> > >> +++ b/sys/compat/linux/linux_time.c<br> > >> @@ -287,7 +287,7 @@ linux_to_native_clockid(clockid_t *n, clockid_t l)<br> > >> *n =3D CLOCK_REALTIME;<br> > >> break;<br> > >> case LINUX_CLOCK_MONOTONIC:<br> > >> - *n =3D CLOCK_MONOTONIC;<br> > >> + *n =3D CLOCK_UPTIME;<br> > >> break;<br> > >> case LINUX_CLOCK_PROCESS_CPUTIME_ID:<br> > >> *n =3D CLOCK_PROCESS_CPUTIME_ID;<br> > >> @@ -300,10 +300,10 @@ linux_to_native_clockid(clockid_t *n, clockid_t l)<br> > >> break;<br> > >> case LINUX_CLOCK_MONOTONIC_COARSE:<br> > >> case LINUX_CLOCK_MONOTONIC_RAW:<br> > >> - *n =3D CLOCK_MONOTONIC_FAST;<br> > >> + *n =3D CLOCK_UPTIME_FAST;<br> > >> break;<br> > >> case LINUX_CLOCK_BOOTTIME:<br> > >> - *n =3D CLOCK_UPTIME;<br> > >> + *n =3D CLOCK_MONOTONIC;<br> > >> break;<br> > >> case LINUX_CLOCK_REALTIME_ALARM:<br> > >> case LINUX_CLOCK_BOOTTIME_ALARM:<br> > >> diff --git a/sys/sys/_clock_id.h b/sys/sys/_clock_id.h<br> > >> index 47a551428dc3..728346a0f0ab 100644<br> > >> --- a/sys/sys/_clock_id.h<br> > >> +++ b/sys/sys/_clock_id.h<br> > >> @@ -78,7 +78,7 @@<br> > >> * Linux compatible names.<br> > >> */<br> > >> #if __BSD_VISIBLE<br> > >> -#define CLOCK_BOOTTIME CLOCK_UPTIME<br> > >> +#define CLOCK_BOOTTIME CLOCK_MONOTONIC<br> > >> #define CLOCK_REALTIME_COARSE CLOCK_REALTIME_FAST<br> > >> #define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC_FAST<br> > >> #endif<br> > >><br> > >><br> > ><br> > > --<br> > > Nuno Teixeira<br> > > FreeBSD UNIX: <eduardo@FreeBSD.org> Web: <a href="https://FreeBSD.org" rel="noreferrer" target="_blank">https://FreeBSD.org</a><br> > ><br> ><br> > --0000000000000d72080619d34a39<br> > Content-Type: text/html; charset="UTF-8"<br> > Content-Transfer-Encoding: quoted-printable<br> ><br> > <div dir=3D"ltr"><div dir=3D"auto"><div><br><br><div class=3D"gmail_quote">=<br> > <div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jun 1, 2024, 4:37=E2=80=AFAM =<br> > Nuno Teixeira &lt;<a href=3D"mailto:<a href="mailto:eduardo@freebsd.org" target="_blank">eduardo@freebsd.org</a>" target=3D"_blank">=<br> > <a href="mailto:eduardo@freebsd.org" target="_blank">eduardo@freebsd.org</a></a>&gt; wrote:<br></div><blockquote class=3D"gmail_quot=<br> > e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">=<br> > <div dir=3D"ltr"><div>Hello,</div><div><br></div><div>Having issues buildin=<br> > g graphics/mesa-dri:</div><div><br></div><div>../src/intel/common/xe/intel_=<br> > gem.c:72:9: error: duplicate case value &#39;4&#39;<br>=C2=A0 =C2=A072 | =<br> > =C2=A0 =C2=A0case CLOCK_BOOTTIME:<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =<br> > =C2=A0 =C2=A0 ^<br>/usr/include/sys/_clock_id.h:81:25: note: expanded from =<br> > macro &#39;CLOCK_BOOTTIME&#39;<br>=C2=A0 =C2=A081 | #define CLOCK_BOOTTIME =<br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0CLOCK_MONOTONIC<br>=C2=A0 =C2=A0 =C2=A0 |=<br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=<br> > =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br>/usr/include/sys/_clock_id.h:56=<br> > :26: note: expanded from macro &#39;CLOCK_MONOTONIC&#39;<br>=C2=A0 =C2=A056=<br> > | #define CLOCK_MONOTONIC =C2=A0 =C2=A0 =C2=A0 =C2=A0 4<br>=C2=A0 =C2=A0 =<br> > =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=<br> > =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br>../src/intel/common/xe/i=<br> > ntel_gem.c:66:9: note: previous case defined here<br>=C2=A0 =C2=A066 | =C2=<br> > =A0 =C2=A0case CLOCK_MONOTONIC:<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=<br> > =A0 =C2=A0 ^<br>/usr/include/sys/_clock_id.h:56:26: note: expanded from mac=<br> > ro &#39;CLOCK_MONOTONIC&#39;<br>=C2=A0 =C2=A056 | #define CLOCK_MONOTONIC =<br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 4<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=<br> > =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =<br> > =C2=A0 =C2=A0 =C2=A0 ^<br>1 error generated.</div></div></blockquote></div>=<br> > </div><div dir=3D"auto"><br></div><div dir=3D"auto"><div class=3D"gmail_quo=<br> > te"><div>Mesa needs to be updated to not assume these are distinct values.<=<br> > /div><div><br></div><div>Warner</div><div>=C2=A0</div><blockquote class=3D"=<br> > gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=<br> > left:1ex"><div dir=3D"ltr"><div><font color=3D"#888888">Thanks<br clear=3D"=<br> > all"></font></div><div></div></div><br><div class=3D"gmail_quote"><div dir=<br> > =3D"ltr" class=3D"gmail_attr">Warner Losh &lt;<a href=3D"mailto:<a href="mailto:imp@freebsd" target="_blank">imp@freebsd</a>=<br> > .org" rel=3D"noreferrer" target=3D"_blank"><a href="mailto:imp@freebsd.org" target="_blank">imp@freebsd.org</a></a>&gt; escreveu=<br> > (sexta, 31/05/2024 =C3=A0(s) 15:47):<br></div><blockquote class=3D"gmail_q=<br> > uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2=<br> > 04);padding-left:1ex">The branch main has been updated by imp:<br><br> > <br><br> > URL: <a href=3D"<a href="https://cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe=" rel="noreferrer" target="_blank">https://cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe=</a><br> > 850e7b003a73e26b5b54caa" rel=3D"noreferrer noreferrer" target=3D"_blank">ht=<br> > tps://<a href="http://cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe850e7b003a73e26b5b=" rel="noreferrer" target="_blank">cgit.FreeBSD.org/src/commit/?id=3D108de784513d87bbe850e7b003a73e26b5b=</a><br> > 54caa</a><br><br> > <br><br> > commit 108de784513d87bbe850e7b003a73e26b5b54caa<br><br> > Author:=C2=A0 =C2=A0 =C2=A0Val Packett &lt;val@packett.cool&gt;<br><br> > AuthorDate: 2024-05-31 14:45:02 +0000<br><br> > Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh &lt;imp@FreeBSD.org&gt;<br><br> > CommitDate: 2024-05-31 14:45:02 +0000<br><br> > <br><br> > =C2=A0 =C2=A0 Redefine CLOCK_BOOTTIME to alias CLOCK_MONOTONIC, not CLOCK_U=<br> > PTIME<br><br> > <br><br> > =C2=A0 =C2=A0 The suspend-awareness situation with monotonic clocks across =<br> > platforms<br><br> > =C2=A0 =C2=A0 is kind of a mess, let&#39;s try not making it worse.<br><br> > <br><br> > =C2=A0 =C2=A0 On Linux, CLOCK_MONOTONIC does NOT count suspended time, and<=<br> > br><br> > =C2=A0 =C2=A0 CLOCK_BOOTTIME was introduced to INCLUDE suspended time.<br><br> > <br><br> > =C2=A0 =C2=A0 On OpenBSD, CLOCK_MONOTONIC DOES count suspended time, and CL=<br> > OCK_UPTIME<br><br> > =C2=A0 =C2=A0 was introduced to EXCLUDE suspended time.<br><br> > <br><br> > =C2=A0 =C2=A0 On macOS, it&#39;s the same as OpenBSD, but with CLOCK_UPTIME=<br> > _RAW.<br><br> > <br><br> > =C2=A0 =C2=A0 Right now, we do not have a monotonic clock that counts suspe=<br> > nded time.<br><br> > =C2=A0 =C2=A0 We have CLOCK_UPTIME as a distinct ID alias, and CLOCK_BOOTTI=<br> > ME as a<br><br> > =C2=A0 =C2=A0 preprocessor alias, both being effectively `CLOCK_MONOTONIC` =<br> > for now.<br><br> > <br><br> > =C2=A0 =C2=A0 When we introduce a suspend-aware clock in the future, it wou=<br> > ld make a<br><br> > =C2=A0 =C2=A0 lot more sense to do it the OpenBSD/macOS way, i.e. to make<b=<br> > r><br> > =C2=A0 =C2=A0 CLOCK_MONOTONIC include suspended time and make CLOCK_UPTIME =<br> > exclude it,<br><br> > =C2=A0 =C2=A0 because that&#39;s what the name CLOCK_UPTIME implies: a devi=<br> > ation from the<br><br> > =C2=A0 =C2=A0 default intended for the uptime command to allow it to only s=<br> > how the<br><br> > =C2=A0 =C2=A0 time the system was actually up and not suspended.<br><br> > <br><br> > =C2=A0 =C2=A0 Let&#39;s change the define right now to make sure software u=<br> > sing the define<br><br> > =C2=A0 =C2=A0 would not end up using the ID of the wrong clock in the futur=<br> > e, and fix<br><br> > =C2=A0 =C2=A0 the IDs in the Linux compat code to match the expected change=<br> > s too.<br><br> > <br><br> > =C2=A0 =C2=A0 See <a href=3D"<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=" rel="noreferrer" target="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id=</a><br> > =3D1824084" rel=3D"noreferrer noreferrer" target=3D"_blank"><a href="https://bugzill" rel="noreferrer" target="_blank">https://bugzill</a>=<br> > <a href="http://a.mozilla.org/show_bug.cgi?id=3D1824084" rel="noreferrer" target="_blank">a.mozilla.org/show_bug.cgi?id=3D1824084</a></a><br><br> > =C2=A0 =C2=A0 for more discussion.<br><br> > <br><br> > =C2=A0 =C2=A0 Fixes:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 155f15118a77 (&quot;=<br> > clock_gettime: Add Linux aliases for CLOCK_*&quot;)<br><br> > =C2=A0 =C2=A0 Fixes:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 25ada637362d (&quot;=<br> > Map Linux CLOCK_BOOTTIME to native CLOCK_UPTIME.&quot;)<br><br> > =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0<a href=3D"<a href="https://www.patreon.com/=" rel="noreferrer" target="_blank">https://www.patreon.com/=</a><br> > valpackett" rel=3D"noreferrer noreferrer" target=3D"_blank"><a href="https://www.pat" rel="noreferrer" target="_blank">https://www.pat</a>=<br> > <a href="http://reon.com/valpackett" rel="noreferrer" target="_blank">reon.com/valpackett</a></a><br><br> > =C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 kib, imp<br><br> > =C2=A0 =C2=A0 Differential Revision:=C2=A0 <a href=3D"<a href="https://reviews.freeb" rel="noreferrer" target="_blank">https://reviews.freeb</a>=<br> > <a href="http://sd.org/D39270" rel="noreferrer" target="_blank">sd.org/D39270</a>" rel=3D"noreferrer noreferrer" target=3D"_blank"><a href="https://revi" rel="noreferrer" target="_blank">https://revi</a>=<br> > <a href="http://ews.freebsd.org/D39270" rel="noreferrer" target="_blank">ews.freebsd.org/D39270</a></a><br><br> > ---<br><br> > =C2=A0sys/compat/linux/linux_time.c | 6 +++---<br><br> > =C2=A0sys/sys/_clock_id.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 2 +-<br=<br> > ><br> > =C2=A02 files changed, 4 insertions(+), 4 deletions(-)<br><br> > <br><br> > diff --git a/sys/compat/linux/linux_time.c b/sys/compat/linux/linux_time.c<=<br> > br><br> > index e9e5cf075210..f4dd26dd3d2a 100644<br><br> > --- a/sys/compat/linux/linux_time.c<br><br> > +++ b/sys/compat/linux/linux_time.c<br><br> > @@ -287,7 +287,7 @@ linux_to_native_clockid(clockid_t *n, clockid_t l)<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *n =3D CLOCK_REALTI=<br> > ME;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_MONOTONIC:<br><br> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D CLOCK_MONOTO=<br> > NIC;<br><br> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D CLOCK_UPTIME=<br> > ;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_PROCESS_CPUTIME_ID:<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *n =3D CLOCK_PROCES=<br> > S_CPUTIME_ID;<br><br> > @@ -300,10 +300,10 @@ linux_to_native_clockid(clockid_t *n, clockid_t l)<br=<br> > ><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_MONOTONIC_COARSE:<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_MONOTONIC_RAW:<br><br> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D CLOCK_MONOTO=<br> > NIC_FAST;<br><br> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D CLOCK_UPTIME=<br> > _FAST;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_BOOTTIME:<br><br> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D CLOCK_UPTIME=<br> > ;<br><br> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*n =3D CLOCK_MONOTO=<br> > NIC;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_REALTIME_ALARM:<br><br> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 case LINUX_CLOCK_BOOTTIME_ALARM:<br><br> > diff --git a/sys/sys/_clock_id.h b/sys/sys/_clock_id.h<br><br> > index 47a551428dc3..728346a0f0ab 100644<br><br> > --- a/sys/sys/_clock_id.h<br><br> > +++ b/sys/sys/_clock_id.h<br><br> > @@ -78,7 +78,7 @@<br><br> > =C2=A0 * Linux compatible names.<br><br> > =C2=A0 */<br><br> > =C2=A0#if __BSD_VISIBLE<br><br> > -#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_BOOTTIME=C2=A0 =C2=A0 =C2=A0 =C2=<br> > =A0 =C2=A0 CLOCK_UPTIME<br><br> > +#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_BOOTTIME=C2=A0 =C2=A0 =C2=A0 =C2=<br> > =A0 =C2=A0 CLOCK_MONOTONIC<br><br> > =C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_REALTIME_COARSE=C2=A0 =C2=A0=<br> > CLOCK_REALTIME_FAST<br><br> > =C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 CLOCK_MONOTONIC_COARSE=C2=A0 CLOCK=<br> > _MONOTONIC_FAST<br><br> > =C2=A0#endif<br><br> > <br><br> > </blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=<br> > fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"l=<br> > tr"><div><font color=3D"#888888">Nuno Teixeira</font></div><div><div><font =<br> > color=3D"#888888"><br> > FreeBSD UNIX:=C2=A0 &lt;eduardo@FreeBSD.org&gt;=C2=A0 =C2=A0Web:=C2=A0 <a h=<br> > ref=3D"<a href="https://FreeBSD.org" rel="noreferrer" target="_blank">https://FreeBSD.org</a>" rel=3D"noreferrer noreferrer" target=3D"_blank"=<br> > ><a href="https://FreeBSD.org" rel="noreferrer" target="_blank">https://FreeBSD.org</a></a><br></font></div></div></div></div><br> > </blockquote></div></div></div><br> > </div><br> ><br> > --0000000000000d72080619d34a39--<br> ><br> <br> <br> </blockquote></div></div>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpp4sOHxygKuYF%2BpyBb8K_Nm3tXo75zpwo2e3w9hsAS9w>
