102539 Commits

Author SHA1 Message Date
hselasky
f2d89bd6f8 MFC r284125:
Add new USB quirk.

PR:		200693
2015-06-17 07:32:28 +00:00
hselasky
27c0e6c5bd MFC r280991:
Extend fixes made in r278103 and r38754 by copying the complete packet
header and not only partial flags and fields. Firewalls can attach
classification tags to the outgoing mbufs which should be copied to
all the new fragments. Else only the first fragment will be let
through by the firewall. This can easily be tested by sending a large
ping packet through a firewall. It was also discovered that VLAN
related flags and fields should be copied for packets traversing
through VLANs. This is all handled by "m_dup_pkthdr()".

Regarding the MAC policy check in ip_fragment(), the tag provided by
the originating mbuf is copied instead of using the default one
provided by m_gethdr().

Tested by:		Karim Fodil-Lemelin <fodillemlinkarim at gmail.com>
Sponsored by:		Mellanox Technologies
PR:			7802
2015-06-17 07:21:43 +00:00
jkim
0a885a0637 MFC: r283092, r283966
Merge ACPICA 20150515.

Relnotes:	yes
2015-06-16 20:00:53 +00:00
emaste
4680fa4d96 MFC r281930 by jhb:
Update this driver to not save copies of registers that are no longer
    used after r281874.  While here, also update it to always write the
    parent's PCI bus number to the primary bus register.
2015-06-16 18:39:11 +00:00
sbruno
0df0dbaffa MFC r283923
Simplify hang detection by stealing the techniques used in ixl(4) and
applying them to em(4).

Rely on iterations through the local timer, and the tx queue state to
determine if an actual hang has occurred. Any time a descriptor is used
(packet sent), the tx queue is flagged as busy. Then when txeof runs, it
either clears the flag when all is clean, or resets it to 1 if ANY are
cleaned, if nothing is cleaned it increments the flag.

Local timer simply checks to see if busy ever reaches MAX (10, which
is compile time configurable), and then sets it as HUNG, at that point
there is one more timer cycle in which to have any cleans, if not a
watchdog reset will occur.
2015-06-16 12:10:55 +00:00
tuexen
7a06d6261d MFC r284332:
Fix the reporting of the PMTUD state for specific paths.
2015-06-16 08:26:33 +00:00
tuexen
5e6d50bc8c MFC r284331:
Code cleanup.
2015-06-16 08:24:08 +00:00
tuexen
74eb079379 MFC r284326:
In case of an output error, continue with the next net, don't try to
continue sending on the same net.

This fixes a bug where an invalid mbuf chain was constructed, if a
full size frame of control chunks should be sent and there is a
output error.

Based on a discussion with rrs@, change move to the next net. This fixes
the bug and improves the behaviour.

