189910 Commits

Author SHA1 Message Date
jimharris
eee11f2f3d Add support for passthrough NVMe commands.
This includes a new IOCTL to support a generic method for nvmecontrol(8) to pass
IDENTIFY, GET_LOG_PAGE, GET_FEATURES and other commands to the controller, rather than
separate IOCTLs for each.

Sponsored by:	Intel
2013-04-12 17:52:17 +00:00
jimharris
72eb2cf9e3 Move the busdma mapping functions to nvme_qpair.c.
This removes nvme_uio.c completely.

Sponsored by:	Intel
2013-04-12 17:48:45 +00:00
jimharris
3b35b1fc99 Remove the NVMe-specific physio and associated routines.
These were added early on for benchmarking purposes to avoid the mapped I/O
penalties incurred in kern_physio.  Now that FreeBSD (including kern_physio)
supports unmapped I/O, the need for these NVMe-specific routines no longer exists.

Sponsored by:	Intel
2013-04-12 17:44:55 +00:00
jimharris
f877ea431a Add a mutex to each namespace, for general locking operations on the namespace.
Sponsored by:	Intel
2013-04-12 17:41:24 +00:00
jimharris
d3af7eb2bf Rename the controller's fail_req_lock, so that it can be used for other
locking operations on the controller.

Sponsored by:	Intel
2013-04-12 17:36:48 +00:00
jimharris
92ebbf5a66 Do not panic when a busdma mapping operation fails.
Instead, print an error message and fail the associated command with
DATA_TRANSFER_ERROR NVMe completion status.

Sponsored by:	Intel
2013-04-12 17:34:49 +00:00
jchandra
ad2a2fb3b7 Move MIPS_MAX_TLB_ENTRIES definition from cpuregs.h to tlb.c
Having MIPS_MAX_TLB_ENTRIES defined to 128 is misleading, since it used
to be 64 in older releases of MIPS architecture (where it could be read
from Config1) and can be much more than 128 for the newer processors.

For now, move the definition to the only file using it (mips/mips/tlb.c)
and define MIPS_MAX_TLB_ENTRIES depending on the MIPS cpu defined. Also
add few checks so that we do not write beyond the end of the tlb_state
array.

This fixes a kernel data corruption seen in Netlogic XLP, which was casued
by tlb_save() writing beyond the end of tlb_state array when breaking into
debugger.
2013-04-12 17:22:12 +00:00
gavin
81ffe59cb0 Add some more dates and relationships.
Submitted by:	jkoshy, gj, dfr
2013-04-12 17:01:07 +00:00
trasz
086d73aef6 Fix usage for soreceive(9) - uio must always be non-NULL.
MFC after:	1 week
2013-04-12 16:36:18 +00:00
ae
d657004b7f Reflect removing of the counter_u64_subtract() function in the macro. 2013-04-12 16:29:15 +00:00
trasz
80b8b2f779 Remove ctl(4) from GENERIC. Also remove 'options CTL_DISABLE'
and kern.cam.ctl.disable tunable; those were introduced as a workaround
to make it possible to boot GENERIC on low memory machines.

With ctl(4) being built as a module and automatically loaded by ctladm(8),
this makes CTL work out of the box.

Reviewed by:	ken
Sponsored by:	FreeBSD Foundation
2013-04-12 16:25:03 +00:00
jchandra
06443169d2 Fix incorrect KASSERTs in xlpge
Fix for crash in Netlogic XLP network accelerator driver when invariants
are enabled - use correct the condition for KASSERT.
2013-04-12 16:03:22 +00:00
jchandra
b9f386539e Fix kenv behavior when there is no static environment
In case where there are no static kernel environment entries, the
function init_dynamic_kenv() adds an incorrect entry at position 0 of
the dynamic kernel environment. This in turn causes kenv(1) to print
and empty list even though there are dynamic entries added later.

Fix this by checking env_pos in init_dynamic_kenv() and adding dynamic
entries only if there are static entries.
2013-04-12 15:58:53 +00:00
jilles
8b20292658 sh: Don't modify exit status when break/continue/return passes !.
This matches what would happen if  ! P  were to be replaced with
if P; then false; else true; fi.

Example:
  f() { ! return 0; }; f
2013-04-12 15:19:35 +00:00
gahr
fd27383897 - Do not bail out if stat(2) fails with ENOENT in the spool directory. This
happens if another atrm process removes a job while we're scanning through
  the directory.
- While at it, optimize a bit the directory scanning, so that we quit looping
  as soon as all jobs specified in argv have been dealt with.

