| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case where the two events were being received in separate reads, the
event buffer was being null-terminated at the wrong offset.
Also, factored out some common code between the tests, and fixed a comment.
Submitted by: will
MFC after: 3 days
Sponsored by: Spectra Logic Corp
Notes:
svn path=/head/; revision=297838
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the old and new NFS clients. He did a good job of isolating the problem
which was caused by the new NFS client not setting the post write mtime
correctly. The new NFS client code was cloned from the old client, but
was incorrect, because the mtime in the nfs vnode's cache wasn't yet
updated. This patch fixes this problem. The patch also adds missing mutex
locking.
Reported and tested by: bde
MFC after: 2 weeks
Notes:
svn path=/head/; revision=297837
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous method would completely nerf CFLAGS once bsd.progs.mk had
recursed into the per-PROG logic and make the CFLAGS for tap testcases
to -O0, instead of appending to CFLAGS for all of the tap testcases.
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=297836
|
|
|
|
|
|
|
| |
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=297835
|
|
|
|
| |
Notes:
svn path=/head/; revision=297834
|
|
|
|
|
|
|
| |
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=297833
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Author: Alexander Motin <mav@FreeBSD.org>
Improve speculative prefetch of indirect blocks.
Scalability of many operations on wide ZFS pool can be limited by
requirement to prefetch indirect blocks first. Recently added
asynchronous indirect block read partially helped, but did not
solve the problem completely. This patch extends existing prefetcher
functionality to explicitly work with indirect blocks.
Before this change prefetcher issued reads for up to 8MB of data in
advance. With this change it also issues indirect block reads
for up to 64MB of data in advance, so that when it will be time to
actually read those data, it can be done immediately. Alike effect
can be achieved by just increasing maximal data prefetch distance,
but at higher memory cost.
Also this change introduces indirect block prefetch for rewrite
operations, that was never done before. Previously ARC miss for
Indirect blocks regularly blocked rewrites, converting perfectly
aligned asynchronous operations into synchronous read-write pairs,
significantly reducing maximal rewrite speed.
While being there this issue was also fixed:
- prefetch was done always, even if caching for the dataset was
completely disabled.
Testing on FreeBSD with zvol on top of 6x striped 2x mirrored pool
of 12 assorted HDDs shown me such performance numbers:
------- BEFORE --------
Write 491363677 bytes/sec
Read 312430631 bytes/sec
Rewrite 97680464 bytes/sec
-------- AFTER --------
Write 493524146 bytes/sec
Read 438598079 bytes/sec
Rewrite 277506044 bytes/sec
Closes #65
Closes #80
openzfs/openzfs@792fd28ac04f78cc5e43ead2d72a96f244ea84e8
Notes:
svn path=/head/; revision=297832
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Author: Alexander Motin <mav@FreeBSD.org>
Improve speculative prefetch of indirect blocks.
Scalability of many operations on wide ZFS pool can be limited by
requirement to prefetch indirect blocks first. Recently added
asynchronous indirect block read partially helped, but did not
solve the problem completely. This patch extends existing prefetcher
functionality to explicitly work with indirect blocks.
Before this change prefetcher issued reads for up to 8MB of data in
advance. With this change it also issues indirect block reads
for up to 64MB of data in advance, so that when it will be time to
actually read those data, it can be done immediately. Alike effect
can be achieved by just increasing maximal data prefetch distance,
but at higher memory cost.
Also this change introduces indirect block prefetch for rewrite
operations, that was never done before. Previously ARC miss for
Indirect blocks regularly blocked rewrites, converting perfectly
aligned asynchronous operations into synchronous read-write pairs,
significantly reducing maximal rewrite speed.
While being there this issue was also fixed:
- prefetch was done always, even if caching for the dataset was
completely disabled.
Testing on FreeBSD with zvol on top of 6x striped 2x mirrored pool
of 12 assorted HDDs shown me such performance numbers:
------- BEFORE --------
Write 491363677 bytes/sec
Read 312430631 bytes/sec
Rewrite 97680464 bytes/sec
-------- AFTER --------
Write 493524146 bytes/sec
Read 438598079 bytes/sec
Rewrite 277506044 bytes/sec
Closes #65
Closes #80
openzfs/openzfs@792fd28ac04f78cc5e43ead2d72a96f244ea84e8
Notes:
svn path=/vendor-sys/illumos/dist/; revision=297831
|
| |
| |
| |
| |
| |
| |
| | |
Found with devel/coccinelle.
Notes:
svn path=/head/; revision=297829
|
| |
| |
| |
| |
| |
| |
| | |
Found with devel/coccinelle.
Notes:
svn path=/head/; revision=297828
|
| |
| |
| |
| |
| |
| |
| |
| | |
Submitted by: Jihyun Yu <yjh0502@gmail.com>
MFC after: 3 days
Notes:
svn path=/head/; revision=297827
|
| |
| |
| |
| |
| |
| |
| | |
Found with devel/coccinelle.
Notes:
svn path=/head/; revision=297826
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in one command due to wrong file size limit. Do not use bootcode size
to calculate partsize limit.
Also add report message about successful partcode writing.
Reported by: Trond Endrestøl
MFC after: 2 weeks
Notes:
svn path=/head/; revision=297820
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Only include sysctl in kernel builds fixing warning about implicit
declaration of function 'sysctl_handle_int'.
PR: 204140
MFC after: 1 week
X-MFC-With: r297813
Sponsored by: Multiplay
Notes:
svn path=/head/; revision=297819
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While the same update is also available for 24xx chips, it seems have
a problem with disabling virtual ports -- firmware handles the request,
but does not respong on it, causing timeout in driver.
MFC after: 1 month
Notes:
svn path=/head/; revision=297818
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add few more missing cases, unify byte order.
MFC after: 1 month
Notes:
svn path=/head/; revision=297817
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
handler notifying about interface departure and one of the consumers will
detach if_bpf.
There is no way for us to re-attach this easily as the DLT and hdrlen are
only given on interface creation.
Add a function to allow us to query the DLT and hdrlen from a current
BPF attachment and after if_attach_internal() manually re-add the if_bpf
attachment using these values.
Found by panics triggered by nd6 packets running past BPF_MTAP() with no
proper if_bpf pointer on the interface.
Also add a basic DDB show function to investigate the if_bpf attachment
of an interface.
Reviewed by: gnn
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5896
Notes:
svn path=/head/; revision=297816
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Noticed by: kib
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297815
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Only include sysctl in kernel builds fixing warning about implicit
declaration of function 'sysctl_handle_int'.
Sponsored by: Multiplay
Notes:
svn path=/head/; revision=297813
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At the moment no ZFS buffers are included into a crash dump unless
ZFS_DEBUG (or INVARIANTS) kernel option is enabled. That's not very
helpful for debugging of ZFS problems, because important information
often resides in metadata buffers.
This change switches the dumping behavior when UMA is used from the
illumos behavior to a more useful behavior that we have on FreeBSD
when ZFS buffers are allocated via malloc.
Reviewed by: smh, mav
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D5892
Notes:
svn path=/head/; revision=297812
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5905
Notes:
svn path=/head/; revision=297811
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewed by: Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5880
Notes:
svn path=/head/; revision=297810
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8 gives the best performance in both Azure and local Hyper-V on both
10Ge and 40Ge. More rings are still allowed by manual configuration.
Reviewed by: Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5879
Notes:
svn path=/head/; revision=297809
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Suggested by: rpokala
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297808
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
And add comment about the MSR features.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297807
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
actual hardware MSR. This allows guest microcode update to go through which otherwise failing because wrmsr() was returning EINVAL.
Submitted by:Yamagi Burmeister
Approved by:grehan
MFC after:2 weeks
Notes:
svn path=/head/; revision=297806
|
| |
| |
| |
| |
| |
| |
| |
| | |
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297805
|
| |
| |
| |
| |
| |
| |
| |
| | |
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297804
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This time we make sure that the TIME_REF_COUNT MSR exists.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: sephe, Dexuan Cui <decui microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297803
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Features bits will be used to detect devices, e.g. timers, which
do not have corresponding event channels.
Submitted by: Jun Su <junsu microsoft com>
Reviewed by: sephe, Dexuan Cui <decui microsoft com>
Rearranged by: sephe
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297802
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It will be replaced by a new one.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297801
|
| |
| |
| |
| |
| |
| |
| |
| | |
MFC after: 1 week
Sponsored by: Microsoft OSTC
Notes:
svn path=/head/; revision=297800
|
| |
| |
| |
| |
| |
| |
| | |
configuration file.
Notes:
svn path=/head/; revision=297797
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While here do late initialization of ebap, similar as was
done in UFS.
Found with devel/coccinelle.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=297796
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Found with devel/coccinelle.
Reviewed by: gad
Notes:
svn path=/head/; revision=297795
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
"how" argument is passed as value of int* pointer to callback
function but dereferenced as char* so only one byte taken into
into account. On little-endian systems it happens to work because
first byte is LSB that contains actual value, on big-endian it's
MSB and in this case it's always equal zero
PR: 207786
Submitted by: chadf@triularity.org
Notes:
svn path=/head/; revision=297794
|
| |
| |
| |
| |
| |
| |
| | |
Found with devel/coccinelle.
Notes:
svn path=/head/; revision=297793
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
addresses exceeding 32 bit, so bump BUS_SPACE_MAXADDR to 64 bit.
The whole situation is sub par, though; prior to r296250 and despite
what their names imply, BUS_SPACE_MAX* were primarily, even almost
exclusively used for bus_dma(9). Now these macros also have a vital
role for bus_space(9). However, it does not necessarily hold that
both bus DMA and space addresses universally have the same limits
per platform.
As for sparc64, 64 bit clearly is beyond what can be addressed via
the various IOMMUs. With this change in place, we now rely on the
parent bus DMA tags of the host-to-foo drivers causing the child
tags to be capped as necessary.
PR: 207998
Notes:
svn path=/head/; revision=297792
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While here also do late initialization of the variables we are
changing.
Found with devel/coccinelle.
Reviewed by: mckusick
MFC after: 2 weeks
Notes:
svn path=/head/; revision=297791
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While here also cleanup some surrounding code; particularly
drop some malloc() casts.
Found with devel/coccinelle.
Reviewed by: bde (previous version - all new bugs are mine)
Notes:
svn path=/head/; revision=297790
|
| |
| |
| |
| | |
Notes:
svn path=/head/; revision=297788
|
| |
| |
| |
| |
| |
| |
| |
| | |
In case a single page mapping is requested first, which might overlap the user
address space, fix the device map block to the next page.
Notes:
svn path=/head/; revision=297785
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Summary:
There is currently a 1GB hole between user and kernel address spaces
into which direct (1:1 PA:VA) device mappings go. This appears to go largely
unused, leaving all devices to contend with the 128MB block at the end of the
32-bit space (0xf8000000-0xffffffff). This easily fills up, and needs to be
densely packed. However, dense packing wastes precious TLB1 space, of which
there are only 16 (e500v2) or 64(e5500) entries available.
Change this by using the 1GB space for all device mappings, and allow the kernel
to use the entire upper 1GB for KVA. This also allows us to use sparse device
mappings, freeing up TLB entries.
Test Plan: Boot tested on p5020.
Differential Revision: https://reviews.freebsd.org/D5832
Notes:
svn path=/head/; revision=297784
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix the way the code accesses process limits struct - pointed out by mjg@.
PR: 207386
Reviewed by: no objection form des@
MFC after: 3 weeks
Notes:
svn path=/head/; revision=297781
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This command displays the adapter's firmware device log similar to the
dev.<nexus>.misc.devlog sysctl.
Sponsored by: Chelsio Communications
Notes:
svn path=/head/; revision=297779
|
| |
| |
| |
| |
| |
| |
| |
| | |
This makes it easier for the bhyve executable to be built
out of the tree.
Notes:
svn path=/head/; revision=297778
|
| |
| |
| |
| |
| |
| |
| |
| | |
This allows the contents of a TCB to be extracted from a T4/T5 card in
DDB after a panic.
Notes:
svn path=/head/; revision=297777
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This just walks the global list of devices looking for one with the
requested name. The one use case outside of devctl2's implementation
is for DDB commands that wish to lookup devices by name.
Notes:
svn path=/head/; revision=297776
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
attempts
I was seeing the stack constantly attempt to renegotiate A-MPDU TX
even after 3 failures. My hunch is that the direct ticks comparison
is failing around the ticks wrap-around point.
This failure shouldn't /really/ happen normally, but it turns out being
the IBSS master node on FreeBSD doesn't quite setup 11n right, so
negotiating A-MPDU TX fails.
Notes:
svn path=/head/; revision=297775
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's 2016 and vendors (including us!) still have 802.11n TX/RX sequence
handling bugs. It's suboptimal, but I'd rather see us default to handling
things in a sensible way.
So, just delete the #ifdef'ed code for now. I'll leave the option in
so it doesn't break existing configurations.
This all started because I've started getting reports about urtwn not
working after I enabled 802.11n support, and it's because the ARM kernel
configs don't include A-MPDU RX aging.
Notes:
svn path=/head/; revision=297774
|