r352432 dmgk Sept. 17, 2019, 12:22 a.m.
Reported by:	yuripv
Approved by:	araujo (mentor)
Differential Revision:	https://reviews.freebsd.org/D21679
ViewVC
r352431 jmg Sept. 16, 2019, 10:48 p.m.
r352430 mhorne Sept. 16, 2019, 10:17 p.m.
The EARLY_AP_STARTUP option initializes non-boot processors
much sooner during startup. This adds support for this option
on RISC-V and enables it by default for GENERIC.

Reviewed by:	jhb, markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D21661
ViewVC
r352427 mjg Sept. 16, 2019, 9:37 p.m.
There are 3 counters modified all the time in this structure - one for
keeping the structure alive, one for preventing unmount and one for
tracking active writers. Exact values of these counters are very rarely
needed, which makes them a prime candidate for conversion to a per-cpu
scheme, resulting in much better performance.

Sample benchmark performing fstatfs (modifying 2 out of 3 counters) on
a 104-way 2 socket Skylake system:
before:   852393 ops/s
after:  76682077 ops/s

Reviewed by:	kib, jeff
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21637
ViewVC
r352426 mjg Sept. 16, 2019, 9:33 p.m.
See r352424.

Reviewed by:	kib, jeff
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21575
ViewVC
r352425 mjg Sept. 16, 2019, 9:32 p.m.
See r352424.

Reviewed by:	kib, jeff
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21574
ViewVC
r352424 mjg Sept. 16, 2019, 9:31 p.m.
New primitive is introduced to denote sections can operate locklessly
on aspects of struct mount, but which can also be disabled if necessary.
This provides an opportunity to start scaling common case modifications
while providing stable state of the struct when facing unmount, write
suspendion or other events.

mnt_ref is the first counter to start being managed in this manner with
the intent to make it per-cpu.

Reviewed by:	kib, jeff
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21425
ViewVC
r352423 dmgk Sept. 16, 2019, 8:43 p.m.
Approved by:	tz (mentor)
Differential Revision:	https://reviews.freebsd.org/D21675
ViewVC
r352422 dmgk Sept. 16, 2019, 8:41 p.m.
Approved by:	tz (mentor)
Differential Revision:	https://reviews.freebsd.org/D21672
ViewVC
r352421 tsoome Sept. 16, 2019, 8:28 p.m.
We really should not allocate anything with size 0.
ViewVC
r352420 tsoome Sept. 16, 2019, 8:26 p.m.
When the file processing is done, we will have string with lenght 0 in stack and we will attempt to
allocate 0 bytes.
ViewVC
r352417 asomers Sept. 16, 2019, 4:41 p.m.
That revision addressed a Coverity CID that could lead to a buffer overflow,
but it had an off-by-one error in the buffer size check.

Reported by:	Coverity
Coverity CID:	1405530
MFC after:	3 days
MFC-With:	351961
Sponsored by:	The FreeBSD Foundation
ViewVC
r352414 asomers Sept. 16, 2019, 3:56 p.m.
Coverity complained that I wasn't initializing some class members until the
SetUp method.  Do it in the constructor instead.

Reported by:	Coverity
Coverity CIDs:	1404352, 1404378
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
ViewVC
r352413 asomers Sept. 16, 2019, 3:44 p.m.
Where open(2) is expected to fail, the tests should assert or expect that
its return value is -1.  These tests all accepted too much but happened to
pass anyway.

Reported by:	Coverity
Coverity CID:	1404512, 1404378, 1404504, 1404483
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
ViewVC
r352411 markj Sept. 16, 2019, 3:16 p.m.
VPRC_BLOCKED is a refcount flag used to indicate that a thread is
tearing down mappings of a page.  When set, it causes attempts to wire a
page via a pmap lookup to fail.  It should never represent the last
reference to a page, so assert this.

Suggested by:	kib
Reviewed by:	alc, kib
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D21639
ViewVC