Commit Graph

14771 Commits

Author SHA1 Message Date
mav
cd74b53f5b MFC r281766, r281767:
Report link as up only if we managed to open tap device.

It would be cool to report tap device status, but it has no such API.
2015-05-13 10:21:00 +00:00
mav
f24af427aa MFC r281764, r282563: Disable RX/TX queues notifications when not needed.
This reduces CPU load and doubles iperf throughput, reaching 2-3Gbit/s.

Sponsored by:	iXsystems, Inc.
2015-05-13 10:18:44 +00:00
ngie
c5c24729d5 MFC r282054:
ath3kfw, bcmfw, bthidcontrol, bthidd all require usb(4); build them
conditionally if MK_USB != no
2015-05-13 10:07:50 +00:00
mav
c80dbe2367 MFC r281782: Don't set bits that should be zero for SATA devices.
Old value made Linux think that it is PATA device with SATA bridge.
2015-05-01 17:33:17 +00:00
mav
4645df8d80 MFC r281700:
Workaround bhyve virtual disks operation on top of GEOM providers.

GEOM does not support scatter/gather lists in its I/Os.  Such requests
are cut in pieces by physio(), that may be problematic, if those pieces
are not multiple of provider's sector size.  If such case is detected,
move the data through temporary sequential buffer.
2015-05-01 17:30:59 +00:00
mav
5a054efd94 MFC r281666: Make virtual AHCI more careful with I/O lengths. 2015-05-01 17:29:45 +00:00
dteske
5dd70269b2 MFC r281780: Update usage statement; align with post-r279624. 2015-04-28 22:32:52 +00:00
dteske
8bc086afd3 MFC revisions 277693,278335,280382-280385,280923-280926,280931,
280933-280939,280974-280976,281002,281009,281081,281176-281180,
281271,281275,281616 (described in-breif below):
r277693: Font fix (des)
r278335: Revert that
r280382: Whitespace, comments, and copyright update
r280383: Prevent inadvertent bootlock condition
r280384: Increase max passowrd length from 16 to 255 chars
r280385: Add missing variable hints to loader.conf(5) defaults
r280923: Whitespace
r280924: Comments
r280925: Optimize bootmsg to use fg/bg/me from screen.4th
r280926: Whitespace and cleanup
r280931: Comments
r280933: Move beastie to logo-*.4th; brands to brand-*.4th
r280934: Add remainder of supported ANSI escape sequences
r280935: Securely overwrite (zero) user input after password checks
r280936: Use equals for ASCII double frames
r280937: Solve dreaded "dictionary full" issue
r280938: Add "GELI Passphrase:" prompt to boot loader
r280939: Revert that (premature commit)
r280974: Use fg/b/me from screen.4th instead of literals
r280975: Eliminate literal escape sequences from *.4th
r280976: Use ^[[m mode-ending versus ^[[37m
r281002: Install newly added brand-*.4th and logo-*.4th files (jkim)
r281009: Revert .PATH changes to fix mips build (jkim)
r281081: Make sure forth manpages are only installed once (bapt)
r281176: Back to previous mode-endings based on feedback
r281177: Back to previous mode-endings based on feedback
r281178: Back to previous mode-endings based on feedback
r281179: Back to previous mode-endings based on feedback
r281180: Eliminate literal escape sequences from *.rc
r281271: Fix a bootlock condition if loader_version is set
NB: Commit message of r281271 has a typo, s/_logo/_version/
r281275: Re-do proper mode-endings
r281616: Add "GELI Passphrase:" prompt to boot loader

Relnotes:	Added "GELI Passphrase:" prompt to boot loader
2015-04-22 01:08:40 +00:00
rakuco
489ab0737e MFC r281146.
bthidd: Remove unused macros from hid.c.

ASIZE() was never used, and min() stopped being used in r207812.

Differential Revision:	https://reviews.freebsd.org/D2230
Reviewed by:		emax
Approved by:		emax
2015-04-15 22:07:51 +00:00
rakuco
62386cb488 MFC r281116.
bthidd: Consider usage ranges when dealing with array inputs.

So far, we were always using HID_USAGE() to determine the Usage ID of a
certain HID report input item. This does not work as intended if a field
is an array and the allowed usages are specified with a usage range, as
HID_USAGE() will return 0. We need to use the field value as an index in
the usage range list in this case instead.

This makes the volume keys in a Microsoft Bluetooth Mobile Keyboard
5000 be properly recognized. The relevant part of the HID report looks
like this:

  0xA1, 0x01,        // Collection (Application)
  0x85, 0x07,        //   Report ID (7)
  0x05, 0x0C,        //   Usage Page (Consumer)
  0x19, 0x00,        //   Usage Minimum (Unassigned)
  0x2A, 0xFF, 0x03,  //   Usage Maximum (0x03FF)
  0x95, 0x01,        //   Report Count (1)
  0x75, 0x10,        //   Report Size (16)
  0x15, 0x00,        //   Logical Minimum (0)
  0x27, 0xFF, 0x03, 0x00, 0x00,  //   Logical Maximum (1023)
  0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred
                     //   State,No Null Position)

When a key such as "volume down" is pressed, the following data is
transferred through Interrupt In:

  0x07 0xEA 0x00

Differential Revision:	https://reviews.freebsd.org/D2229
2015-04-15 22:02:52 +00:00
mav
25a103ace6 MFC r281199: Remove hard limits on number of accepting NFS connections.
Limits of 5 connections set long ago creates problems for SPEC benchmark.
Make the NFS follow system-wide maximum.
2015-04-14 09:58:10 +00:00
jkim
30e912566b MFC: r281335
Print 64-bit addresses clearly with leading zeros to avoid confusions.
2015-04-13 22:26:11 +00:00
jkim
0fda8f1c21 MFC: r281331
Do not crash when RSDT/XSDT contains an empty entry.
2015-04-13 22:22:32 +00:00
mav
66d912b92f MFC r281163: Make ctld to not exit on ECONNABORTED on accept().
That is not really an error for the main process.
2015-04-13 09:18:56 +00:00
markj
6c5bc954a5 MFC r280998:
arp(8): add support for printing and deleting entries of type
IFT_INFINIBAND, used in IPoIB.

PR:	151594
2015-04-12 21:28:54 +00:00
jkim
9b23137acc MFC: r281171
Tidy up battery status information.  Remove a trailing white space.

PR:		193671
2015-04-11 01:17:19 +00:00
rrs
b7fe65a270 MFC of r280697 and r280698
Sponsored by:	Netflix Inc.
2015-04-07 21:05:52 +00:00
delphij
e5ee1c2b41 Improve patch for SA-15:04.igmp to solve a potential buffer overflow.
Fix multiple vulnerabilities of ntp. [SA-15:07]

Fix bsdinstall(8) insecure default GELI keyfile permissions. [SA-15:08]

Fix Denial of Service with IPv6 Router Advertisements. [SA-15:09]
2015-04-07 20:20:24 +00:00
jpaetzel
a4b9ad469d MFC 281084
Fix thinko/copypaste error.

When checking the length of the mutual secret password the variable for
the secret password was used by mistake.  This resulted in ctld never
warning about the length of the mutual secret being wrong even if it was.

Sponsored by:	iXsystems
2015-04-07 04:21:36 +00:00
neel
f333e1d3ba MFC r272481.
Add new fields in the FADT, required by IASL 20140926-64.
2015-04-06 03:16:20 +00:00
dim
441da571d4 MFC r272444 (by jkim):
Merge ACPICA 20140926.

MFC r278970 (by jkim):

  Merge ACPICA 20141107 and 20150204.

Approved by:	jkim
Relnotes:	yes
2015-04-04 10:17:51 +00:00
mav
713a1f945d MFC r280286: Add comment explaining existing powerd behavior on SMP systems. 2015-03-27 09:01:25 +00:00
mav
9d1b41e02f MFC r280154:
Report that we may have write cache, and that we do support FLUSH.
2015-03-27 08:59:21 +00:00
mav
1240a4ece1 MFC r280133: Increase S/G list size of 32 to 33 entries.
32 entries are not enough for the worst case of misaligned 128KB request,
that made FreeBSD to chunk large quests in odd pieces.
2015-03-27 08:58:30 +00:00
mav
ea196f5fc6 MFC r280126: Pre-allocate one extra request per processing thread.
Processing threads call callbacks before freeing requests.  As result,
new requests may arrive before old ones are freed.
2015-03-27 08:57:38 +00:00
mav
4b55b30394 MFC r280044:
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.
2015-03-27 08:56:44 +00:00
mav
1265da624b MFC r280042: Close potential race on blockif_close().
Reported by:	vangyzen
2015-03-27 08:55:54 +00:00
mav
77dd65195c MFC r280040:
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.
2015-03-27 08:54:55 +00:00
mav
b0012948cc MFC r280037:
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.
2015-03-27 08:53:59 +00:00
mav
aaa4bfa294 MFC r280026, r280041:
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-27 08:52:57 +00:00
mav
3cab0e3831 MFC r280004: 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.
2015-03-27 08:51:20 +00:00
mav
3505e1d0e9 MFC r279987: Add checksums to identify data and NCQ command error log. 2015-03-27 08:50:26 +00:00
mav
22ec3a9f70 MFC r279979: Slightly polish virtual AHCI CD reporting. 2015-03-27 08:49:33 +00:00
mav
c9d7a5b073 MFC r279977: Fix NOP and IDLE commands for virtual AHCI disks. 2015-03-27 08:48:44 +00:00
mav
b30732f21d MFC r279976: Add support for NCQ variant of DSM TRIM for virtual AHCI disks.
The code is not really tested yet due to lack of initiator support.
2015-03-27 08:47:54 +00:00
mav
adad7a7d84 MFC r279975: Improve NCQ errors reporting for virtual AHCI disks.
While this implementation is still not perfect, previous was just broken.
2015-03-27 08:47:02 +00:00
mav
e0d0bd28e8 MFC r279968: Remove incorrect SERR register setting.
At this point we have nothing to report through that register.
2015-03-27 08:46:12 +00:00
mav
0bcdb239fd MFC r279967: Change prdbc value reporting. 2015-03-27 08:44:58 +00:00
mav
f96653efd8 MFC r279965: Polish AHCI disk identify data and fix speed negotiation. 2015-03-27 08:43:45 +00:00
mav
f4f616ce8b MFC r279960:
Add support for PIO variants of READ/WRITE commands for AHCI disks.

AHCI API hides all PIO specifics, so this functionality is almost free.
2015-03-27 08:42:55 +00:00
mav
989c57f51c MFC r279975: Use ahci_write_fis_d2h() for commands completion. 2015-03-27 08:41:49 +00:00
ian
17ca262c02 MFC r279361, r279395, r279396:
Allow the kern.osrelease and kern.osreldate sysctl values to be set in a
  jail's creation parameters.  This allows the kernel version to be reliably
  spoofed within the jail whether examined directly with sysctl or
  indirectly with the uname -r and -K options.

  Export the new osreldate and osrelease jail parms in jail_get(2).

  Fix line wrap.
2015-03-25 20:57:54 +00:00
rrs
0444d8258d MFC of r277177 and r279894 with the fixes for the PMC for Haswell.
Sponsored by:	Netflix Inc.
2015-03-24 20:00:11 +00:00
dteske
fb3af63da5 MFC revisions 274068, 274119, 279624:
r274068: Add key+=append syntax to sysrc(8)
r279624: Add key-=remove syntax
r274119: Add EXAMPLES-section entries for new syntax

Reviewed by:	shurd (r274068)
Thanks to:	seanc
Relnotes:	sysrc(8) now supports key+=append and key-=remove
2015-03-23 19:12:55 +00:00
mav
3ce68975f2 MFC r279957, r280017: Add DSM TRIM command support for virtual AHCI disks.
It works only for virtual disks backed by ZVOLs and raw devices supporting
BIO_DELETE.  Virtual disks backed by files won't report this capability.

Relnotes:	yes
2015-03-23 14:36:53 +00:00
mav
07b059e689 MFC r280293: Add missing variable initialization.
Reported by:	Coverity
CID:		1288938
2015-03-23 11:48:25 +00:00
rwatson
bcbbcda0f2 Merge an applicable subset of r263234 from HEAD to stable/10:
Update most userspace consumers of capability.h to use capsicum.h instead.

  auditdistd is not updated as I will make the change upstream and then do a
  vendor import sometime in the next week or two.

Note that a significant fraction does not apply, as FreeBSD 10 doesn't
contain a Capsicumised ping, casperd, libcasper, etc.  When these features
are merged, the capsicum.h change will need to be merged with them.

Sponsored by:	Google, Inc.
2015-03-19 12:32:48 +00:00
mav
6a65b273d8 MFC r279658, r279673, r279675:
Implement cache flush for ahci-hd and for virtio-blk over device.
2015-03-19 09:56:38 +00:00
mav
207f5e4d98 MFC r279654: Report logical/physical sector sizes for virtual SATA disk. 2015-03-19 09:54:48 +00:00
mav
a4ce980fef MFC r279651, r279652, r279657:
Add support for TOPOLOGY feature of virtio block device.

Passing through physical block size/offset from underlying storage allows
guest to manage proper data and I/O alignment to improve performance.
2015-03-19 09:53:00 +00:00