Approved by:	cognet
2013-04-12 14:32:16 +00:00
gahr
b186c48188 - Switch order of setting real uid and gid. If we set uid first, then we
don't have enough privileges to set gid.

  This looks like a long standing bug, just recently revealed by r241852.

Approved by:	cognet
2013-04-12 14:19:44 +00:00
bz
ffb752b726 isa_if.h is indirectly included.
Depend on it to unbreak pc98 builds.
2013-04-12 13:56:21 +00:00
glebius
06416daa71 Attempt to clean up spacing and long lines. 2013-04-12 08:52:19 +00:00
gavin
4b149aa6ab Update with several early mentor/mentee relationships and dates commit
bits were granted.  Relationships have been provided by the mentees,
dates have been sourced from either the mentees or the CVS mailing list
archives.

Obtained from:	mux, wilko, msmith, peter, schweikh
Obtained from:	gallatin, dfr, murray, jkoshy
2013-04-12 08:39:18 +00:00
ae
cd45f7487f Free memory after deleting an address policy entry.
MFC after:	1 week
2013-04-12 07:59:54 +00:00
delphij
7485ad7981 Fix a few typos.
Reviewed by:	gjb
MFC after:	3 days
2013-04-12 02:01:17 +00:00
neel
cbd874121f If vmm.ko could not be initialized correctly then prevent the creation of
virtual machines subsequently.

Submitted by:	Chris Torek
2013-04-12 01:16:52 +00:00
sjg
5f0af63a3f If doing buildworld -DWITH_BMAKE make sure bmake does the build. 2013-04-12 00:34:19 +00:00
np
255ff35d8e Add pciids of the T5 based cards. The ones that I haven't tested with
cxgbe(4) are disabled for now.  This will change.

MFC after:	2 weeks
2013-04-11 23:40:05 +00:00
np
bdeb98927c Cosmetic change (s/wrwc/wcwr/;s/WRWC/WCWR/).
MFC after:	3 days.
2013-04-11 22:49:29 +00:00
np
35e58ff9d5 Auto-reduce the holdoff timers that are greater than the maximum value
allowed by the hardware.

MFC after:	3 days
2013-04-11 22:46:39 +00:00
bz
862ce015c1 Generate a LINT for powerpc and for powerpc64.
Discussed with:	nwhitehorn
2013-04-11 22:18:20 +00:00
adrian
2de9f3a455 Always enable TXOK interrupts when setting up TX queues for EDMA NICs. 2013-04-11 22:02:35 +00:00
np
8cfaf1f711 cxgbe/tom: Slight simplification of code that calculates options2.
MFC after:	3 days
2013-04-11 21:36:01 +00:00
ken
8737a976bf Fix bugs in the elapsed time calculation in ctlstat_standard()
pointed out by bde:

- Casting to long double isn't needed.
- The division isn't needed, multiplication can be used.
  "When 1 nanosecond is in a floating point literal, the whole
  expression is automatically promoted correctly."
- non-KNF indentation (1 tab) for the newly split line
- different non-KNF indentation (5 spaces) for the previously split
  line
- exessive parentheses around the division operation
- bogus blank line which splits up the etime initialization
- general verboseness from the above.

Submitted by:	bde
MFC after:	3 days
2013-04-11 21:18:04 +00:00
np
fb2d6a2d06 Get rid of a couple of stray \n's.
MFC after:	3 days.
2013-04-11 21:17:49 +00:00
np
ebbc873044 There is no need for elaborate queries and error checking when trying to
set FW4MSG_ENCAP.

MFC after:	3 days
2013-04-11 21:15:35 +00:00
emaste
5f41a5dc88 Spelling correction 2013-04-11 20:15:37 +00:00
trociny
61d99a1d27 Document sbuf_start_section() and sbuf_end_section() functions.
MFC after:	1 month
2013-04-11 19:51:53 +00:00
trociny
e5ccd8b61a Add sbuf_start_section and sbuf_end_section to the libsbuf symbol map.
MFC after:	1 month
2013-04-11 19:50:10 +00:00
trociny
156185aa6e Add sbuf_start_section() and sbuf_end_section() functions, which can
be used for automatic section alignment.

Discussed with:	kib
Reviewed by:	kib
MFC after:	1 month
2013-04-11 19:49:18 +00:00
np
e4426c1dc8 - Explain clearly why a different firmware is being installed (if/when
it is being installed).  Improve other error messages while here.

- Select special FPGA specific configuration profile when appropriate.

