]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r340404, r340415, r340417, r340419 and r340420:
authorHans Petter Selasky <hselasky@FreeBSD.org>
Fri, 5 Jul 2019 12:26:30 +0000 (12:26 +0000)
committerHans Petter Selasky <hselasky@FreeBSD.org>
Fri, 5 Jul 2019 12:26:30 +0000 (12:26 +0000)
commit111f2bba1ec482eca1cfb54df643f9a645fb6e99
treea61ce359b539d83579f81f0b4ae089c8066b1158
parent4c92d36a51d4ae100cccf6763c0c52abbbb88a0c
MFC r340404, r340415, r340417, r340419 and r340420:
Synchronize epoch(9) code with -head to make merging new patches
and features easier.
The FreeBSD version has been bumped to force recompilation of
external kernel modules.

Sponsored by: Mellanox Technologies

MFC r340404:
Uninline epoch(9) entrance and exit. There is no proof that modern
processors would benefit from avoiding a function call, but bloating
code. In fact, clang created an uninlined real function for many
object files in the network stack.

- Move epoch_private.h into subr_epoch.c. Code copied exactly, avoiding
  any changes, including style(9).
- Remove private copies of critical_enter/exit.

Reviewed by: kib, jtl
Differential Revision: https://reviews.freebsd.org/D17879

MFC r340415:
The dualism between epoch_tracker and epoch_thread is fragile and
unnecessary. So, expose CK types to kernel and use a single normal
structure for epoch_tracker.

Reviewed by: jtl, gallatin

MFC r340417:
With epoch not inlined, there is no point in using _lite KPI. While here,
remove some unnecessary casts.

MFC r340419:
style(9), mostly adjusting overly long lines.

MFC r340420:
epoch(9) revert r340097 - no longer a need for multiple sections per cpu

I spoke with Samy Bahra and recent changes to CK to make ck_epoch_call and
ck_epoch_poll not modify the record have eliminated the need for this.
sys/kern/genoffset.c
sys/kern/subr_epoch.c
sys/sys/epoch.h
sys/sys/epoch_private.h [deleted file]
sys/sys/param.h