Thanks to Irene Ruengeler for spending a lot of time in narrowing this
problem down.
2015-06-16 08:21:58 +00:00
ken
1d2632e58b MFC, r284192:
------------------------------------------------------------------------
  r284192 | ken | 2015-06-09 15:39:38 -0600 (Tue, 09 Jun 2015) | 102 lines

  Add support for reading MAM attributes to camcontrol(8) and libcam(3).

  MAM is Medium Auxiliary Memory and is most commonly found as flash
  chips on tapes.

  This includes support for reading attributes and decoding most
  known attributes, but does not yet include support for writing
  attributes or reporting attributes in XML format.

  libsbuf/Makefile:
  	Add subr_prf.c for the new sbuf_hexdump() function.  This
  	function is essentially the same function.

  libsbuf/Symbol.map:
  	Add a new shared library minor version, and include the
  	sbuf_hexdump() function.

  libsbuf/Version.def:
  	Add version 1.4 of the libsbuf library.

  libutil/hexdump.3:
  	Document sbuf_hexdump() alongside hexdump(3), since it is
  	essentially the same function.

  camcontrol/Makefile:
  	Add attrib.c.

  camcontrol/attrib.c:
  	Implementation of READ ATTRIBUTE support for camcontrol(8).

  camcontrol/camcontrol.8:
  	Document the new 'camcontrol attrib' subcommand.

  camcontrol/camcontrol.c:
  	Add the new 'camcontrol attrib' subcommand.

  camcontrol/camcontrol.h:
  	Add a function prototype for scsiattrib().

  share/man/man9/sbuf.9:
  	Document the existence of sbuf_hexdump() and point users to
  	the hexdump(3) man page for more details.

  sys/cam/scsi/scsi_all.c:
  	Add a table of known attributes, text descriptions and
  	handler functions.

  	Add a new scsi_attrib_sbuf() function along with a number
  	of other related functions that help decode attributes.

  	scsi_attrib_ascii_sbuf() decodes ASCII format attributes.

  	scsi_attrib_int_sbuf() decodes binary format attributes, and
  	will pass them off to scsi_attrib_hexdump_sbuf() if they're
  	bigger than 8 bytes.

  	scsi_attrib_vendser_sbuf() decodes the vendor and drive
  	serial number attribute.

  	scsi_attrib_volcoh_sbuf() decodes the Volume Coherency
  	Information attribute that LTFS writes out.

  sys/cam/scsi/scsi_all.h:
  	Add a number of attribute-related structure definitions and
  	other defines.

  	Add function prototypes for all of the functions added in
  	scsi_all.c.

  sys/kern/subr_prf.c:
  	Add a new function, sbuf_hexdump().  This is the same as
  	the existing hexdump(9) function, except that it puts the
  	result in an sbuf.

  	This also changes subr_prf.c so that it can be compiled in
  	userland for includsion in libsbuf.

  	We should work to change this so that the kernel hexdump
  	implementation is a wrapper around sbuf_hexdump() with a
  	statically allocated sbuf with a drain.  That will require
  	a drain function that goes to the kernel printf() buffer
  	that can take a non-NUL terminated string as input.
  	That is because an sbuf isn't NUL-terminated until it is
  	finished, and we don't want to finish it while we're still
  	using it.

  	We should also work to consolidate the userland hexdump and
  	kernel hexdump implemenatations, which are currently
  	separate.  This would also mean making applications that
  	currently link in libutil link in libsbuf.

  sys/sys/sbuf.h:
  	Add the prototype for sbuf_hexdump(), and add another copy
  	of the hexdump flag values if they aren't already defined.

  	Ideally the flags should be defined in one place but the
  	implemenation makes it difficult to do properly.  (See
  	above.)

  Sponsored by:	Spectra Logic Corporation

------------------------------------------------------------------------
2015-06-16 02:31:11 +00:00
ambrisko
9e32ce59f0 MFC r284180:
Switch from make_dev_alias to make_dev_alias_p since make_dev_alias_p can
gracefully fail if the /dev/megaraid_sas_ioctl_node symlink already exists.
2015-06-15 21:08:08 +00:00
delphij
201165c60b MFC r283889,r283891:
Clear p_stops when doing PT_DETACH and PROCFS_CTL_DETACH.

Without this, if a process was being traced by truss(1), which
uses different p_stops bits than gdb(1), the latter would
misbehave because of the unexpected bits.

Reported by:	jceel
Submitted by:	sef
Sponsored by:	iXsystems, Inc.
2015-06-15 18:16:23 +00:00
kib
2da50ed5af MFC r283832:
Remove unused variable.
2015-06-14 05:12:48 +00:00
bryanv
dfb124acf0 MFC r273331, r273371, r275851:
- Add vxlan interface

 - Use the size of the Ethernet address, not the entire header, when
   copying into forwarding entry.

 - Prefix all the vxlan ifconfig commands so they are unique
2015-06-14 03:14:45 +00:00
bryanv
259594230e MFC r277788:
Rework vtblk dump handling of in flight requests

Previously, the driver resets the device and abandon the requests that
are caught in flight when the dump was initiated. This was problematic
if the system is resumed after the dump is completed.

