Commit Graph

101393 Commits

Author SHA1 Message Date
ae
7a82e24551 MFC r273087 (with modifications):
Overhaul if_gif(4):
   o convert to if_transmit;
   o use rmlock to protect access to gif_softc;
   o use sx lock to protect from concurrent ioctls;
   o remove a lot of unneeded and duplicated code;
   o remove cached route support (it won't work with concurrent io);
   o style fixes.

MFC r273090:
  Move memset under ifdef INET6.

MFC r273091:
  Add more ifdefs. SIOC*_IN6 are defined only with INET6.

MFC r273121:
  Add inet/inet6 to the dependency list. Without them if_gif is useless.

MFC r273209 by bz:
  After r273087,r273090,r273091,r273121 changes to gif(4) try to fix
  NOIP builds for real.

MFC r273587:
  Remove redundant check and m_pullup() call.
2014-12-23 16:33:44 +00:00
mav
9cec814411 MFC r275959: Report initiator id in portlist XML in more formalized way. 2014-12-23 12:45:29 +00:00
mav
69ac340493 MFC r275842: Do not count RCTD bit set as an error.
We can not really implement it, but specification tells that it "shall"
work, so it can be safely ignored.
2014-12-23 12:41:28 +00:00
nyan
f42424055b MFC: r272492
Merge pc98's machdep.c into i386/i386/machdep.c.
2014-12-23 12:13:31 +00:00
kib
d2f5d57eaa MFC r271208:
Add a define for index of IA32_XSS MSR.
2014-12-23 12:04:23 +00:00
kib
10220d0061 MFC r271206:
Adjust the definition of struct xstate_hdr according to SDM rev. 50.
2014-12-23 12:00:41 +00:00
kib
5a03dd693d MFC r271197:
Add more bits for the XSAVE features from CPUID 0xd, sub-function 1
%eax report.  Print the XSAVE features 0xd/1 in the boot banner.
2014-12-23 11:55:53 +00:00
nyan
8ae47063b1 MFC: r272491
Reduce diffs against i386.
2014-12-23 10:59:15 +00:00
nyan
84499dcf21 MFC: r272490 (partial)
- MFi386: Add compile-with option for tau32-ddk.c.
  - Whitespace change.
2014-12-23 09:46:23 +00:00
ae
57be9990bd Add if_inc_counter() and if_get_counter_default() functions that do
access to ifnet counters for code compatibility with FreeBSD 11.

This is direct commit to stable/10.

Discussed with:	glebius@, arch@
2014-12-23 09:39:40 +00:00
pfg
5b60997187 MFC r274437;
ifdef ext2_print_inode which is not really used.

ext2_print_inode was nice to have for initial development work but
is not really used anymore. #ifdef it under a new EXT2FS_DEBUG knob
so that we don't spend time compiling it.
2014-12-23 03:24:16 +00:00
jhb
3f04bf5b7c MFC 275035:
MFamd64: Check for invalid flags in the machine context in sigreturn()
and setcontext().
2014-12-22 21:46:35 +00:00
jhb
5ae50f92a8 MFC 273988,273989,273995,274057:
MFamd64: Add support for extended FPU states on i386.  This includes
support for AVX on i386.
2014-12-22 21:32:39 +00:00
delphij
2194e37061 MFC r275530:
Use %d instead of %u for error number.  This way we see ERESTART as -1
not 4294967295 when doing DTrace.
2014-12-22 21:06:26 +00:00
delphij
1ad38ed4f0 MFC r274337,r274673,274681,r275515:
ZFS large block support.  The default recordsize remains at 128KB.

A new tunable/sysctl variable, vfs.zfs.max_recordsize is added to
allow adjusting the permitted maximum record size, or
zfs_max_recordsize, with a default of 1MB.  ZFS will not allow
setting recordsize greater than zfs_max_recordsize as a safety
belt, because larger recordsize means greater read and write
latency and more memory usage.

Please note that booting from datasets that have recordsize greater
than 128KB is not supported (but it's Okay to enable the feature on
the pool).

Limited safety belt is provided for mounted root filesystem but use
caution when using a larger value.

Illumos issue:
    5027 zfs large block support
2014-12-22 20:58:51 +00:00
jhb
af2ee162da MFC 273991:
MFamd64: Move extern declaration of _ucodesel and _udatasel to
<machine/md_var.h>
2014-12-22 20:53:45 +00:00
jhb
71f9e38fa2 MFC 271405,271408,271409,272658:
MFamd64: Use initializecpu() to set various model-specific registers on
AP startup and AP resume (it was already used for BSP startup and BSP
resume).
2014-12-22 19:53:55 +00:00
jhb
2b345a08ed MFC 260557,271076,271077,271082,271083,271098:
- Remove spaces from boot messages when we print the CPU ID/Family/Stepping
- Move prototypes for various functions into out of C files and into
  <machine/md_var.h>.
- Reduce diffs between i386 and amd64 initcpu.c and identcpu.c files.
- Move blacklists of broken TSCs out of the printcpuinfo() function
  and into the TSC probe routine.
- Merge the amd64 and i386 identcpu.c into a single x86 implementation.
2014-12-22 18:40:59 +00:00
ae
9a4e55b147 MFC r271917 by hrs:
Virtualize interface cloner for gif(4).  This fixes a panic when destroying
  a vnet jail which has a gif(4) interface.
2014-12-22 17:54:26 +00:00
ae
3449c92ea5 MFC r258167:
ANSIfy function defintions.
2014-12-22 17:32:13 +00:00
smh
5f92f0907a MFC r272223:
Prevent possible use after free in ahci direct mode

Sponsored by:	Multiplay
2014-12-21 16:43:56 +00:00
smh
3b6e56e0bc MFC r268156:
Various bugfixes from Stefano GarzarellaA

This has been proved to fix reproducable panics on 10.x.

Sponsored by:	Multiplay
2014-12-21 15:39:19 +00:00
trasz
d7139ba7f6 MFC r274784:
Fix smbfs to not zero out statfs f_flags field. Previously, this
made getmntinfo() return empty flags for smbfs filesystems when
called with MNT_WAIT. It's not visible with mount(8), since it uses
MNT_NOWAIT, but broke autounmount(8) operation.

PR:		195161
Sponsored by:	The FreeBSD Foundation
2014-12-21 11:33:18 +00:00
dchagin
1a3934911c Regen for r275986 (ppoll). 2014-12-21 08:00:38 +00:00
dchagin
dfe2ad4d46 MFC r274462: Add the ppoll() system call. 2014-12-21 07:58:28 +00:00
smh
f73f068967 MFC r274819:
Prevent overflow issues in timeout processing

MFC r274852:
Fix build with asr driver

Sponsored by:	Multiplay
2014-12-21 03:06:11 +00:00
smh
4ae371d305 MFC r269615:
Various fixes to hptrr(4)

Sponsored by:	Multiplay
2014-12-21 03:00:44 +00:00
smh
4ffc79821f MFC r269613:
Various fixes to hptnr(4)

Sponsored by:	Multiplay
2014-12-21 02:57:03 +00:00
smh
c7e8e234ac MFC r267290:
Make the hpt27xx(4) driver MPSAFE

Sponsored by:	Multiplay
2014-12-21 02:52:40 +00:00
smh
e3ea8796d6 MFC r266772:
Various cleanups and fixes including switching from timeout to callout

Sponsored by:	Multiplay
2014-12-21 02:47:38 +00:00
smh
34faa04ea6 MFC r272000:
Switch from timeout(9) to callout(9)

Sponsored by:	Multiplay
2014-12-21 02:39:10 +00:00
smh
4749aacddd MFC r272735:
Support upto 256VD.

MFC r272737:
Support 32-bit linux binaries on FreeBSD 64bit.

MFC r272738:
Fix the minor svn add issue.

MFC r272739:
Extended MSI-x vectors support for Invader and Fury(12Gb/s HBA).

MFC r272740:
Add d_poll support.

MFC r272741:
Fix leak of mfi cmd in the passthru and correctly limit oustanding.

MFC r272742:
Import vendor Phase 6.5 driver

MFC r272744:
Style (9) fixes.

MFC r273040:
Fix for build issue on i386.xen and amd64.xen.

Sponsored by:	Multiplay
2014-12-21 02:35:22 +00:00
smh
90167d8975 MFC: r274487
Lock iir(4) and mark it MPSAFE.

Sponsored by:	Multiplay
2014-12-21 01:39:21 +00:00
kib
32facbd8ab MFC r275744:
Only sleep interruptible while waiting for suspension end when
filesystem specified VFCF_SBDRY flag, i.e. for NFS.
2014-12-20 15:49:12 +00:00
kib
febae1567d MFC r275743:
Put the buffer cleanup code after inactivation.
2014-12-20 15:46:15 +00:00
kib
492a1d38b5 MFC r275833:
The iret instruction may generate #np and #ss fault, besides #gp.
When returning to usermode, the handler for that exceptions is also
executed with wrong gs base.  Handle all three possible faults in the
same way, checking for iret fault, and performing full iret.
2014-12-19 09:36:59 +00:00
kib
bf07138622 MFC r275727:
For architectures where time_t is wide enough, in particular, 64bit
platforms, avoid overflow after year 2038 in clock_ct_to_ts().

PR:	195868
2014-12-19 09:34:14 +00:00
mav
eac5956a91 MFC r275503:
Avoid unneeded malloc/memcpy/free if there is no metadata on disk.

Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
2014-12-19 01:13:41 +00:00
jhb
3f663b8b40 MFC 273871:
Skip the smap sysctl instead of panicing if no kernel metadata can be
found.
2014-12-18 23:00:17 +00:00
avg
a691672ca9 MFC r275401: zfs_putpages: actually update mtime and ctime 2014-12-18 13:46:11 +00:00
kib
9f63b4b4d8 MFC r268843 (by bapt):
Extend kqueue's EVFILT_TIMER by adding precision unit flags support.
2014-12-18 11:30:51 +00:00
kib
3abf5d53d8 MFC r259609 (by se):
Fix overflow for timeout values of more than 68 years, which is the maximum
covered by sbintime (LONG_MAX seconds).

MFC r259633 (by se):
Fix compilation on 32 bit architectures and use INT64_MAX instead of
LONG_MAX for the upper bound check.
2014-12-18 11:10:15 +00:00
mav
a0e66849d7 MFC r275568:
Count consecutive read requests as blocking in CTL for files and ZVOLs.

Technically read requests can be executed in any order or simultaneously
since they are not changing any data.  But ZFS prefetcher goes crasy when
it receives consecutive requests from different threads.  Since prefetcher
works on level of separate blocks, instead of two consecutive 128K requests
it may receive 32 8K requests in mixed order.

This patch is more workaround then a real fix, and it does not fix all of
prefetcher problems, but it improves sequential read speed by 3-4x times
in some configurations.  On the other side it may hurt performance if
some backing store has no prefetch, that is why it is disabled by default
for raw devices.
2014-12-18 08:46:53 +00:00
mav
fe777840de MFC r275512:
In addition to r275481 allow threshold notifications work without UNMAP.

While without UNMAP support there is not much initiator can do about it,
the administrator still better be notified about the storage overflow.

Sponsored by:   iXsystems, Inc.
2014-12-18 08:45:28 +00:00
mav
57c600c3f5 MFC r275481:
Add to CTL support for threshold notifications for file-backed LUNs.

Previously it was supported only for ZVOL-backed LUNs, but now should work
for file-backed LUNs too.  Used value in this case is a space occupied by
the backing file, while available value is an available space on file
system.  Pool thresholds are still not implemented in this case.

Sponsored by:   iXsystems, Inc.
2014-12-18 08:43:36 +00:00
mav
4ff47ae9ab MFC r275474: Add GET LBA STATUS command support to CTL.
It is implemented for LUNs backed by ZVOLs in "dev" mode and files.
GEOM has no such API, so for LUNs backed by raw devices all LBAs will
be reported as mapped/unknown.

Sponsored by:   iXsystems, Inc.
2014-12-18 08:38:07 +00:00
mav
251a95deec MFC r275461:
Increase CTL ports limit from 128 to 256 and LUNs limit from 256 to 1024.

After recent optimizations this change is no longer blocked by CTL memory
consumption.  Those limits are still not free, but much cheaper now.

Relnotes:	yes
Sponsored by:	iXsystems, Inc.
2014-12-18 08:37:09 +00:00
mav
e99b295765 MFC r275459: Unify function names after r275458. 2014-12-18 08:32:56 +00:00
mav
510c6d695e MFC r275458:
Do not pre-allocate UNIT ATTENTIONs storage for every possible initiator.

Abusing ability of major UAs cover minor ones we may not account UAs for
inactive ports.  Allocate UAs storage for port and start accounting only
after some initiator from that port fetched its first POWER ON OCCURRED.

This reduces per-LUN CTL memory usage from >1MB to less then 100K.
2014-12-18 08:32:06 +00:00
mav
e998495ddf MFC r275455: Remove some unused code. 2014-12-18 08:31:13 +00:00