Make the merge mode compatible with GNU diff3
Add tests for all the changes, those tests are extracted from the
etcupdate testsuite.
This version passes the etcupdate testsuite and the diffutils diff3
test suite.
MFC After: 1 week
Check the length of the hook name when copying it into the sockaddr.
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D55258
* Replace fgets(3) with getline(3)
* Replace select(2) with poll(2)
* Avoid needlessly copying text around
* Correct use of getopt(3)
* Pick some style and whitespace nits
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D55257
It must be sbinuptime(), this is how kc->next is set up.
PR: 293141
Noted and reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D55264
of the resumed timers list, so that kqtimer_proc_continue() does not
iterated into the same timer again.
PR: 293141
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D55264
The ATF tests work by first running the test program with an invalid
flag, which causes it to print an error message, a summary of options,
and a list of available test cases. Switch to the new -l option which
simply prints the list, and simplify the awk script used to parse the
output. No functional change.
MFC after: 1 week
This is safe since sysctl_handle_bool() handles ints transparently.
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D55263
for cases where file2 differs but file1 and file3 agrees, the code
stored the file2 and file3 line numbers in the de[] editing script
entries but used them as if they were file1 line numbers.
Reviewed by: thj
Differential Revision: https://reviews.freebsd.org/D55276
If the operation is executed on more than one CPU, a random instance of
the read value is returned.
Reviewed by: markj, olce
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D55045
The modifier executes the operation using msr{read,write}_safe()
functions instead of plain msr reads and writes. Returns EFAULT if any
MSR access caused #GP.
Reviewed by: markj, olce
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D55045
This corresponds to Linux f74dc880098b4a29f76d756b888fb31d81ad9a0c
That commit does not provide any public background detail, but it's been
in use for over 5 years and corresponds to previous chip bugs w.r.t.
automatic generation of PAUSE frames.
Reviewed by: kgalazka
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D54555
Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all sysctls.
The driver already uses spin mutexes (sc->sc_mtx) for hardware
access protection and does not require the Giant lock.
This improves scalability by allowing concurrent sysctl access
without Giant serialization.
Reviewed by: ngie, adrian
Differential Revision: https://reviews.freebsd.org/D54613
The calibration callout is stopped when the adapter is marked off limits
but not when the adapter is merely stopped.
MFC after: 1 week
Sponsored by: Chelsio Communications
List all currently defined parsers in 'all_parsers', and pass them to
SNL_VERIFY_PARSERS(). This will detect incorrect odering in parsers,
which will help us detect otherwise subtle bugs.
Sponsored by: Rubicon Communications, LLC ("Netgate")
snl atttribute parsers must be sorted by type, so PF_GS_BCOUNTERS
(16) must follow PF_GF_PCOUNTERS (15). Fix ordering and add a call
to SNL_VERIFY_PARSERS.
Without this fix, byte counters reported by 'pfctl -s info' with
a loginterface are always zero.
PR: 291763
MFC after: 1 week
Reviewed by: kp
Signed-off-by: eborisch@gmail.com
The test passes consistently for 1000+ consecutive iterations.
PR: 260891
Reviewed by: oshogbo
Approved by: lwhsu (mentor)
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D55223
Mainly rename numerator parameter of div(3) and ldiv(3) from num to
numer, and explicitly specify what "numer", "denom", and "rem" mean in
the manpages.
MFC after: 3 days
Obtained from: https://github.com/apple-oss-distributions/libc (partially)
Sponsored by: Klara, Inc.
so_state modifications must be synchronized by the socket lock. For the
listening socket this probably doesn't matter but for the child socket I
think it's possible that this unlocked update clobbers a state
transition if the nascent connection is being disconnected for some
reason.
Also fix the line which potentially clears SS_NBIO in the listening
socket.
It is unclear whether this code is used at all.
Reviewed by: glebius
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D55247
These comments refer to a comment in div.c which doesn't exist anymore.
Fixes: 7c7299df76 ("libc: Remove support for pre-C99 C standards")
Sponsored by: Klara, Inc.
Following up ziaee's pattern, and add andy's line.
I'm not sure whether the original commit bit creation date should be used,
and use commit bit re-activation date for now.
MFC after: 1 week
Add `Discussed with:`, `Closes:`, `MFC to:`, and `Co-authored-by:` to
the commit message template from the committer's guide. While here,
wordsmith these to fit on standard console.
Reported by: lwhsu
Discussed with: emaste, jlduran
Reviewed by: vexeduxr
Differential Revision: https://reviews.freebsd.org/D54707
This is to better reflect that we are really enabling CPPC in these
functions and because we are likely to stop activating CPPC autonomous
mode by default in the near future.
No functional change (intended).
Sponsored by: The FreeBSD Foundation
This will allow experimentations and finer-grained tuning to the full
extent allowed by the hardware, which is especially important given that
the spec leaves to hardware implementors an important leeway in
interpreting CPPC's numeric parameters, causing the same settings to
have different effects on different CPU models.
PR: 292615
Reviewed by: aokblast (older version)
Relnotes: yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55010
We were using percents, for compatibility with hwpstate_intel(4), but
this looses granularity that might be important in some scenarios or
with specific CPU models.
For consistency, hwpstate_intel(4) should be changed accordingly, at the
expense of breaking compatibility.
For release notes: Introduction of hwpstate_amd(4) deserves a release
note, even if the original commit was not tagged. Functionality
introduced by recent commits tagged with "Relnotes" should be mentioned
along that one.
PR: 292615
Reviewed by: aokblast
Relnotes: yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55009
In preparation for creating other knobs to tweak values in this register
beyond just the EPP (Efficiency/Performance Preference).
While here, add a herald comment before the softc structure indicating
how we achieve atomicity when modifying the softc.
Reviewed by: aokblast
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55008
If the CPPC_CAPABILITY_1 register stays at its reset value (0) even
after enabling CPPC, as observed in the field (see the referenced PR
below), use sane min/max performance limits as hinted by the ACPI spec,
i.e., all 0s for the minimum value and all 1s for the maximum one.
While here, let's cope upfront with some more insane situations, where
the minimum value would be greater than the maximum one, but also if
they would be equal which does not seem to make sense at all in the CPPC
frame (and, anyway, in this case, the actual minimum and maximum values
we program should have no effect at all). That last case actually also
covers the one exposed in the previous paragraph.
PR: 292615
Reviewed by: aokblast
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55007
When the 'debug.hwpstate_verbose' tunable/sysctl knob is set, dump the
initial content of the CPPC_CAPABILITY_1 and CPPC_REQUEST registers.
If, after enabling CPPC, reading/writing some MSR fails during the attach
sequence, print a diagnostic. However, once CPPC is enabled, we cannot
go back (disabling it is impossible), so we'll attach even if fiddling
with other MSRs failed.
While here, move diagnostic printing on attach out of the callback that
is executed on (potentially) another CPU and with interrupts disabled,
putting it into the attach routine itself.
While here, fix format for printing the CPU ID.
PR: 292615
Reviewed by: aokblast (older version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55006
If some of the registers cannot be read, report that but continue trying
reading the others. This also has the side benefit of simplifying code.
While here, use sbuf_new_for_sysctl(), and rename 'res' and 'ret', which
are to contain error values, to 'error'.
While here, remove the test on getting the per-cpu structure, as if it
is not present we would have already crashed on device attach.
While here, fix format for printing the CPU ID.
PR: 292615
Reviewed by: aokblast (older version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55005
In particular, if one simply does a non-recursive `ls` on a directory
that is not accessible, there are some classes of errors that may cause
it to fail that wouldn't be surfaced unless we do an fts_read() that
will recurse into the inaccessible directory. Catch those kinds of
errors here since we cannot expect to an FTS_ERR/FTS_DNR entry to follow
up on them.
PR: 287451
Reviewed by: kib
Discusssed with: des
Differential Revision: https://reviews.freebsd.org/D51056
pw.8 structure is quite different from usual manual page, especially in
describing -o option usage. Specifically, these paragraphs do not
contain "uid/gid" terms, and have "user id"/"group id" instead,
making searching for "override duplicate safety belt" difficult.
Try to simplify such searches.
Also, clarify uid/gid space between 100 and 1000 as "somewhat special",
as it actually is.
Discussed on: russian telegram FreeBSD group
Reviewed by: eugen, novel
MFC after: 1 week