]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
6 years agoMFV: file 5.33
eadler [Sun, 20 May 2018 05:06:42 +0000 (05:06 +0000)]
MFV: file 5.33

Merge the latest file(1) in.

Relevent Changelog:
- extend the support for ${x?:} expansions for magic descriptions
- add support for ${x?:} in mime types to handle pie binaries.
- add support for negative offsets (offsets from the end of file)
- close the file on error when writing magic

Relnotes: yes

6 years agoVendor import of file 5.33
eadler [Sun, 20 May 2018 04:56:46 +0000 (04:56 +0000)]
Vendor import of file 5.33

6 years agovfs: simplify vop_stdlock/unlock
mjg [Sun, 20 May 2018 04:45:05 +0000 (04:45 +0000)]
vfs: simplify vop_stdlock/unlock

The interlock pointer is non-NULL by definition and the compiler see through
that and eliminates the NULL checks. Just remove them from the code as they
play no role.

No difference in generated assembly.

6 years agoinpcb: defer destruction of inpcb until after a grace period has elapsed
mmacy [Sun, 20 May 2018 04:38:04 +0000 (04:38 +0000)]
inpcb: defer destruction of inpcb until after a grace period has elapsed

in_pcbfree will remove the incpb from the list and release the rtentry
while the vnet is set, but the actual destruction will be deferred
until any threads in a (not yet used) epoch section, no longer potentially
have references.

6 years agoAF_UNIX: make unpcb lock name line up with what's in witness
mmacy [Sun, 20 May 2018 04:32:48 +0000 (04:32 +0000)]
AF_UNIX: make unpcb lock name line up with what's in witness

6 years agoepoch.h: hide proc.h->priority.h from user
mmacy [Sun, 20 May 2018 04:15:12 +0000 (04:15 +0000)]
epoch.h: hide proc.h->priority.h from user

6 years agoAdd support for the XIVE XICS emulation mode for POWER9 systems
jhibbits [Sun, 20 May 2018 03:23:17 +0000 (03:23 +0000)]
Add support for the XIVE XICS emulation mode for POWER9 systems

Summary:
POWER9 systems use a new interrupt controller, XIVE, managed through OPAL
firmware calls.  The OPAL firmware includes support for emulating the previous
generation XICS presentation layer in addition to a new "XIVE Exploitation"
mode.  As a stopgap until we have XIVE exploitation mode, enable XICS emulation
mode so that we at least have an interrupt controller.

Since the CPPR is local to the current CPU, it cannot be updated for APs when
initializing on the BSP.  This adds a new function, directly called by the
powernv platform code, to initialize the CPPR on AP bringup.

Reviewed by: nwhitehorn
Differential Revision: https://reviews.freebsd.org/D15492

6 years agoinpcb: consolidate possible deletion in pcblist functions in to epoch
mmacy [Sun, 20 May 2018 02:27:58 +0000 (02:27 +0000)]
inpcb: consolidate possible deletion in pcblist functions in to epoch
deferred context.

6 years agoin_pcb: add helper for deferring inpcb rele calls from list functions
mmacy [Sun, 20 May 2018 02:17:30 +0000 (02:17 +0000)]
in_pcb: add helper for deferring inpcb rele calls from list functions

6 years agotop(1): Quiesce several warnings
eadler [Sun, 20 May 2018 02:14:27 +0000 (02:14 +0000)]
top(1): Quiesce several warnings

This is all warnings at level six (6) that are not
char-subscripts, incompatible-pointer-types,
sign-compare, switch, int-conversion,
missing-variable-declarations, cast-qual, cast-align

Some warnings that are fixed by this commit are:
shadow, strict-prototypes, missing-prototypes, pointer-arith,
unused-parameter, unused-const-variable, and several others

6 years agotop(1): remove use of 'register' keyword
eadler [Sun, 20 May 2018 01:32:27 +0000 (01:32 +0000)]
top(1): remove use of 'register' keyword

This keyword is meaningless is obscures future diffs that help clear up
warnings in top.

6 years agotop(1): be constant in a structure
eadler [Sun, 20 May 2018 01:30:19 +0000 (01:30 +0000)]
top(1): be constant in a structure

This silences some warnings that are still hidden since the remainder of
top(1) does not build with higher WARNS yet.