MFC after:	3 days
2013-04-11 19:39:40 +00:00
joel
5dfb164cba Minor spelling and grammar fixes. 2013-04-11 19:05:24 +00:00
joel
d5b5017793 Remove contractions. 2013-04-11 18:46:41 +00:00
glebius
d07f9bea4e Fix tcp_output() so that tcpcb is updated in the same manner when an
mbuf allocation fails, as in a case when ip_output() returns error.

To achieve that, move large block of code that updates tcpcb below
the out: label.

This fixes a panic, that requires the following sequence to happen:

1) The SYN was sent to the network, tp->snd_nxt = iss + 1, tp->snd_una = iss
2) The retransmit timeout happened for the SYN we had sent,
   tcp_timer_rexmt() sets tp->snd_nxt = tp->snd_una, and calls tcp_output().
   In tcp_output m_get() fails.
3) Later on the SYN|ACK for the SYN sent in step 1) came,
   tcp_input sets tp->snd_una += 1, which leads to
   tp->snd_una > tp->snd_nxt inconsistency, that later panics in
   socket buffer code.

For reference, this bug fixed in DragonflyBSD repo:

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1ff9b7d322dc5a26f7173aa8c38ecb79da80e419

Reviewed by:	andre
Tested by:	pho
Sponsored by:	Nginx, Inc.
PR:		kern/177456
Submitted by:	HouYeFei&XiBoLiu <lglion718 163.com>
2013-04-11 18:23:56 +00:00
joel
7a7d50bfd4 Remove kernel options from the SYNOPSIS. They are already documented in the
geom(4) manual page SYNOPSIS.
2013-04-11 18:02:42 +00:00
np
f4aa2790e6 cxgbe(4): Ensure that the MOD_LOAD handler runs before either t4nex or
t5nex attach to their devices.

MFC after:	3 days
2013-04-11 17:50:50 +00:00
gavin
10c5855256 - Add entries for alc and akoszek, alredy referenced elsewhere
- Add phk -> mux relationship, confirmed by mux@
- Add scottl -> sbruno relationship
- Move four ex-committers to the alumni section
- Sort.
2013-04-11 17:16:08 +00:00
np
8e75565073 Set and display the IP fragment bit correctly when dealing with
the filter mode.

MFC after:	3 days.
2013-04-11 16:50:58 +00:00
pfg
2554e81a37 DTrace: option for time-ordered output
Merge changes from illumos:

3021 option for time-ordered output from dtrace(1M)
3022 DTrace: keys should not affect the sort order when sorting by value
3023 it should be possible to dereference dynamic variables
3024 D integer narrowing needs some work
3025 register leak in D code generation
3026 libdtrace should set LD_NOLAZYLOAD=1 to help the pid provider

This brings yet another feature implemented in upstream DTrace.
A complete description is available here:
http://dtrace.org/blogs/ahl/2012/07/28/my-new-dtrace-favorite/

This change bumps the DT_VERS_* number to 1.9.1 in
accordance to what is done in illumos.

This change was somewhat complicated because upstream is mixed many
changes in an individual commit and some of the tests don't really
apply to us.

There are also appear to be differences in timestamping with Solaris
so we had to workaround some assertions making sure no regression
happened.

Special thanks to Fabian Keil for changes and testing.

Illumos Revisions:	13758:23432da34147

Reference:
https://www.illumos.org/issues/3021
https://www.illumos.org/issues/3022
https://www.illumos.org/issues/3023
https://www.illumos.org/issues/3024
https://www.illumos.org/issues/3025
https://www.illumos.org/issues/1694

Tested by:	Fabian Keil
Obtained from:	Illumos
MFC after:	1 months
2013-04-11 16:24:36 +00:00
joel
3750352678 Remove EOL whitespace. 2013-04-11 13:05:38 +00:00
emaste
21fcda067e Remove unused atomic header 2013-04-11 12:49:42 +00:00
eadler
aa571986fb fuser(1) requires a filename.
Reviewed by:	lstewart
Approved by:	bcr (mentor)
MFC after:	3 days
2013-04-11 12:24:29 +00:00
glebius
a54e9276b3 Fix typo. 2013-04-11 10:14:28 +00:00
mm
1a822a3e4d Fix libzfs to report error instead of returning zero if trying to hold or
release a non-existing snapshot of a existing dataset. In recursive case
error is reported if no snapshots with the requested name have been found.

Problem and proposed solution reported to illumos:
  3699 zfs hold or release of a non-existent snapshot does not output error

MFC after:	8 days
2013-04-11 07:49:16 +00:00