While that is probably not the typical action, it is simple to rework
the driver to very likely have the device usable after the dump without
making it more likely for the dump to fail. The in flight requests are
simply queued for completion once the dump is finished.
2015-06-13 17:40:33 +00:00
jhb
7b9316ff50 MFC 283546:
Add KTR tracing for some MI ptrace events.
2015-06-13 16:15:43 +00:00
kib
f014bfc33c MFC r284104:
Updates from SDM rev. 55.
2015-06-13 07:31:50 +00:00
rmacklem
f46a7a1d85 MFC: r283753
Make the NFS server use shared vnode locks for a few cases
that are allowed by the VFS/VOP interface instead of using
exclusive locks.
2015-06-12 22:05:04 +00:00
rmacklem
c51db58338 Add TUNABLE_INT() macros so that the tunables MFC'd from
head as r284216 are set via /boot/loader.conf in stable/10.
This is a direct commit to stable/10 because TUNABLE_INT()
is deprecated in head.
2015-06-12 13:42:53 +00:00
avg
320785eb73 MFC r283525: zfs: fixes for a full stream received into an existing dataset 2015-06-12 11:49:05 +00:00
avg
283a5c0b30 MFC r283939: userboot: enable bzipfs support 2015-06-12 11:41:33 +00:00
kadesai
3a6c5b791f MFC r282525-282533
r282533 : Corrected indentation on conflicted source files.

r282532 : Configured the mrsas(4) driver to support UNMAPPED I/O and updated driver version.

r282531 :

1. All LSI namings are converted to AVAGO Tech.
2. Fix in AEN path(suggested by John Baldwin).
3. Fix IOCTL path w.r.t Sense key handling

r282530 :

Bug fixes found internally as detailed below:
1. While disabling interrupt the FW disables interrupts for only 16 vectors.
In case of Invader which supports 96 MSI-x vectors, some spurious interrupts
may come on other vectors even after interrupt disable. So, driver uses a flag
and ignores the spurious interrupts.
2. Reply queue depth is made double the number of commands supported by FW.
3. Misplaced interrupt enable code is now moved down in the OCR path.
4. Updated error handling code in OCR path.
5. Removed un-necessary print.

r282529 :

Driver calls mrsas_complete_cmd() to call mrsas_wakeup() for each MFI frame that was
issued through the ioctl() interface prior to the kill adapter. This ensures
userspace ioctl() system calls issued just before a kill adapter don't get stuck in
wait state and IOCTLs are returned to application.

r282528 :

In OCR(Online Controller Reset) path, driver sets adapter state to
MEGASAS_HBA_OPERATIONAL before getting new RAID map.
There will be a small window where IO will come from OS with old RAID map.
This patch will update adapter state to MEGASAS_HBA_OPERATIONAL,
only after driver has new RAID map to avoid any IOs getting build using old RAID map.

r282527 :

Current driver does fast path read load balancing between arm and mirror disk
for two Drive Raid-1 configuration only.

Now, Driver support fast path read load balancing for all (any number of disk) Raid-1 configuration.

r282526 :

Now Driver expose Secure Jbod Support via driver_operations in MFI INIT Frame.
FW expose Secure Jbod support via Controller properity.

Firmware expect IOs to be received from different IO path than
conventional fast path queue, in case of SED drives.

To have Secure jbod support user need driver and firmware support.

r282525 : This patch adds the feature to provide PCI information via IOCTL query.
2015-06-11 14:11:41 +00:00
jch
c82317e784 MFC r284245:
Fix a callout race condition introduced in TCP timers callouts with r281599.
In TCP timer context, it is not enough to check callout_stop() return value
to decide if a callout is still running or not, previous callout_reset()
return values have also to be checked.
2015-06-11 13:44:06 +00:00
rmacklem
953b730dd8 MFC: r283635
Make the size of the hash tables used by the NFSv4 server tunable.
No appreciable change in performance was observed after increasing
the sizes of these tables and then testing with a single client.
However, there was an email that indicated high CPU overheads for
a heavily loaded NFSv4 and it is hoped that increasing the sizes
of the hash tables via these tunables might help.
The tables remain the same size by default.
2015-06-10 12:17:19 +00:00
kib
bcf18ca2ab Add chunk missed in the r284199. 2015-06-10 02:44:56 +00:00
kib
6cba210348 Bump __FreeBSD_version for r284203. 2015-06-10 02:28:50 +00:00
kib
6f94b985b6 MFC r283602:
Prevent dounmount() from acting on the freed (although type-stable)
memory by changing the interface to require the mount point to be
referenced.