6 years agoepoch.h: move kernel only bits under _KERNEL
mmacy [Sun, 20 May 2018 01:00:56 +0000 (01:00 +0000)]
epoch.h: move kernel only bits under _KERNEL

6 years agoip(6)_freemoptions: defer imo destruction to epoch callback task
mmacy [Sun, 20 May 2018 00:22:28 +0000 (00:22 +0000)]
ip(6)_freemoptions: defer imo destruction to epoch callback task

Avoid the ugly unlock / lock of the inpcbinfo where we need to
figure out what kind of lock we hold by simply deferring the
operation to another context. (Also a small dependency for
converting the pcbinfo read lock to epoch)

6 years agoUse the canonical check for reservation support.
markj [Sat, 19 May 2018 23:49:13 +0000 (23:49 +0000)]
Use the canonical check for reservation support.

6 years agotop(1): unconditionally assume we are running on FreeBSD
eadler [Sat, 19 May 2018 23:19:24 +0000 (23:19 +0000)]
top(1): unconditionally assume we are running on FreeBSD

This allows us to remove a special header and more specifically just the
system headers we want.

6 years agotop(1): unconditionally provide 'FreeBSD' as a version
eadler [Sat, 19 May 2018 23:04:42 +0000 (23:04 +0000)]
top(1): unconditionally provide 'FreeBSD' as a version

6 years agotop(1): assume that we're building on FreeBSD
eadler [Sat, 19 May 2018 22:59:58 +0000 (22:59 +0000)]
top(1): assume that we're building on FreeBSD

This allows us to avoid the ifdefs that we set unconditionally.

6 years agotop(1): bump WARNS to 1
eadler [Sat, 19 May 2018 22:45:43 +0000 (22:45 +0000)]
top(1): bump WARNS to 1

Nothing else builds without errors yet, but 1 is better than 0

6 years agotop(1): Migrate top to usr.bin
eadler [Sat, 19 May 2018 22:40:23 +0000 (22:40 +0000)]
top(1): Migrate top to usr.bin

We've been maintaining top(1) for a long time, and the upstream
hasn't existed/been used in similarly as long. Make it clear that we own
top(1)

Tested with 'make universe'. Everything passed except MIPS which failed
for unrelated reasons. Install also tested for amd64.

Reviewed by: sbruno
No objections: imp, mmacy
Differential Revision: https://reviews.freebsd.org/D15387

6 years agoAvoid writing to the frame buffer in early boot on PowerPC if the CPU's
nwhitehorn [Sat, 19 May 2018 22:04:54 +0000 (22:04 +0000)]
Avoid writing to the frame buffer in early boot on PowerPC if the CPU's
MMU is disabled.

This expands some earlier logic and avoids a number of potential problems:
1. The CPU may not be able to access the framebuffer in real mode (real
   mode does not necessarily encompass all available memory, especially
   under a hypervisor).
2. Real mode accesses generally assume cacheability, so it might not
   even have worked.
3. The difference in cacheability between real mode and later (and
   potentially earlier) points in the boot with the MMU on may cause
   ERAT parity problems, resulting in a machine check.

This fixes real-mode (usefdt=1) early boot on the G5 iMac, which was
previously broken as a result of issue #3. Late boot will require some
other fixups.

6 years agoStyle.
kib [Sat, 19 May 2018 21:36:55 +0000 (21:36 +0000)]
Style.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

6 years agoConform to Berne Convention.
cy [Sat, 19 May 2018 21:26:07 +0000 (21:26 +0000)]
Conform to Berne Convention.

Prompted by: Recent discussion
MFC after: 3 days

6 years agomtest: build with WARNS=3
eadler [Sat, 19 May 2018 20:57:22 +0000 (20:57 +0000)]
mtest: build with WARNS=3

6 years agomy copyright: some minor adjustments
eadler [Sat, 19 May 2018 20:35:15 +0000 (20:35 +0000)]
my copyright: some minor adjustments

- remove "all rights reserved" from my copyright on my extensive
  contributions
- belatedly add my name to tuning.7 which I was a large contributor to
  several years ago

This commit can also serve as implicit permission for any formatting or
non-substantive changes that FreeBSD wishes to make in the future.

