4e6c593f sjg Dec. 22, 2018, 9:32 p.m.
o parse.c: ParseVErrorInternal use .PARSEDIR
  and apply if relative, and then use .PARSEFILE
  for consistent result.
o var.c: avoid SEGFAULT in .unexport-env
  when MAKELEVEL is not set
cgit ViewVC
58e18542 vmaffione Dec. 22, 2018, 4:23 p.m.
To check if txsync can be skipped, it is necessary to look for
unseen TX space. However, this means comparing ring->cur
against ring->tail, rather than ring->head against ring->tail
(like nm_ring_empty() does).
This change also adds some more comments to explain the optimization
performed at the beginning of netmap_poll().

MFC after:	3 days
Sponsored by:	Sunny Valley Networks
cgit ViewVC
e1ed1fbd vmaffione Dec. 22, 2018, 3:15 p.m.
The bug was introduced by r339639, although it is present in the upstream
netmap code since 2015. It is due to resetting the want_rx variable to
POLLIN, rather than resetting it to POLLIN|POLLRDNORM.
It only affects select(), which uses POLLRDNORM. poll() is not affected,
because it uses POLLIN.
Also, it only affects FreeBSD, because Linux skips the optimization
implemented by the piece of code where the bug occurs.

MFC after:	3 days
Sponsored by:	Sunny Valley Networks
cgit ViewVC
8ebaf584 eugen Dec. 22, 2018, 11:38 a.m.
to force local hash computation and disable usage of RSS hash
provided by driver.

PR:		234242
MFC after:	1 week
cgit ViewVC
5ef4f86d bde Dec. 22, 2018, 9:31 a.m.
so only aligned starts worked.  This broke releasing caches in most
cases where the i/o size is smaller than the fs block size.
cgit ViewVC
ac0a7e2a kevans Dec. 22, 2018, 6:08 a.m.
Quick follow-up to r342362: options can appear multiple times now, so
clean up all of them as needed. For non-OPTIONS options, this has no effect
since they're already de-duplicated.

MFC after:	1 week
X-MFC-With:	r342362
cgit ViewVC
993e5c4f kevans Dec. 22, 2018, 6:02 a.m.
config(8)'s option handling has been written to allow duplicate options; if
the value changes, then the latest value is used and an informative message
is printed to stderr like so:

/usr/src/sys/amd64/conf/TEST: option "VERBOSE_SYSINIT" redefined from 0 to 1

Currently, this is only a possibility for cpu types, MAXUSERS, and
MACHINE_ARCH. Anything else duplicated in a config file will use the first
value set and error about duplicated options on subsequent appearances,
which is arguably unfriendly since one could specify:

include GENERIC

to redefine the value later anyways.

Reported by:	mmacy
MFC after:	1 week
cgit ViewVC
9d0e9f8e imp Dec. 21, 2018, 11:22 p.m.
The nvmecontrol code that did the devlist assumed that we had a
tightly-packed allocation of units. Since pci writing exists, this
isn't the case. Loop over the first 256 units, which is a reasonable
number of possible units.

Sponsored by: Netflix
cgit ViewVC
416e232c bde Dec. 21, 2018, 9:17 p.m.
clustering is not done.  The bug caused extreme slowness for large
files in some cases.

There is no way to tell VOP_BMAP() how many blocks are wanted, so for
all file systems it has to waste time in some cases by searching for
more contiguous blocks than will be accessed.  For msdosfs, it also
clobbered the fatchain cache in these cases by advancing the cache to
point to the chain entry for block that won't be read.  This makes
the cache useless for the next sequential i/o (or VOP_BMAP()), so the
fat chain is searched from the beginning.  The cache only has 1 relevant
entry, so it is similarly useless for random i/o.

Fix this by only advancing the cache to point to the chain entry for
the first block that will be read.  Clustering uses results from
VOP_BMAP(), so when more than 1 block is read by clustering, the cache
is not advanced as optimally as before, but it is at most 1 cluster
size behind and searching the chain through the blocks for this cluster
doesn't take too long.
cgit ViewVC
6c5c0137 np Dec. 21, 2018, 8:46 p.m.
86312e46 cem Dec. 21, 2018, 8:30 p.m.
Add a generic mechanism to override mp?_wait_command's timeout behavior,
which continues to invoke reinit by default.  Invokers who set
cm_timeout_handler may avoid automatic reinit and do their own handling.

Adapt mp?sas_get_sata_identify to this mechanism and remove its callout

Reviewed by:	scottl
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D18614
cgit ViewVC
8277ce2b cem Dec. 21, 2018, 8:29 p.m.
In the event that the ID command timed out, mps(4)/mpr(4) did not free the
command until it could be cancelled.  However, it freed the associated
buffer (cm_data).  Fix the lifetime issue by freeing the associated buffer
only after Abort Task or controller reset.

Reviewed by:	scottl
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D18612
cgit ViewVC
8ec22c4d bde Dec. 21, 2018, 8:12 p.m.
mainly clustering and read-ahead.)  Copy the initialization from ffs,
and also copy a couple of lines of ffs's nearby style for initialization
order and whitespace.

A correct fix would de-duplicate the initialization and fix bitrot in it
instead of adding another instance of the duplication.  Complications to
use the size preferred by the device have been reduced to hard-coding
slightly pessimal and/or inconsistent defaults, using large code that was
almost needed to support the complications.

For msdosfs, the result was that mnt_iosize_max was DFTLPHYS (64K) but is
now MAXPHYS (128K).
cgit ViewVC
1f03d0ba mav Dec. 21, 2018, 5:22 p.m.
Reported by:	Alexander Fedorov (IT-Grad.ru)
MFC after:	5 days
cgit ViewVC
c2231fb0 vmaffione Dec. 21, 2018, 2:45 p.m.
Small modifications to the nmreplay man page.
Used igor and mandoc tools to fix warnings and errors.

Reviewed by:	bcr
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D18629
cgit ViewVC