MFC r283629:
Add missed {}.
2015-06-10 02:27:00 +00:00
kib
2187b2a06e MFC r283601:
Add V_MNTREF flag, to indicate that caller of vn_start*_write() already
owns a reference on the mount point, and the functions can consume it.
2015-06-10 02:20:58 +00:00
kib
a105f5d7fd MFC r283968:
Syncing a directory vnode might drop the vnode lock in the
softdep_sync() similarly to the regular vnode sync.  Allow retry for
both vnode types.
2015-06-10 02:14:33 +00:00
kib
7b840cb177 MFC r283604:
Remove NODELAY flag.
2015-06-10 02:12:01 +00:00
kib
49520bf551 MFC r283600:
Perform SU cleanup in the AST handler.  Do not sleep waiting for SU cleanup
while owning vnode lock.

On MFC, for KBI stability, td_su member was moved to the end of the
struct thread.
2015-06-10 02:04:02 +00:00
asomers
fe9825745f MFC r283115
Properly null-terminate strings in a kernel dump header.  A version string
longer than 192 bytes will cause the version field of a dump header to
overflow. strncpy doesn't null terminate it, so savecore will print a
corrupted info file. Using strlcpy fixes the bug.
2015-06-09 19:41:16 +00:00
achim
1e1007b43a MFC r284022: Avoid ID conflict 2015-06-09 11:40:30 +00:00
dim
1824c628a6 MFC r283870:
Remove unneeded NULL checks in amd64's trap_fatal().

Since td_name is an array member of struct thread, it can never be NULL,
so the check can be removed.  In addition, curproc can never be NULL,
so remove the if statement, and splice the two printfs() together.

While here, remove the u_long cast, and use the correct printf format
specifier curproc->p_pid.

Reviewed by:	kib
Differential Revision: https://reviews.freebsd.org/D2695
2015-06-08 19:44:04 +00:00
mav
f88c04b67f MFC r284044: Fix wrong function name in error message. 2015-06-08 16:24:43 +00:00
tuexen
8b8722aae0 MFC r283988:
Export a pointer to the SCTP socket. This is needed to add SCTP support
to sockstat.
2015-06-08 07:06:33 +00:00
pfg
e14a5416a5 MFC r278167, MFV r266995:
4767 dtrace_probe() always has the timestamp

Reference:
https://illumos.org/issues/4767

Obtained from:	Illumos
2015-06-07 21:14:48 +00:00
pfg
5c276e329d MFC r278166, MFV r266993:
4469 DTrace helper tracing should be dynamic

Reference:
https://illumos.org/issues/4469

Obtained from:	Illumos
Phabric:	D1551
Reviewed by:	markj
2015-06-07 20:45:13 +00:00
markj
0e7047f3cf MFC r278136, r278137, r278370:
Diff reduction with illumos, in preparation for merging r266993 from the
vendor branch. No functional change.
2015-06-07 20:10:11 +00:00
rmacklem
a7dc7c7729 MFC: r283330
The NFS client generated directory block(s) with d_fileno == 0
so that it would not return less data than requested.
Since returning less directory data than requested is not a problem
for FreeBSD and even UFS no longer returns directory structures
with d_fileno == 0, this patch stops the client from doing this.
Although entries with d_fileno == 0 should not be a problem,
the man pages no longer document that these entries should be
ignored, so there was a concern that these entries might be an
issue in the future.
2015-06-06 20:54:41 +00:00
jhb
51c06666a9 MFC 261811,282660,282706:
Place VM objects on the object list when created and never remove them.

261811:
Fix function name in KASSERT().

282660:
Place VM objects on the object list when created and never remove them.
This is ok since objects come from a NOFREE zone and allows objects to
be locked while traversing the object list without triggering a LOR.

Ensure that objects on the list are marked DEAD while free or stillborn,
and that they have a refcount of zero.  This required updating most of
the pagers to explicitly mark an object as dead when deallocating it.
(Only the vnode pager did this previously.)

282706:
Satisfy vm_object uma zone destructor requirements after r282660 when
vnode object creation raced.
2015-06-06 20:37:40 +00:00
ian
ac9f7bc3c6 MFC r279236:
Change struct attribute to avoid aligned operations mismatch
  Previous __alignment(4) allowed compiler to assume that operations are
  performed on aligned region. On ARM processor, this led to alignment fault
2015-06-06 20:14:58 +00:00
np
854a7e5a12 MFC r259150 (by adrian@) and r283864.
r259150:
Print out the full PCIe link negotiation during dmesg.