6 years agoFix PCID+PTI pmap operations on Xen/HVM.
kib [Sat, 19 May 2018 20:28:59 +0000 (20:28 +0000)]
Fix PCID+PTI pmap operations on Xen/HVM.

Install appropriate pti-aware shootdown IPI handlers, otherwise user
page tables do not get enough invalidations.  The non-pti handlers
were used so far.

Reported and tested by: cperciva
Sponsored by: The FreeBSD Foundation
MFC after: 3 days

6 years agoFix IBRS handling around MWAIT.
kib [Sat, 19 May 2018 20:26:33 +0000 (20:26 +0000)]
Fix IBRS handling around MWAIT.

The intent was to disable IBPB and IBRS around MWAIT, and re-enable on
the sleep end.

Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
MFC after: 3 days

6 years agoEnable kernel dump features in GENERIC for most platforms.
markj [Sat, 19 May 2018 19:53:23 +0000 (19:53 +0000)]
Enable kernel dump features in GENERIC for most platforms.

This turns on support for kernel dump encryption and compression, and
netdump. arm and mips platforms are omitted for now, since they are more
constrained and don't benefit as much from these features.

Reviewed by: cem, manu, rgrimes
Tested by: manu (arm64)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D15465

6 years agoufs: remove cgbno variable where unused
mmacy [Sat, 19 May 2018 19:30:42 +0000 (19:30 +0000)]
ufs: remove cgbno variable where unused

6 years agonet: fix uninitialized variable warning
mmacy [Sat, 19 May 2018 19:00:04 +0000 (19:00 +0000)]
net: fix uninitialized variable warning

6 years agoctf dwarf: don't report "no dwarf entry" as if it were an error
mmacy [Sat, 19 May 2018 18:50:58 +0000 (18:50 +0000)]
ctf dwarf: don't report "no dwarf entry" as if it were an error

6 years agomuge(4): chase r333813 if_addr_lock rwlock to epoch + mutex
emaste [Sat, 19 May 2018 18:44:29 +0000 (18:44 +0000)]
muge(4): chase r333813 if_addr_lock rwlock to epoch + mutex

muge was committed to the tree in r333713 but not yet connected to the
tree, and it crossed paths with the migration to using ck.

Sponsored by: The FreeBSD Foundation

6 years agodisable printing value of SKEIN_LOOP during standard out,
mmacy [Sat, 19 May 2018 18:27:14 +0000 (18:27 +0000)]
disable printing value of SKEIN_LOOP during standard out,
not useful information

6 years agobhnd nvram map: don't write "variable records written" to standard out by default
mmacy [Sat, 19 May 2018 18:15:41 +0000 (18:15 +0000)]
bhnd nvram map: don't write "variable records written" to standard out by default

Add -v (verbose) option for the developers. The rest of us
derive no value from this information.

6 years agoRestore the all rights reserved language. Put it on each of the prior
imp [Sat, 19 May 2018 17:29:57 +0000 (17:29 +0000)]
Restore the all rights reserved language. Put it on each of the prior
two copyrights. The line originated with the Berkeely Regents, who
we have not approached about removing it (it's honestly too trivial
to be worth that fight). Restore it to rwatson's line as well. He
can decide if he wants it or not on his own. Matt clearly doesn't
want it, per project preference and his own statements on IRC.

Noticed by: rgrimes@

6 years agomp_ring: fix i386
mmacy [Sat, 19 May 2018 16:44:12 +0000 (16:44 +0000)]
mp_ring: fix i386

