207584 Commits

Author SHA1 Message Date
adrian
9d1fd4985e Fix races between wpi_rx_done() and wpi_stop()
PR:		kern/197143
Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:15:10 +00:00
adrian
8fa4dd1d50 Divide ackfailcnt by 2 (firmware decreases rate after two unsuccessful retries)
PR:		kern/197143
Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:13:58 +00:00
adrian
d137511d57 Run callout_reset() with mutex held.
PR:		kern/197143
Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:13:07 +00:00
adrian
86d996754a Add missed ieee80211_draintask()
PR:		kern/197143
Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:12:16 +00:00
adrian
82a910501a Fix a typo (IEEE80211_S_SCAN -> IEEE80211_F_SCAN)
PR:		kern/197143
Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:10:55 +00:00
adrian
24a7a92221 Fix mbuf mapping errors in wpi_cmd2() + add check for nsegs
PR:		kern/197143
Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:09:47 +00:00
andrew
36adcb3650 Move the x86 specific files to be built in the amd64 loader.efi. This will
help with importing the arm and arm64 versions of loader.efi.
2015-03-15 19:00:35 +00:00
mav
0a32d97912 According to Linux and QEMU, s/n equal to buffer is not zero-terminated.
This makes same s/n reported for both virtio and AHCI drivers.

MFC after:	2 weeks
2015-03-15 17:45:16 +00:00
ian
209179a5f9 Remove redundant sysctl_handle_string() calls, the sbuf auto-drain takes
care of that.

Reviewed by:	erj@
2015-03-15 17:39:38 +00:00
mav
72856e7d90 Close potential race on blockif_close().
Reported by:	vangyzen
MFC after:	2 weeks
2015-03-15 16:18:03 +00:00
mav
2088070eaf Fix networking problem after r280026.
I've missed that network driver sometimes returns taken request back to
available queue without processing.  Add new helper function for that case.

Reported by:	flo
MFC after:	2 weeks
2015-03-15 16:09:39 +00:00
mav
cd363583ce Give AHCI disk serial based on backing file path same as for virtio block.
It is still not good that they may intersect on different hosts, but that
is better then intersecting on the same host.

MFC after:	2 weeks
2015-03-15 15:29:03 +00:00
rwatson
9f48720b49 Now that DTrace stack traces handle exception frames better, skip fewer
stack frames for FBT 'entry' probes on ARM.

MFC after:	3 days
Sponsored by:	DARPA, AFRL
2015-03-15 15:19:02 +00:00
rwatson
26e3e9bb99 On ARM, unlike some other architectures, saved $pc values from in-kernel
traps do appear in the regular call stack, rather than only in a special
trap frame, so we don't need to inject the trap-frame $pc into a returned
stack trace in DTrace.

MFC after:	3 days
Sponsored by:	DARPA, AFRL
2015-03-15 15:17:34 +00:00
mav
15ba37b7de Rewrite virtio block device driver to work asynchronously and use the block
I/O interface.

Asynchronous operation, based on r280026 change, allows to not block virtual
CPU during I/O processing, that on slow/busy storage can take seconds.
Use of recently improved block I/O interface allows to process multiple
requests same time, that improves random I/O performance on wide storages.

Benchmarks of virtual disk, backed by ZVOL on RAID10 pool of 4 HDDs, show
~3.5 times random read performance improvements, while no degradation on
linear I/O.  Guest CPU usage during test dropped from 100% to almost zero.

MFC after:	2 weeks
2015-03-15 14:57:11 +00:00
rwatson
ec1dafc898 Replace the completely arbitrary '3' with '9' for the number of frames to
skip using the DTrace 'profile' provider on ARM.  This causes stack traces
to skip various driver-and callout-related things as they do on x86, where
the likewise arbitrary values are '6' (32-bit) and '10' (64-bit) for
similar sorts of reasons.

