| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
It allows to avoid extra GEOM providers flapping without significant need.
Since GEOM got resize support, we don't need to reopen provider to get new
size. If provider was orphaned and no longer valid, ZFS should already
know that, and in such case reopen should be done in full as expected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case of vdev detach, causing top level mirror vdev destruction, leaf
vdev changes its GUID to one of the destroyed mirror, that creates race
condition when GUID in vdev label may not match one in the pool config.
This change replicates logic nuance of vdev_validate() by adding special
exception, matching the vdev GUID against the top level vdev GUID.
Since this exception is not completely reliable (may give false positives
if we fail to erase label on detached vdev), use it only as last resort.
Quick way to reproduce this scenario now is detach vdev from a pool with
enabled autoextend. During vdev detach autoextend logic tries to reopen
remaining vdev, that always fails now since in-memory configuration is
already updated, while on-disk labels are not yet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
6988 spa_sync() spends half its time in dmu_objset_do_userquota_updates
Using a benchmark which creates 2 million files in one TXG, I observe
that the thread running spa_sync() is on CPU almost the entire time we
are syncing, and therefore can be a performance bottleneck. About 50% of
the time in spa_sync() is in dmu_objset_do_userquota_updates().
The problem is that dmu_objset_do_userquota_updates() calls
zap_increment_int(DMU_USERUSED_OBJECT) once for every file that was
modified (or created). In this benchmark, all the files are owned by the
same user/group, so all 2 million calls to zap_increment_int() are
modifying the same entry in the zap. The same issue exists for the
DMU_GROUPUSED_OBJECT.
We should keep an in-memory map from user to space delta while we are
syncing, and when we finish, iterate over the in-memory map and modify
the ZAP once per entry. This reduces the number of calls to
zap_increment_int() from "number of objects modified" to "number of
owners/groups of modified files".
This reduced the time spent in spa_sync() in the file create benchmark
by ~33%, from 11 seconds to 7 seconds.
Closes #107
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Steve Gonczi <steve.gonczi@delphix.com>
Reviewed by: Ned Bass <bass6@llnl.gov>
Reviewed by: Jinshan Xiong <jinshan.xiong@intel.com>
Author: Matthew Ahrens <mahrens@delphix.com>
openzfs/openzfs@5fc46359c569369d87728ca09f8705cdff6cc8e2
|
|
|
|
|
|
|
|
|
|
|
| |
Range check the jitter values to avoid bogus sample rate adjustments.
The expected deviation should not be more than 1Hz per second. The USB
v2.0 specification also mandates this requirement. Refer to chapter
5.12.4.2 about feedback.
Allow higher sample rates to have more jitter than lower ones.
PR: 208791
|
|
|
|
| |
Enable vn_io_fault() deadlock avoidance for msdosfs.
|
|
|
|
|
| |
Ensure that cluster allocations never allocate clusters outside the
volume limits.
|
|
|
|
|
| |
If the fatchain() call in chainalloc() returned an error, revert
marking the cluster run as in-use.
|
|
|
|
| |
Use symbolic name for the value of fully free word in pm_inusemap.
|
|
|
|
| |
Use symbolic name for the free cluster number.
|
|
|
|
| |
Fix comment formatting.
|
|
|
|
| |
Remove useless NULL check.
|
|
|
|
|
|
|
|
|
|
|
| |
hyperv/kvp: Don't mix message status codes and function return values.
While I'm here, move message status codes to hv_utilreg.h, since they
will be used by the upcoming VSS stuffs.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8391
|
|
|
|
|
|
|
| |
hyperv: GC unused functions.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8406
|
|
|
|
|
|
|
| |
hyperv/vmbus: Avoid extra header copy.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8395
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308166
hyperv/hn: Move TSO packet fixup to an earlier place for if_transmit.
While TSO packet header may be still cache-hot.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8393
308167
hyperv/hn: Directly fill chimney sending buffer for small packets.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8394
|
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Regroup if_start related functions.
And put them under HN_IFSTART_SUPPORT, which is by default on until
we whack the if_start related bits from base system.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8392
|
|
|
|
|
|
|
| |
hyperv/hn: Rename cleaned up file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8390
|
|
|
|
|
|
|
| |
hyperv/hn: Cosmetic cleanup; no functional changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8389
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308117
hyperv/hn: Rework temporary channel packet buffer expanding.
And use large default temporary channel packer buffer; we really
don't want it to be expanded at run time.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8367
308118
hyperv/hn: Cleanup RXBUF ack processing.
- Increase the # of retries.
- Add comment.
- Log error, if RXBUF ack fails.
- Add stat for RXBUF ack failures.
RXBUF ack really should _not_ fail...
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8368
308119
hyperv/hn: Reset do_lro, if the hash types are not TCP related.
Mainly because the host side only set TCPCS and IPCS even for
UDP datagrams.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8369
308120
hyperv/hn: Don't start shared TX taskq, if the hypervisor is not Hyper-V.
- Move the SYSINIT to DRIVER/SECOND, i.e. after the vm_guest becomes
determistic.
- Minor style changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308018
hyeprv/hn: Rename cleaned up RNDIS header file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8360
308116
hyperv/hn: Rename cleaned up RNDIS source file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8361
|
|
|
|
|
|
| |
This is a direct commit.
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308013
hyperv/hn: Nuke unnecessary indirection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8355
308014
hyperv/hn: Reorganize RX path; mainly pull non-control code path up
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8356
308015
hyperv/hn: Pull data path code up.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8357
308016
hyperv/hn: Cleanup RNDIS related files.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8358
308017
hyperv/hn: Change header guardian; in preparation for the upcoming rename.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8359
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
308011
hyperv/hn: Rename cleaned up NVS header file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8353
308012
hyperv/hn: Rename cleaned up NVS source file.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8354
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307989
hyperv/hn: Move hn_softc to if_hnvar.h
While I'm here, use consistent macro names.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8345
307990
hyperv/hn: Move send context to NVS domain.
Since all sends are encapsulated in NVS messages.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8346
307991
hyperv/hn: NVS inclusion cleanup and forward declare functions.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8347
308010
hyperv/hn: Change header guardian; in preparation for the upcoming rename.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8352
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307985
hyperv/hn: Nuke unnecessary M_NETVSC
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8340
307986
hyperv/hn: Move %b format string for capabilities near their definition.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8341
307987
hyperv/hn: Define empty packet filter.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8342
307988
hyperv/hn: Shuffle chimney sending buffer alloc/free around.
This paves way for more chimney sending buffer reorganization.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8343
|
|
|
|
|
|
|
| |
hyperv/hn: Properly configure RSS according to RSS capabilities
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8338
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307952
hyperv/vmbus: Add missing white space.
Submitted by: QianYue You <t-youqi microsoft com>
Sponsored by: Microsoft
307953
hyperv/vmbus: Implement vmbus_chan_printf.
And use it for vmbus channel logging, which can log the channel
owner's name properly, instead of vmbus0.
Submitted by: QianYue You <t-youqi microsoft com>
Sponsored by: Microsoft
308278
hyperv/vmbus: Reset ch_dev, once the child is deleted.
So it will not be mis-used later on, e.g. in vmbus_chan_printf().
Submitted by: dexuan
Reported by: dexuan
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
| |
hyperv/hn: Set baudrate properly
PR: 208931
Submitted by: Eugene Grosbein <ports grosbein net>
Reported by: Eugene Grosbein <ports grosbein net>
Sponsored by: Microsoft
|
|
|
|
|
|
|
|
|
| |
hyperv/ic: Rework framework/message version negotiation.
Submitted by: Hongjiang Zhang <honzhan microsoft com>
Modified by: sephe
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8280
|
|
|
|
|
|
|
| |
hyperv/hn: Nuke unused forward declaration.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8314
|
|
|
|
|
|
|
| |
hyperv/hn: Fix RX filter settings.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307840
hyperv/hn: Properly handle synthetic parts reattach failure.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8310
307842
hyperv/hn: Start link status check, if no network changes were pending.
Link status check is much more lightweight than network change detection.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8311
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307838
hyperv/hn: Move chimney buffer index and size to txdesc.
All RNDIS control messages have used SG list for a while. This makes
the send context suitable for further refactoring.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8308
307839
hyperv/hn: Fix chimney sending buffer leakage upon NVS sending failure.
This will not happen in real world, since TX consumption of the vmbus
TX bufring is limitted. Better safe than sorry.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8309
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
307710
hyperv/hn: Always query RSS capabilities.
- This avoid distributing NDIS version check.
- Only NDIS 6.20 required (earlier NDIS uses different indirect table
format).
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8291
307711
hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8293
307712
hyperv/hn: Add network change support.
Currently the network change is simulated by link status changes.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8295
307714
hyperv/hn: Function renaming; consistent w/ hardware capabilities query.
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8296
|
|
|
|
|
|
| |
hyperv/vmbus: Expose channel management taskqueue for driver to use.
Sponsored by: Microsoft
|
| |
|
|
|
|
| |
Remove remnants of the recursive sleep support.
|
|
|
|
| |
Remove tautological casts.
|
|
|
|
|
|
| |
Fix the man page to reflect the change done by r307890 to mountd.c
so that the "-n" option uses the sysctl for the correct NFS server.
This is a content change.
|
|
|
|
|
|
|
|
|
|
| |
mountd(8) was erroneously setting the sysctl for the old NFS server
when the new/default NFS server was running, for the "-n" option.
This patch fixes the problem for stable/10 and stable/9.
Since the new NFS server uses vfs.nfsd.nfs_privport == 0 by default,
there wouldn't have been many users affected by the code not setting
it to 0 when the "-n" option was specified.
|
| |
|
|
|
|
| |
must be contiguous in physical memory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix device delete child function.
When detaching device trees parent devices must be detached prior to
detaching its children. This is because parent devices can have
pointers to the child devices in their softcs which are not
invalidated by device_delete_child(). This can cause use after free
issues and panic().
Device drivers implementing trees, must ensure its detach function
detaches or deletes all its children before returning.
While at it remove now redundant device_detach() calls before
device_delete_child() and device_delete_children(), mostly in
the USB controller drivers.
Tested by: Jan Henrik Sylvester <me@janh.de>
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D8070
|
|
|
|
|
|
|
| |
Fix indentation and remove duplicate queue stopped stats increment.
Found by: Ryan Stone <rysto32@gmail.com>
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes for virtual T-axis buttons.
Make sure the virtual T-axis buttons gets cleared for USB mice which has
less than 6 buttons.
Make sure the virtual T-axis buttons generate button release event(s)
for continuous tilting.
PR: 213919
PR: 213957
|
|
|
|
|
|
|
|
| |
Fix regression from r248371. We need to copy packet header to new
mbuf. Unlike in the pre-r248371 code, assert that M_PKTHDR is set
only on a first mbuf.
PR: 195074
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't request BUS_DMA_ALLOCNOW for dma tags, that requires enormous
amount of memory.
- Don't request segsize of BUS_SPACE_MAXSIZE_32BIT, when maxsize is
MCLBYTES.
With this change bwi_attach() can succeed on i386.
PR: 214235
Submitted by: scottl
|