6f19dc21 mjg Feb. 1, 2021, 4:53 a.m.
bbfb1edd mjg Feb. 1, 2021, 4:36 a.m.
af885c57 tuexen Jan. 31, 2021, 10:46 p.m.
Improve the handling of INIT chunks in specific szenarios and
report and appropriate error cause.
Thanks to Anatoly Korniltsev for reporting the issue for the
userland stack.

MFC after:	3 days
e0a0a3ef gonzo Jan. 31, 2021, 9:44 p.m.
Commit 248f0ca converted intrcnt and intrnames from u_long[]
and char[] to u_long* and char* respectively, but for non-INTRNG mips
these symbols were defined in .S file as a pre-allocated static arrays,
so the problem wasn't cought at compile time. Conversion from an array
to a pointer requires pointer initialization and it wasn't done
for MIPS, so whatever happenned to be in the begginning of intcnt[]
array was used as a pointer value.

Move intrcnt/intrnames to C code and allocate them dynamically
although with a fixed size at the moment.

Reviewed by:	emaste
PR:		253051
Differential Revision:	https://reviews.freebsd.org/D28424
MFC after:	1 day
5299d64b trasz Jan. 31, 2021, 9:42 p.m.
Reviewed By:	markj
Sponsored by:	NetApp, Inc.
Sponsored by:	Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D27332
b8073b3c trasz Jan. 31, 2021, 9:37 p.m.
This could happen when failing due to disappearing source file.

Reviewed By:	kib
Tested by:	pho
Sponsored by:	NetApp, Inc.
Sponsored by:	Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D27338
cb696212 trasz Jan. 31, 2021, 9:35 p.m.
We would unlock fvp here, only to unlock it again below,
just before "bad".

Reviewed By:	kib
Tested by:	pho
Sponsored by:	NetApp, Inc.
Sponsored by:	Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D27339
10328f8b se Jan. 31, 2021, 8:07 p.m.
Update to version 3.2.6

MFC after:	3 days
47a52dc4 se Jan. 31, 2021, 7:58 p.m.
9dc7c250 mav Jan. 31, 2021, 5:55 p.m.
Investigation of iSCSI target data corruption reports brought me to
discovery that cxgb(4) expects mbufs to be physically contiguous, that
is not true after I've started using m_extaddref() in software iSCSI
for large zero-copy transmissions.  In case of fragmented memory the
driver transmitted garbage from pages following the first one due to
simple use of pmap_kextract() for the first pointer instead of proper
bus_dmamap_load_mbuf_sg().  Seems like it was done as some optimization
many years ago, and at very least it is wrong in a world of IOMMUs.

This patch just removes that optimization, plus limits packet coalescing
for mbufs crossing page boundary, also depending on assumption of one
segment per packet.

MFC after:	3 days
Sponsored by:	iXsystems, Inc.
Reviewed by:	mmacy, np
Differential revision:	https://reviews.freebsd.org/D28428
8eeeee38 kevans Jan. 31, 2021, 4:11 p.m.
Parallel builds of stand should be assumed both possible and safe as of
7012461c9bf6, so let's start using some jobs to speed up lualoader test
harness builds.
f1be262e mjg Jan. 31, 2021, 4:07 p.m.
This is a tradeoff which saves jumps for smaller sizes while making
the 8-16 range slower (roughly in line with the other cases).

Tested with glibc test suite.

For example size 3 (most common with vfs namecache) (ops/s):
before:	407086026
after:	461391995

The regressed range of 8-16 (with 8 as example):
before:	540850489
after:	461671032
0db6aef4 mjg Jan. 31, 2021, 4:07 p.m.
46f168bc mjg Jan. 31, 2021, 4:07 p.m.
b24872cf kevans Jan. 31, 2021, 3:57 p.m.
According to the Lua 5.4 manual section 6.4.1 ("Patterns"), the interaction
between ranges and classes is not defined and hyphens must be specified at
either the beginning or the end of a set if they are not escaped.

Move all such occurrences to the beginning.

Reported-by:	_parv (twitter)
MFC-after:	3 days