MFC after:	3 days
Sponsored by:	DARPA, AFRL
2015-03-15 14:12:40 +00:00
dim
2fdf486463 Upgrade our copy of clang, llvm and lldb to 3.6.0 release.
Please note that from 3.5.0 onwards, clang/llvm/lldb require C++11
support to build; see UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.6.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.6.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste for the lldb part of this upgrade.

Exp-run:	antoine
2015-03-15 13:31:13 +00:00
dim
ce129cdb73 Merge ^/head r279995 through r280029. 2015-03-15 11:58:52 +00:00
dim
494f9445c2 Bump __FreeBSD_version again, and set real dates in UPDATING and
ObsoleteFiles.inc, in preparation for the merge back to head.
2015-03-15 11:56:43 +00:00
mav
42641f98a6 Modify virtqueue helpers added in r253440 to allow queuing.
Original virtqueue design allows queued and out-of-order processing, but
helpers added in r253440 suppose only direct blocking in-order one.
It could be fine for network, etc., but it is a huge limitation for storage
devices.
2015-03-15 11:37:07 +00:00
bapt
ff0e58b092 Import mdocml 1.13.3 2015-03-15 11:35:39 +00:00
mav
476187cac8 Block delete capability for read-only devices.
Submitted by:	neel
MFC after:	2 weeks
2015-03-15 08:09:56 +00:00
ian
e497716fbd Add a nulterm byte to the returned sysctl string.
PR:		195668
2015-03-15 00:39:18 +00:00
ian
cb2eadc65f Include the nulterm byte in the sysctl string.
PR:		195668
2015-03-15 00:36:08 +00:00
ian
74440cf4ee Go back to using sbuf_new() with a preallocated large buffer, to avoid
triggering an sbuf auto-drain copyout while holding a lock.

Pointed out by:	   jhb
Pointy hat: 	   ian
2015-03-14 23:57:33 +00:00
ian
99b568b245 Use sbuf_printf() for sysctl strings instead of static buffers and snprintf. 2015-03-14 23:30:03 +00:00
ian
6ded6cb790 Use sbuf_printf() for sysctl strings instead of stack buffers and snprintf(). 2015-03-14 23:16:12 +00:00
ian
95244000f1 Use sysctl_handle_string() and the sbuf printf routines instead of large
stack-allocated buffers and snprintf().

PR:		195668
2015-03-14 22:32:15 +00:00
ian
abf88399a0 Use SYSCTL_OUT_STR() to return strings.
PR:		195668
2015-03-14 21:41:00 +00:00
ian
bcebe51990 Use SYSCTL_OUT_STR() to return strings.
PR:		195668
2015-03-14 21:40:51 +00:00
ian
ace0f5788d Use SYSCTL_OUT_STR() to return strings.
PR:		195668
2015-03-14 21:40:33 +00:00
ian
7cb000b2d0 Use SYSCTL_OUT_STR() to return strings.
PR:		195668
2015-03-14 21:40:24 +00:00
ian
f4042c6120 Use SYSCTL_OUT_STR() to return strings.
PR:		195668
2015-03-14 21:40:01 +00:00
ian
9ee17054b2 Define a convenience macro, SYSCTL_OUT_STR() for handling strings the
standard way (including the nulterm byte in the data returned to userland).

This augments the existing sysctl_handle_string() in that this can be used
with const strings without ugly inappropriate casting.
2015-03-14 21:38:51 +00:00
mav
eb63aed246 Give block I/O interface multiple (8) execution threads.
On parallel random I/O this allows better utilize wide storage pools.
To not confuse prefetcher on linear I/O, consecutive requests are executed
sequentially, following the same logic as was earlier implemented in CTL.

Benchmarks of virtual AHCI disk, backed by ZVOL on RAID10 pool of 4 HDDs,
show ~3.5 times random read performance improvements, while no degradation
on linear I/O.