I found this useful when checking whether a NIC is in a PCIE 3.0 8x slot
or not.

r283864:
cxgbe: no need to display the per-lane GT/s rating of the pcie link.
2015-06-06 20:01:06 +00:00
ian
72a6278f84 MFC r279824, r279827, r279825:
Add a dtb module for AM335x systems (just Beaglebone right now).

  Remove the static DTB config and instead build modules/dtb/am335x.

  Also, remove WITHOUT_MODULES="ahc" which was added long ago to work
  around build problems that have long since been fixed correctly.

  Revert accidentally commited modules/Makefile file from r279824.
2015-06-06 19:15:48 +00:00
ian
98d314ee2c MFC r278338, r278340, r278458, r278519:
Create a module to install the Raspberry Pi dtb files.

  Pull in the rpi.dts -> rpi.dtb module (dtb/rpi) and have it install
  rpi.dtb in /boot/dtb by default.

  Add a module to build the dtb files for all supported imx6 systems.

  Remove imx6s-wandboard.dts, there is no such file.
2015-06-06 18:49:02 +00:00
np
49e34859d1 MFC r283858 and r284007.
r283858:
cxgbe: set minimum burst size when fetching freelist buffers to 128B.

r284007:
cxgbe: set the minimum burst size when fetching fl buffers to 128B for
netmap rx queues too.  This should have gone in as part of r283858.
2015-06-06 18:46:37 +00:00
np
e60231f03b MFC r280878:
cxgbe/tom: return rx credits promptly if the socket buffer's low water
mark cannot be reached because the window advertised to the peer isn't
wide enough.  While here, tweak the normal credit return too.
2015-06-06 18:31:28 +00:00
ian
88ef926e03 MFC r278458, r278519:
Pass MODULES_EXTRA to the modules build. While I'm here, also always
  pass WITHOUT_MODULES down. There's no need to make this conditional.

  Properly quote EXTRA_MODULES and WITHOUT_MODULES to ensure that they
  are passed down properly when there's more than one.
2015-06-06 18:21:16 +00:00
ian
f4aec12940 MFC r279385, r279902, r281412:
Merge latest dts files (commit c8c1b3a77934768c7f7a4a9c10140c8bec529059)
  from the git tree.

  File names with commas in them cause issues for freebsd-update. We
  don't actually use these files at the moment, so eliminate them until
  we actually do. In the mean time, freebsd-update will be updated
  to eliminate the issues.

  The GNU Amlogic DTS files have some errors (e.g. bad register
  address, bad IRQ, etc) which are fixed by this patch.
2015-06-06 18:03:36 +00:00
np
edfdc5c75d MFC r278239 and r278374.
r278239:
cxgbe(4): reserve id for iSCSI upper layer driver.

r278374:
cxgbe(4): tidy up some of the interaction between the Upper Layer
Drivers (ULDs) and the base if_cxgbe driver.

Track the per-adapter activation of ULDs in a new "active_ulds" field.
This was done pretty arbitrarily before this change -- via TOM_INIT_DONE
in adapter->flags for TOM, and the (1 << MAX_NPORTS) bit in
adapter->offload_map for iWARP.

iWARP and hw-accelerated iSCSI rely on the TOE (supported by the TOM
ULD).  The rules are:
a) If the iWARP and/or iSCSI ULDs are available when TOE is enabled then
   iWARP and/or iSCSI are enabled too.
b) When the iWARP and iSCSI modules are loaded they go looking for
   adapters with TOE enabled and enable themselves on that adapter.
c) You cannot deactivate or unload the TOM module from underneath iWARP
   or iSCSI.  Any such attempt will fail with EBUSY.
2015-06-06 18:00:36 +00:00
ae
49fd76c05c MFC r282809:
Add new socket ioctls SIOC[SG]TUNFIB to set FIB number of encapsulated
  packets on tunnel interfaces. Add support of these ioctls to gre(4),
  gif(4) and me(4) interfaces. For incoming packets M_SETFIB() should use
  if_fib value from ifnet structure, use proper value in gre(4) and me(4).

  Differential Revision:	https://reviews.freebsd.org/D2462
2015-06-06 13:37:11 +00:00