Even though 64-bit atomics are supported on i386 there are panics
indicating that the code does not work correctly there. Switch
to mutex based variant (and fix that while we're here).

Reported by: pho, kib

6 years agoFix whitespace; no functional changes.
trasz [Sat, 19 May 2018 15:18:15 +0000 (15:18 +0000)]
Fix whitespace; no functional changes.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

6 years agoAdd #defines for vendor/product USB IDs. No functional changes.
trasz [Sat, 19 May 2018 15:11:24 +0000 (15:11 +0000)]
Add #defines for vendor/product USB IDs.  No functional changes.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

6 years agoRemove duplicate cap_no_rights from r333874
emaste [Sat, 19 May 2018 11:37:02 +0000 (11:37 +0000)]
Remove duplicate cap_no_rights from r333874

Archs using in-tree gcc were broken with `warning: redundant
redeclaration of 'cap_no_rights' [-Wredundant-decls]`.

Sponsored by: The FreeBSD Foundation

6 years agoPermit "(", ")", ":", and "/" in USB string descriptors.
trasz [Sat, 19 May 2018 10:49:51 +0000 (10:49 +0000)]
Permit "(", ")", ":", and "/" in USB string descriptors.
This way we can properly show descriptors with URLs in them.

Reviewed by: hselasky@
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

6 years agoUnbreak BeagleBone Black boot by collapsing 29 SYSINITs in to 1
mmacy [Sat, 19 May 2018 07:31:35 +0000 (07:31 +0000)]
Unbreak BeagleBone Black boot by collapsing 29 SYSINITs in to 1

Reported by: ilya at bakulin.de

6 years agointr unbreak KTR/LINT build
mmacy [Sat, 19 May 2018 07:04:43 +0000 (07:04 +0000)]
intr unbreak KTR/LINT build

6 years agoctfconvert: silence useless enum has too many values warning
mmacy [Sat, 19 May 2018 06:31:17 +0000 (06:31 +0000)]
ctfconvert: silence useless enum has too many values warning

6 years agopmap: silence warnings
mmacy [Sat, 19 May 2018 05:58:05 +0000 (05:58 +0000)]
pmap: silence warnings

6 years agonetmap and iflib drivers, silence unused var warnings
mmacy [Sat, 19 May 2018 05:57:26 +0000 (05:57 +0000)]
netmap and iflib drivers, silence unused var warnings

6 years agonetinet silence warnings
mmacy [Sat, 19 May 2018 05:56:21 +0000 (05:56 +0000)]
netinet silence warnings

6 years agotcp sysctl fix may be uninitialized
mmacy [Sat, 19 May 2018 05:55:31 +0000 (05:55 +0000)]
tcp sysctl fix may be uninitialized

6 years agotcp fastopen: fix may be uninitialized
mmacy [Sat, 19 May 2018 05:55:00 +0000 (05:55 +0000)]
tcp fastopen: fix may be uninitialized

6 years agoAF_UNIX: switch to annotations to avoid warnings
mmacy [Sat, 19 May 2018 05:37:58 +0000 (05:37 +0000)]
AF_UNIX: switch to annotations to avoid warnings

6 years agonetmap: compare e1 with e2, not with itself
mmacy [Sat, 19 May 2018 05:37:18 +0000 (05:37 +0000)]
netmap: compare e1 with e2, not with itself

6 years agonet: fix set but not used
mmacy [Sat, 19 May 2018 05:27:49 +0000 (05:27 +0000)]
net: fix set but not used

6 years agocapsicum: propagate const correctness
mmacy [Sat, 19 May 2018 05:14:05 +0000 (05:14 +0000)]
capsicum: propagate const correctness

6 years agoback out DBGSET macro
mmacy [Sat, 19 May 2018 05:12:57 +0000 (05:12 +0000)]
back out DBGSET macro

6 years agointr: eliminate / annotate unused stack locals
mmacy [Sat, 19 May 2018 05:12:18 +0000 (05:12 +0000)]
intr: eliminate / annotate unused stack locals

6 years agosendfile: annotate unused value and ensure that npages is actually initialized
mmacy [Sat, 19 May 2018 05:10:51 +0000 (05:10 +0000)]
sendfile: annotate unused value and ensure that npages is actually initialized

6 years agoumtx: don't call umtxq_getchain unless the value is needed
mmacy [Sat, 19 May 2018 05:09:10 +0000 (05:09 +0000)]
umtx: don't call umtxq_getchain unless the value is needed

6 years agocpuset: revert and annotate instead
mmacy [Sat, 19 May 2018 05:07:31 +0000 (05:07 +0000)]
cpuset: revert and annotate instead

6 years agoconf: revert last change and annotate unused var instead
mmacy [Sat, 19 May 2018 05:07:03 +0000 (05:07 +0000)]
conf: revert last change and annotate unused var instead

6 years agokevent: annotate unused stack local
mmacy [Sat, 19 May 2018 05:06:18 +0000 (05:06 +0000)]
kevent: annotate unused stack local

6 years agolockf: annotate LOCKF_DEBUG only var
mmacy [Sat, 19 May 2018 05:04:38 +0000 (05:04 +0000)]
lockf: annotate LOCKF_DEBUG only var

6 years agocapsicum: annotate variable only used by debug
mmacy [Sat, 19 May 2018 05:02:40 +0000 (05:02 +0000)]
capsicum: annotate variable only used by debug

6 years agoturnstile / sleepqueue: annotate variables only used by debug builds
mmacy [Sat, 19 May 2018 05:00:16 +0000 (05:00 +0000)]
turnstile / sleepqueue: annotate variables only used by debug builds

6 years agovfs: annotate variables only used by debug builds as __unused
mmacy [Sat, 19 May 2018 04:59:39 +0000 (04:59 +0000)]
vfs: annotate variables only used by debug builds as __unused

6 years agoAdd SPR_HSRR0/SPR_HSRR1 definitions
jhibbits [Sat, 19 May 2018 04:56:10 +0000 (04:56 +0000)]
Add SPR_HSRR0/SPR_HSRR1 definitions

Reported by: Mark Millard
Pointy-hat to: jhibbits

6 years agotty: use __unused annotation instead to silence warnings
mmacy [Sat, 19 May 2018 04:48:26 +0000 (04:48 +0000)]
tty: use __unused annotation instead to silence warnings

6 years agoepoch: avoid warning when INVARIANTS is not enabled
mmacy [Sat, 19 May 2018 04:47:34 +0000 (04:47 +0000)]
epoch: avoid warning when INVARIANTS is not enabled

6 years agodisable set but not used on code that can't be changed
mmacy [Sat, 19 May 2018 04:46:34 +0000 (04:46 +0000)]
disable set but not used on code that can't be changed

6 years agomalloc: avoid possibly returning stack garbage if MALLOC_DEBUG is defined
mmacy [Sat, 19 May 2018 04:43:49 +0000 (04:43 +0000)]
malloc: avoid possibly returning stack garbage if MALLOC_DEBUG is defined

6 years agoAdd hypervisor trap handling, using HSRR0/HSRR1
jhibbits [Sat, 19 May 2018 04:21:50 +0000 (04:21 +0000)]
Add hypervisor trap handling, using HSRR0/HSRR1

Summary:
Some hypervisor exceptions on POWER architecture only save state to HSRR0/HSRR1.
Until we have bhyve on POWER, use a lightweight exception frontend which copies
HSRR0/HSRR1 into SRR0/SRR1, and run the normal trap handler.

The first user of this is the Hypervisor Virtualization Interrupt, which targets
the XIVE interrupt controller on POWER9.

Reviewed By: nwhitehorn
Differential Revision: https://reviews.freebsd.org/D15487

6 years agocpuset_thread0: avoid unused assignment on non debug build
mmacy [Sat, 19 May 2018 04:14:00 +0000 (04:14 +0000)]
cpuset_thread0: avoid unused assignment on non debug build

6 years agomake_dev: avoid unused assignments on non debug builds
mmacy [Sat, 19 May 2018 04:13:20 +0000 (04:13 +0000)]
make_dev: avoid unused assignments on non debug builds

6 years agomqueue: avoid unused variables
mmacy [Sat, 19 May 2018 04:10:53 +0000 (04:10 +0000)]
mqueue: avoid unused variables

6 years agophysio: avoid uninitialized variables
mmacy [Sat, 19 May 2018 04:09:58 +0000 (04:09 +0000)]
physio: avoid uninitialized variables

6 years agocache_lookup remove unused variable and initialize used
mmacy [Sat, 19 May 2018 04:08:11 +0000 (04:08 +0000)]
cache_lookup remove unused variable and initialize used

6 years agofilt_timerdetach: only assign to old if we're going to check it in
mmacy [Sat, 19 May 2018 04:07:00 +0000 (04:07 +0000)]
filt_timerdetach: only assign to old if we're going to check it in
a KASSERT

6 years agogetnextevent: put variable only used by KTR under ifdef KTR
mmacy [Sat, 19 May 2018 04:05:36 +0000 (04:05 +0000)]
getnextevent: put variable only used by KTR under ifdef KTR

6 years agosimplify control flow so that gcc knows we never pass save to curthread_pflags_restore
mmacy [Sat, 19 May 2018 04:04:44 +0000 (04:04 +0000)]
simplify control flow so that gcc knows we never pass save to curthread_pflags_restore
without initializing

6 years agotty: conditionally assign to ret value only used by MPASS statement
mmacy [Sat, 19 May 2018 04:02:29 +0000 (04:02 +0000)]
tty: conditionally assign to ret value only used by MPASS statement

6 years agopowerpc64: Add OPAL definitions
jhibbits [Sat, 19 May 2018 04:01:15 +0000 (04:01 +0000)]
powerpc64: Add OPAL definitions

Summary:
Add additional OPAL PCI definitions and expand the code to use them in order to
ease the OPAL interface process for new comers.

These definitions came directly from the OPAL code and they are the same for
both PHB3 (POWER8) and PHB4 (POWER9).

Submitted by: Breno Leitao
Differential Revision: https://reviews.freebsd.org/D15432

6 years agoremove unused locked variable in lockmgr_unlock_fast_path
mmacy [Sat, 19 May 2018 03:58:40 +0000 (03:58 +0000)]
remove unused locked variable in lockmgr_unlock_fast_path

6 years agosignotify: don't create a stack local that isn't used on non-debug builds
mmacy [Sat, 19 May 2018 03:57:41 +0000 (03:57 +0000)]
signotify: don't create a stack local that isn't used on non-debug builds

6 years agosysv_msg initialize saved_msgsz
mmacy [Sat, 19 May 2018 03:56:39 +0000 (03:56 +0000)]
sysv_msg initialize saved_msgsz

6 years agoremove unused variable
mmacy [Sat, 19 May 2018 03:55:42 +0000 (03:55 +0000)]
remove unused variable

6 years agofix uninitialized variable warning in reader locks
mmacy [Sat, 19 May 2018 03:52:55 +0000 (03:52 +0000)]
fix uninitialized variable warning in reader locks

6 years agoadd DBGSET macro to conditionally assign to a variable depending on INVARIANTS
mmacy [Sat, 19 May 2018 03:50:29 +0000 (03:50 +0000)]
add DBGSET macro to conditionally assign to a variable depending on INVARIANTS

6 years agofix uninitialized variable warning
mmacy [Sat, 19 May 2018 03:49:36 +0000 (03:49 +0000)]
fix uninitialized variable warning

6 years agosys_process.c fix set but not used warning
mmacy [Sat, 19 May 2018 03:48:35 +0000 (03:48 +0000)]
sys_process.c fix set but not used warning

6 years agosubr_epoch.c fix unused variable warnings
mmacy [Sat, 19 May 2018 03:47:37 +0000 (03:47 +0000)]
subr_epoch.c fix unused variable warnings

6 years agoFix a manual copy from the original diff for r333825
jhibbits [Sat, 19 May 2018 03:47:28 +0000 (03:47 +0000)]
Fix a manual copy from the original diff for r333825

The 'else' was in the original diff.

Submitted by: Breno Leitao

6 years agoAdd yet another option for gathering available memory
jhibbits [Sat, 19 May 2018 03:45:38 +0000 (03:45 +0000)]
Add yet another option for gathering available memory

On some POWER9 systems, 'reg' denotes the full memory in the system, while
'linux,usable-memory' denotes the usable memory.  Some memory is reserved for
NVLink usage, so is partitioned off.

Submitted by: Breno Leitao

6 years agoAdd some Hypervisor interrupt definitions
jhibbits [Sat, 19 May 2018 03:23:46 +0000 (03:23 +0000)]
Add some Hypervisor interrupt definitions

This mostly completes the interrupt definitions.  There are still some left out,
less likely to be used in the near term.

6 years agopidctrl Actually use the variables that we assign to as seatbelts to prevent divide
mmacy [Sat, 19 May 2018 02:17:18 +0000 (02:17 +0000)]
pidctrl Actually use the variables that we assign to as seatbelts to prevent divide
by zero

Reviewed by: jeffr

6 years agofix gcc8 unused variable and set but not used variable in unix sockets
mmacy [Sat, 19 May 2018 02:15:40 +0000 (02:15 +0000)]
fix gcc8 unused variable and set but not used variable in unix sockets
add copyright from lock rewrite while here

6 years agoMerge bmake-20180512
sjg [Sat, 19 May 2018 00:26:00 +0000 (00:26 +0000)]
Merge bmake-20180512

Skip polling job token pipe,
better handle sysV style includes with variables.

6 years agoSilence non-actionable warnings in vendor code
mmacy [Sat, 19 May 2018 00:04:01 +0000 (00:04 +0000)]
Silence non-actionable warnings in vendor code

We can't modify vendor code so there's no signal in warnings from it.
Similarly -Waddress-of-packed-member is not useful on networking code
as access to packed structures is fundamental to its operation.

6 years agoAnnotate td_pre_epoch_prio in struct thread
mmacy [Fri, 18 May 2018 23:17:49 +0000 (23:17 +0000)]
Annotate td_pre_epoch_prio in struct thread

Reported by: jhb

6 years agolockmgr: avoid atomic on unlock in the slow path
mjg [Fri, 18 May 2018 22:57:52 +0000 (22:57 +0000)]
lockmgr: avoid atomic on unlock in the slow path

The code is pretty much guaranteed not to be able to unlock.

This is a minor nit. The code still performs way too many reads.
The altered exclusive-locked condition is supposed to be always
true as well, to be cleaned up at a later date.

6 years agoStop claiming the device-side USB serial interfaces talk Hayes AT.
trasz [Fri, 18 May 2018 20:24:19 +0000 (20:24 +0000)]
Stop claiming the device-side USB serial interfaces talk Hayes AT.

There should be no functional difference.

Reviewed by: hselasky@
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

6 years agoifnet: Replace if_addr_lock rwlock with epoch + mutex
mmacy [Fri, 18 May 2018 20:13:34 +0000 (20:13 +0000)]
ifnet: Replace if_addr_lock rwlock with epoch + mutex

Run on LLNW canaries and tested by pho@

gallatin:
Using a 14-core, 28-HTT single socket E5-2697 v3 with a 40GbE MLX5
based ConnectX 4-LX NIC, I see an almost 12% improvement in received
packet rate, and a larger improvement in bytes delivered all the way
to userspace.

When the host receiving 64 streams of netperf -H $DUT -t UDP_STREAM -- -m 1,
I see, using nstat -I mce0 1 before the patch:

InMpps OMpps  InGbs  OGbs err TCP Est %CPU syscalls csw     irq GBfree
4.98   0.00   4.42   0.00 4235592     33   83.80 4720653 2149771   1235 247.32
4.73   0.00   4.20   0.00 4025260     33   82.99 4724900 2139833   1204 247.32
4.72   0.00   4.20   0.00 4035252     33   82.14 4719162 2132023   1264 247.32
4.71   0.00   4.21   0.00 4073206     33   83.68 4744973 2123317   1347 247.32
4.72   0.00   4.21   0.00 4061118     33   80.82 4713615 2188091   1490 247.32
4.72   0.00   4.21   0.00 4051675     33   85.29 4727399 2109011   1205 247.32
4.73   0.00   4.21   0.00 4039056     33   84.65 4724735 2102603   1053 247.32

After the patch

InMpps OMpps  InGbs  OGbs err TCP Est %CPU syscalls csw     irq GBfree
5.43   0.00   4.20   0.00 3313143     33   84.96 5434214 1900162   2656 245.51
5.43   0.00   4.20   0.00 3308527     33   85.24 5439695 1809382   2521 245.51
5.42   0.00   4.19   0.00 3316778     33   87.54 5416028 1805835   2256 245.51
5.42   0.00   4.19   0.00 3317673     33   90.44 5426044 1763056   2332 245.51
5.42   0.00   4.19   0.00 3314839     33   88.11 5435732 1792218   2499 245.52
5.44   0.00   4.19   0.00 3293228     33   91.84 5426301 1668597   2121 245.52

Similarly, netperf reports 230Mb/s before the patch, and 270Mb/s after the patch

Reviewed by: gallatin
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D15366

6 years agotag bmake-20180512
sjg [Fri, 18 May 2018 19:50:22 +0000 (19:50 +0000)]
tag bmake-20180512