Re: git: e81e77c5a055 - main - Enable PPS_SYNC on amd64, arm64 and armv7
Date: Mon, 11 Oct 2021 22:05:37 UTC
On Mon, Oct 11, 2021 at 02:09:58PM -0700, John Baldwin wrote:
> On 10/11/21 1:46 PM, Konstantin Belousov wrote:
> > On Mon, Oct 11, 2021 at 01:37:21PM -0700, John Baldwin wrote:
> > > On 10/10/21 12:34 PM, Konstantin Belousov wrote:
> > > > The branch main has been updated by kib:
> > > >
> > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e81e77c5a055d1cbf6d6a6f0acbaf443267aa84f
> > > >
> > > > commit e81e77c5a055d1cbf6d6a6f0acbaf443267aa84f
> > > > Author: Konstantin Belousov <kib@FreeBSD.org>
> > > > AuthorDate: 2021-10-10 12:20:45 +0000
> > > > Commit: Konstantin Belousov <kib@FreeBSD.org>
> > > > CommitDate: 2021-10-10 19:34:40 +0000
> > > >
> > > > Enable PPS_SYNC on amd64, arm64 and armv7
> > > > Remove the option from NOTES/LINT, and add to NOTES for powerpc and
> > > > riscv.
> > > > PR: 259036
> > > > Requested by: John Hay <john@sanren.ac.za>
> > > > Discussed with: ian, imp
> > > > Sponsored by: The FreeBSD Foundation
> > > > MFC after: 1 week
> > >
> > > Hmm, if the option is MI, why move it out of the MI NOTES? We don't
> > > generally remove items from NOTES just because they are enabled by default
> > > in GENERIC. That would break the functionality of NOTES where it documents
> > > options (and sometimes provides more detail than the 1-liner comments we
> > > use in GENERIC).
> > >
> > > In this case I would have left NOTES as-is and instead added PPS_SYNC to
> > > the relevant GENERIC files with a one-line comment leaving the more
> > > detailed comment in NOTES.
> >
> > To have both PPS_SYNC and !PPS_SYNC covered during tinderbox.
> > If an option is present in both NOTES and GENERIC, there is a chance
> > that its absence is not compiled.> Bruce' opinion was that LINT should
> > be mostly complementary to GENERIC.
>
> That doesn't match what we actually do. For example, INET and INET6 are in
> both, SMP, SOFTUPDATES, etc. I think you can go through amd64 GENERIC and
> every option in it is in NOTES except now for PPS_SYNC.
>
> I ran this before your commit:
>
> % awk '/^(device|options)/ { print $2 }' GENERIC | sort > one
> % awk '/^(device|options)/ { print $2 }' ../../conf/NOTES ../../x86/conf/NOTES NOTES | sort > two
>
> Items only in GENERIC (I would say most of these are probably bugs in the form of
> missing entries in NOTES, ULE is 4BSD in NOTES instead, and VERBOSE_SYSINIT
> has the default value of 1 in NOTES):
>
> % > comm -23 one two
> AH_AR5416_INTERRUPT_MITIGATION
> ATH_ENABLE_11N
> BUF_TRACKING
> DDB_CTF
> FIB_ALGO
> FULL_BUF_TRACKING
> IOMMU
> KDTRACE_FRAME
> PRINTF_BUFR_SIZE=128
> RACCT_DEFAULT_TO_DISABLED
> SCHED_ULE
> VERBOSE_SYSINIT=0
> ath_pci
> ocs_fc
> pvscsi
> tws
> vge
>
> The number of options duplicated in both NOTES and GENERIC:
>
> % comm -12 one two | wc -l
> 259
Ok, are you fine with the following?
commit 902360bb75ed2bc5a9c33b790eded627cac57483
Author: Konstantin Belousov <kib@FreeBSD.org>
Date: Tue Oct 12 01:02:35 2021 +0300
Restore PPS_SYNC in NOTES
This partially reverts e81e77c5a055, leaving the option both in
GENERICs on amd64/arm64/arm, and in global NOTES file. Apparently
this better matches existing practice, where we do not try to hard
to make LINT and GENERIC complimentary.
Requested by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index e41b00edf2f6..39446fba06b3 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -1245,6 +1245,12 @@ options CAPABILITY_MODE # sandboxes with no global namespace access
options HZ=100
+# Enable support for the kernel PLL to use an external PPS signal,
+# under supervision of [x]ntpd(8)
+# More info in ntpd documentation: http://www.eecis.udel.edu/~ntp
+
+options PPS_SYNC
+
# Enable support for generic feed-forward clocks in the kernel.
# The feed-forward clock support is an alternative to the feedback oriented
# ntpd/system clock approach, and is to be used with a feed-forward
diff --git a/sys/powerpc/conf/NOTES b/sys/powerpc/conf/NOTES
index 1a0c70fb08f9..78d990331ead 100644
--- a/sys/powerpc/conf/NOTES
+++ b/sys/powerpc/conf/NOTES
@@ -46,8 +46,6 @@ options PSIM #GDB PSIM ppc simulator
options MAMBO #IBM Mambo Full System Simulator
options QEMU #QEMU processor emulator
-options PPS_SYNC
-
# The cpufreq(4) driver provides support for CPU frequency control
device cpufreq
diff --git a/sys/riscv/conf/NOTES b/sys/riscv/conf/NOTES
index 60e842ab2709..7dda89bfe1a8 100644
--- a/sys/riscv/conf/NOTES
+++ b/sys/riscv/conf/NOTES
@@ -20,8 +20,6 @@ options FPE # Floating-point extension support
options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
options INTRNG # Include INTRNG framework
-options PPS_SYNC
-
# RISC-V SBI console
device rcons