MFC after:	2 weeks
2015-03-14 21:15:45 +00:00
dim
f57aa367a2 Regenerated llvm/clang manpages. 2015-03-14 19:22:15 +00:00
ian
adc83897f5 Use sbuf_new_for_sysctl() instead of plain sbuf_new() to ensure sysctl
string returned to userland is nulterminated.

PR:           195668
2015-03-14 18:46:33 +00:00
ian
56e931511b Use sbuf_new_for_sysctl() instead of plain sbuf_new() to ensure sysctl
string returned to userland is nulterminated.

PR:           195668
2015-03-14 18:42:30 +00:00
dim
1da417f6f4 For now, disable the __clear_cache implementation for mips in
compiler-rt, since we do not yet have the required syscall.
2015-03-14 18:38:07 +00:00
ian
200d20ade2 Use sbuf_new_for_sysctl() instead of plain sbuf_new() to ensure sysctl
string returned to userland is nulterminated.

PR:		195668
2015-03-14 18:11:24 +00:00
smh
bc1c82b63e Allow zvol_geom_worker to process BIO_DELETE's
If zvol_geom_start is called with a BIO_DELETE from a thread which can
sleep it queues it for later processing by the zvol_geom_worker. The
zvol_geom_worker didn't have a delete case so would simply loose the bio
hence preventing the original caller from every completing. In addition
an other unknown types would suffer the same fate.

Allow zvol_geom_worker to process BIO_DELETE's via zvol_strategy and
return unsupported for all unknown bio types.

MFC after:	2 weeks
Sponsored by:	Multiplay
2015-03-14 17:35:04 +00:00
dim
35d6abc9b4 Merge ^/head r279985 through r279994. 2015-03-14 17:25:17 +00:00
dim
965fc850d2 Amend r277940, by also disabling -Wcast-qual warnings for a few specific
aesni files on i386.
2015-03-14 17:19:48 +00:00
ian
0dd684d23f Set the SBUF_INCLUDENUL flag in sbuf_new_for_sysctl() so that sysctl
strings returned to userland include the nulterm byte.

Some uses of sbuf_new_for_sysctl() write binary data rather than strings;
clear the SBUF_INCLUDENUL flag after calling sbuf_new_for_sysctl() in
those cases.  (Note that the sbuf code still automatically adds a nulterm
byte in sbuf_finish(), but since it's not included in the length it won't
get copied to userland along with the binary data.)

Remove explicit adding of a nulterm byte in a couple places now that it
gets done automatically by the sbuf drain code.

PR:		195668
2015-03-14 17:08:28 +00:00
ian
f3eb74c490 Add a new flag, SBUF_INCLUDENUL, and new get/set/clear functions for flags.
The SBUF_INCLUDENUL flag causes the nulterm byte at the end of the string
to be counted in the length of the data.  If copying the data using the
sbuf_data() and sbuf_len() functions, or if writing it automatically with
a drain function, the net effect is that the nulterm byte is copied along
with the rest of the data.
2015-03-14 16:02:11 +00:00
mav
efa8369c49 Add checksums to identify data and NCQ command error log.
MFC after:	2 weeks
2015-03-14 14:06:37 +00:00
jilles
238e0c5001 restore: Preserve timestamps to the nanosecond.
The restore utility already knows the full-resolution timestamps, so the
only thing to do is to stop converting the timespecs to timevals and use
futimens() and utimensat().

Differential Revision:	https://reviews.freebsd.org/D2020
Reviewed by:	jhb
2015-03-14 13:45:43 +00:00
dim
49820c9622 Merge ^/head r279893 through r279984. 2015-03-14 13:08:00 +00:00
ian
470fe38d1f Revert r279934, r279938; this is going to be fixed in sbuf instead.
PR:		195668
2015-03-14 13:04:39 +00:00
ian
1892565396 Revert r279933; this is going to be fixed in sbuf instead.
PR:		195668
2015-03-14 13:02:08 +00:00