Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Aug 2013 13:06:42 -0400
From:      Glen Barber <gjb@FreeBSD.org>
To:        freebsd-snapshots@FreeBSD.org
Subject:   Re: New FreeBSD snapshots and virtual machine disk images (20130811 r254222)
Message-ID:  <20130812170642.GW2432@glenbarber.us>
In-Reply-To: <20130812170532.GV2432@glenbarber.us>
References:  <20130812170532.GV2432@glenbarber.us>

next in thread | previous in thread | raw e-mail | index | archive | help

--XCIqNWEteo88hZlY
Content-Type: multipart/mixed; boundary="doUn1Hmx68n+7ij2"
Content-Disposition: inline


--doUn1Hmx68n+7ij2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Aug 12, 2013 at 01:05:32PM -0400, Glen Barber wrote:
> Subversion logs since the last set of snapshots attached to this
> email.
>=20

Change logs are attached to this mail.

Glen


--doUn1Hmx68n+7ij2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="changelog-head-r253930-r254222.txt"
Content-Transfer-Encoding: quoted-printable

------------------------------------------------------------------------
r253930 | rmh | 2013-08-04 16:25:46 +0000 (Sun, 04 Aug 2013) | 2 lines

Fix implicit declaration of warnx().

------------------------------------------------------------------------
r253936 | rpaulo | 2013-08-04 19:36:46 +0000 (Sun, 04 Aug 2013) | 2 lines

Regen for if_rsu.

------------------------------------------------------------------------
r253937 | hiren | 2013-08-04 19:54:47 +0000 (Sun, 04 Aug 2013) | 4 lines

Fixing a typo.

Approved by:	sbruno (mentor, implicit)

------------------------------------------------------------------------
r253938 | marcel | 2013-08-04 21:00:22 +0000 (Sun, 04 Aug 2013) | 3 lines

Remove inclusion of <sys/diskmbr.h>. We have no business knowing
anything related to MBR in this file.

------------------------------------------------------------------------
r253939 | attilio | 2013-08-04 21:07:24 +0000 (Sun, 04 Aug 2013) | 23 lines

The page hold mechanism is fast but it has couple of fallouts:
- It does not let pages respect the LRU policy
- It bloats the active/inactive queues of few pages

Try to avoid it as much as possible with the long-term target to
completely remove it.
Use the soft-busy mechanism to protect page content accesses during
short-term operations (like uiomove_fromphys()).

After this change only vm_fault_quick_hold_pages() is still using the
hold mechanism for page content access.
There is an additional complexity there as the quick path cannot
immediately access the page object to busy the page and the slow path
cannot however busy more than one page a time (to avoid deadlocks).

Fixing such primitive can bring to complete removal of the page hold
mechanism.

Sponsored by:	EMC / Isilon storage division
Discussed with:	alc
Reviewed by:	jeff
Tested by:	pho

------------------------------------------------------------------------
r253940 | attilio | 2013-08-04 21:17:05 +0000 (Sun, 04 Aug 2013) | 6 lines

Remove unused member.

Sponsored by:	EMC / Isilon storage division
Reviewed by:	alc
Tested by:	pho

------------------------------------------------------------------------
r253949 | jeff | 2013-08-05 00:28:03 +0000 (Mon, 05 Aug 2013) | 9 lines

 - Introduce a specific function, pmap_remove_kernel_pde, for removing
   huge pages in the kernel's address space.  This works around several
   asserts from pmap_demote_pde_locked that did not apply and gave false
   warnings.

Discovered by:	pho
Reviewed by:	alc
Sponsored by:	EMC / Isilon Storage Division

------------------------------------------------------------------------
r253950 | hrs | 2013-08-05 00:36:12 +0000 (Mon, 05 Aug 2013) | 2 lines

Fix a panic in tmpaddrtimer.

------------------------------------------------------------------------
r253953 | attilio | 2013-08-05 08:55:35 +0000 (Mon, 05 Aug 2013) | 12 lines

Revert r253939:
We cannot busy a page before doing pagefaults.
Infact, it can deadlock against vnode lock, as it tries to vget().
Other functions, right now, have an opposite lock ordering, like
vm_object_sync(), which acquires the vnode lock first and then
sleeps on the busy mechanism.

Before this patch is reinserted we need to break this ordering.

Sponsored by:	EMC / Isilon storage division
Reported by:	kib

------------------------------------------------------------------------
r253956 | gjb | 2013-08-05 10:26:42 +0000 (Mon, 05 Aug 2013) | 6 lines

Redirect svnversion stderr to /dev/null if we cannot determine
the tree version, for example if the tree is checked out with an
outdated svn from ports, but the base system svnlite is built.

Approved by:	kib (mentor)

------------------------------------------------------------------------
r253957 | crees | 2013-08-05 10:38:34 +0000 (Mon, 05 Aug 2013) | 6 lines

Note NULL encryption method for GELI

PR:		docs/180551
Submitted by:	r4721@tormail.org
Approved by:	gjb (mentor)

------------------------------------------------------------------------
r253958 | mav | 2013-08-05 11:48:40 +0000 (Mon, 05 Aug 2013) | 14 lines

MFprojects/camlock r249505:
Change CCB queue resize logic to be able safely handle overallocations:
 - (re)allocate queue space in power of 2 chunks with 64 elements minimum
and never shrink it; with only 4/8 bytes per element size is insignificant.
 - automatically reallocate the queue to double size if it is overflowed.
 - if queue reallocation failed, store extra CCBs in unsorted TAILQ,
fetching them back as soon as some queue element is freed.

To free space in CCB for TAILQ linking, change highpowerq from keeping
high-power CCBs to keeping devices frozen due to high-power CCBs.

This encloses all pieces of queue resize logic inside of cam_queue.[ch],
removing some not obvious duties from xpt_release_ccb().

------------------------------------------------------------------------
r253960 | mav | 2013-08-05 12:15:53 +0000 (Mon, 05 Aug 2013) | 4 lines

MFprojects/camlock r249006:
Pass SIM pointer as an argument to camisr_runqueue() instead of doneq
pointer.

------------------------------------------------------------------------
r253965 | jfv | 2013-08-05 16:16:50 +0000 (Mon, 05 Aug 2013) | 4 lines

Correct a fat-finger in the last delta.

MFC after: ASAP

------------------------------------------------------------------------
r253967 | kib | 2013-08-05 18:53:59 +0000 (Mon, 05 Aug 2013) | 21 lines

The tmpfs_alloc_vp() is used to instantiate vnode for the tmpfs node,
in particular, from the tmpfs_lookup VOP method.  If LK_NOWAIT is not
specified in the lkflags, the lookup is supposed to return an alive
vnode whenever the underlying node is valid.

Currently, the tmpfs_alloc_vp() returns ENOENT if the vnode attached
to node exists and is being reclaimed.  This causes spurious ENOENT
errors from lookup on tmpfs and corresponding random 'No such file'
failures from syscalls working with tmpfs files.

Fix this by waiting for the doomed vnode to be detached from the tmpfs
node if sleepable allocation is requested.

Note that filesystems which use vfs_hash.c, correctly handle the case
due to vfs_hash_get() looping when vget() returns ENOENT for sleepable
requests.

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks

------------------------------------------------------------------------
r253968 | andrew | 2013-08-05 19:06:28 +0000 (Mon, 05 Aug 2013) | 14 lines

When entering exception handlers we may not have an aligned stack. This is
because an exception may happen at any time. The stack alignment rules on
ARM EABI state the only place the stack must be 8-byte aligned is on a
function boundary.

If an exception happens while a function is setting up or tearing down it's
stack frame it may not be correctly aligned. There is also no requirement
for it to be when the function is a leaf node.

The fix is to align the stack after we have stored a backup of the old stack
pointer, but before we have stored anything in the trapframe. Along with
this we need to adjust the size of the trapframe by 4 bytes to ensure the
stack below it is also correctly aligned.

------------------------------------------------------------------------
r253969 | kib | 2013-08-05 19:42:03 +0000 (Mon, 05 Aug 2013) | 7 lines

Do not override the ENOENT error for the empty path, or EFAULT errors
=66rom copyins, with the relative lookup check.

Discussed with:	rwatson
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week

------------------------------------------------------------------------
r253970 | hrs | 2013-08-05 20:13:02 +0000 (Mon, 05 Aug 2013) | 8 lines

- Use time_uptime instead of time_second in data structures for
  PF_INET6 in kernel.  This fixes various malfunction when the wall time
  clock is changed.  Bump __FreeBSD_version to 1000041.

- Use clock_gettime(CLOCK_MONOTONIC_FAST) in userland utilities.

MFC after:	1 month

------------------------------------------------------------------------
r253971 | cognet | 2013-08-05 20:14:56 +0000 (Mon, 05 Aug 2013) | 3 lines

Let the platform calculate the timer frequency at runtime, and use that for
the omap4, instead of relying on the (wrong) value provided in the dts.

------------------------------------------------------------------------
r253972 | hrs | 2013-08-05 20:30:15 +0000 (Mon, 05 Aug 2013) | 2 lines

Document IPv6 timer value change in r253970.

------------------------------------------------------------------------
r253973 | mckusick | 2013-08-05 22:01:16 +0000 (Mon, 05 Aug 2013) | 9 lines

To better understand performance problems with journalled soft updates,
we need to collect the highest level of allocation for each of the
different soft update dependency structures. This change collects these
statistics and makes them available using `sysctl debug.softdep.highuse'.

Reviewed by: kib
Tested by:   Peter Holm
MFC after:   2 weeks

------------------------------------------------------------------------
r253974 | mckusick | 2013-08-05 22:02:45 +0000 (Mon, 05 Aug 2013) | 11 lines

With the addition of journalled soft updates, the "newblk" structures
persist much longer than previously. Historically we had at most 100
entries; now the count may reach a million. With the increased count
we spent far too much time looking them up in the grossly undersized
newblk hash table. Configure the newblk hash table to accurately reflect
the number of entries that it must index.

Reviewed by: kib
Tested by:   Peter Holm
MFC after:   2 weeks

------------------------------------------------------------------------
r253976 | jhibbits | 2013-08-06 01:01:15 +0000 (Tue, 06 Aug 2013) | 6 lines

Evict pages from the PTEG when it's full and trying to insert a new PTE,
rather than panicking.

Reviewed by:	nwhitehorn
MFC after:	3 weeks

------------------------------------------------------------------------
r253977 | hrs | 2013-08-06 02:14:30 +0000 (Tue, 06 Aug 2013) | 9 lines

- Use pget(PGET_CANDEBUG | PGET_NOTWEXIT) to determine if the specified
  PID is valid for monitoring in FILEMON_SET_PID ioctl.

- Set the monitored PID to -1 when the process exits.

Suggested by:	jilles
Tested by:	sjg
MFC after:	3 days

------------------------------------------------------------------------
r253978 | jhibbits | 2013-08-06 02:58:16 +0000 (Tue, 06 Aug 2013) | 3 lines

Remove an unnecessary panic.  The PVO's PTE entry and the PTEG's PTE entry =
may
not match, if the PVO's PTE is invalid.

------------------------------------------------------------------------
r253979 | jhibbits | 2013-08-06 03:09:44 +0000 (Tue, 06 Aug 2013) | 4 lines

Micro-optimize OFW syscons 8-bit blank.

MFC after:	1 week

------------------------------------------------------------------------
r253980 | sbruno | 2013-08-06 03:17:01 +0000 (Tue, 06 Aug 2013) | 6 lines

Update ciss(4) with new models of raid controllers from HP

Submitted by:	scott.benesh@hp.com
MFC after:	2 weeks
Sponsored by:	Hewlett Packard

------------------------------------------------------------------------
r253983 | erwin | 2013-08-06 06:22:54 +0000 (Tue, 06 Aug 2013) | 38 lines

Update Bind to 9.8.5-P2

New Features

   Adds a new configuration option, "check-spf"; valid values are
   "warn" (default) and "ignore".  When set to "warn", checks SPF
   and TXT records in spf format, warning if either resource record
   type occurs without a corresponding record of the other resource
   record type.  [RT #33355]

   Adds support for Uniform Resource Identifier (URI) resource
   records. [RT #23386]

   Adds support for the EUI48 and EUI64 RR types. [RT #33082]

   Adds support for the RFC 6742 ILNP record types (NID, LP, L32,
   and L64). [RT #31836]

Feature Changes

   Changes timing of when slave zones send NOTIFY messages after
   loading a new copy of the zone.  They now send the NOTIFY before
   writing the zone data to disk.  This will result in quicker
   propagation of updates in multi-level server structures. [RT #27242]
   "named -V" can now report a source ID string.  (This is will be
   of most interest to developers and troubleshooters).  The source

   ID for ISC's production versions of BIND is defined in the "srcid"
   file in the build tree and is normally set to the most recent
   git hash. [RT #31494]

   Response Policy Zone performance enhancements.  New "response-policy"
   option "min-ns-dots".  "nsip" and "nsdname" now enabled by default
   with RPZ. [RT #32251]

Approved by:	delphij (mentor)
Sponsored by:	DK Hostmaster A/S

------------------------------------------------------------------------
r253984 | erwin | 2013-08-06 06:24:37 +0000 (Tue, 06 Aug 2013) | 6 lines

Remove weirdly-named autofoo file.  This is not needed for the (FreeBSD)
build, and freebsd-update chokes on it.  Somehow it did manage to be merged,
despite my best efforts not to.

Approved by:	delphij (mentor)

------------------------------------------------------------------------
r253985 | andrew | 2013-08-06 10:03:44 +0000 (Tue, 06 Aug 2013) | 3 lines

We no longer need to align the stack before calling swi_handler as it is
already aligned correctly in the PUSHFRAME macro.

------------------------------------------------------------------------
r253986 | ae | 2013-08-06 10:35:05 +0000 (Tue, 06 Aug 2013) | 4 lines

Fix formatting warning.

MFC after:	1 week

------------------------------------------------------------------------
r253987 | trasz | 2013-08-06 10:42:18 +0000 (Tue, 06 Aug 2013) | 2 lines

Remove dead code.

------------------------------------------------------------------------
r253988 | dwmalone | 2013-08-06 11:00:56 +0000 (Tue, 06 Aug 2013) | 2 lines

Make section headings for different quirk types consistent.

------------------------------------------------------------------------
r253989 | avg | 2013-08-06 13:55:39 +0000 (Tue, 06 Aug 2013) | 7 lines

dtrace: fix compilation with gcc

Cowardly taking the easiest way and using -Wno-*

MFC after:	3 days
X-MFC with:	r253772

------------------------------------------------------------------------
r253990 | mav | 2013-08-06 14:20:41 +0000 (Tue, 06 Aug 2013) | 15 lines

Make ZFS to use separate thread to handle SPA_ASYNC_REMOVE async events.
Existing async thread is running only on successfull spa_sync() completion,
that is impossible in case of pool loosing required (last) disk(s).  That
indefinite delay of SPA_ASYNC_REMOVE processing made ZFS to not close the
lost disks, preventing GEOM/CAM from destroying devices and reusing names
on later disk reattach.

In earlier version of the patch I've tried to just run existing thread
immediately, unrelated to spa_sync() completion, but that exposed number
of situations where it could stuck due to locks held by stuck spa_sync(),
that are required for other kinds of async events.

Experiments with OpenIndiana snapshot confirmed that they also have this
issue with lost disks reattach.

------------------------------------------------------------------------
r253991 | mav | 2013-08-06 14:23:33 +0000 (Tue, 06 Aug 2013) | 4 lines

Make `zpool clear` to reopen also reconnected cache and spare devices.
Since `zpool status` reports about such kinds of errors, it is strange
that they are not cleared by `zpool clear`.

------------------------------------------------------------------------
r253992 | mav | 2013-08-06 14:30:28 +0000 (Tue, 06 Aug 2013) | 14 lines

Disable r252840 when ZFS TRIM is enabled (vfs.zfs.trim.enabled=3D1) and rea=
lly
disable TRIM otherwise.

r252840 (illumos bug 3836) is based on assumption that zio_free_sync() has
no lock dependencies and should complete immediately. Unfortunately, with o=
ur
TRIM implementation that is not true due to ZIO_STAGE_VDEV_IO_START added
to the ZIO_FREE_PIPELINE, which, while not really accessing devices, still
acquires SCL_ZIO lock for read to be sure devices won't disappear.

When TRIM is disabled, this patch enables direct free execution from r252840
and removes ZIO_STAGE_VDEV_IO_START and ZIO_STAGE_VDEV_IO_ASSESS stages from
the pipeline to avoid lock acquisition.  Otherwise it queues free request as
it was before r252840.

------------------------------------------------------------------------
r253993 | mav | 2013-08-06 14:41:41 +0000 (Tue, 06 Aug 2013) | 13 lines

Block reporting of ZFS features for suspended pools.

Before executing any subcommand, zpool tool fetches pools configuration from
the kernel.  Before features support was added, kernel was regenerating that
configuration based on data always present in memory.  Unfortunately, pool
features list and activity counters are not such. They are stored in ZAP,
that normally resides in ARC, but under heavy memory pressure may be swapped
out.  If pool is suspended at this point, there is no way to recover it back
since any zpool command will stuck.

This change has one predictable flaw: `zpool upgrade` always wish to upgrade
suspended pools, but fortunately it can't do it due to the suspension.

------------------------------------------------------------------------
r253994 | marius | 2013-08-06 15:34:11 +0000 (Tue, 06 Aug 2013) | 6 lines

Add MD (for now) atomic_store_acq_<type>() and use it in pmap_activate()
to get the semantics when setting the PMAP right. Prior to r251782, the
latter already used implicit acquire semantics, which - currently - means
to not employ additional explicit memory barriers under the hood (see also
r225889).

------------------------------------------------------------------------
r253995 | hrs | 2013-08-06 15:49:18 +0000 (Tue, 06 Aug 2013) | 2 lines

Fix build on arm and mips.

------------------------------------------------------------------------
r253996 | avg | 2013-08-06 15:51:56 +0000 (Tue, 06 Aug 2013) | 16 lines

opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUG

Do this by forcing inclusion of
sys/cddl/compat/opensolaris/sys/debug_compat.h
via -include option into all source files from OpenSolaris.
Note that this -include option must always be after -include opt_global.h.

Additionally, remove forced definition of DEBUG for some modules and fix
their build without DEBUG.

Also, meaning of DEBUG was overloaded to enable WITNESS support for some
OpenSolaris (primarily ZFS) locks.  Now this overloading is removed and
that use of DEBUG is replaced with a new option OPENSOLARIS_WITNESS.

MFC after:	17 days

------------------------------------------------------------------------
r253997 | avg | 2013-08-06 16:18:07 +0000 (Tue, 06 Aug 2013) | 5 lines

fix fat-fingering in r253996

MFC after:	17 days
X-MFC with:	r253996

------------------------------------------------------------------------
r253998 | mckusick | 2013-08-06 16:50:05 +0000 (Tue, 06 Aug 2013) | 22 lines

This bug fix is in a code path in rename taken when there is a
collision between a rename and an open system call for the same
target file. Here, rename releases its vnode references, waits for
the open to finish, and then restarts by reacquiring its needed
vnode locks. In this case, rename was unlocking but failing to
release its reference to one of its held vnodes. The effect was
that even after all the actual references to the vnode had gone,
the vnode still showed active references. For files that had been
removed, their space was not reclaimed until the filesystem was
forcibly unmounted.

This bug manifested itself in the Postgres server which would
leak/lose hundreds of files per day amounting to many gigabytes of
disk space. This bug required shutting down Postgres, forcibly
unmounting its filesystem, remounting its filesystem and restarting
Postgres every few days to recover the lost space.

Reported by: Dan Thomas and Palle Girgensohn
Bug-fix by:  kib
Tested by:   Dan Thomas and Palle Girgensohn
MFC after:   2 weeks

------------------------------------------------------------------------
r253999 | hrs | 2013-08-06 17:10:52 +0000 (Tue, 06 Aug 2013) | 4 lines

Fix incompatibility in ICMPV6CTL_ND6_PRLIST sysctl, and SIOCGPRLST_IN6,
SIOCGDRLST_IN6, and SIOCGNBRINFO_IN6 ioctl.  These userland interfaces
treat expiration times in time_second, not time_uptime.

------------------------------------------------------------------------
r254002 | jfv | 2013-08-06 18:00:53 +0000 (Tue, 06 Aug 2013) | 6 lines

When the igb driver is static there are cases when early interrupts occur,
resulting in a panic in refresh_mbufs, to prevent this add a check in the
interrupt handler for DRV_RUNNING.

MFC after: 1 day (critical for 9.2)

------------------------------------------------------------------------
r254004 | marius | 2013-08-06 18:55:59 +0000 (Tue, 06 Aug 2013) | 16 lines

As it turns out, MSIs are broken with 2820SA so introduce an AAC_FLAGS_NOMSI
quirk and apply it to these controllers [1]. The same problem was reported
for 2230S, in which case it wasn't actually clear whether the culprit is the
controller or the mainboard, though. In order to be on the safe side, flag
MSIs as being broken with the latter type of controller as well. Given that
these are the only reports of MSI-related breakage with aac(4) so far and
OSes like OpenSolaris unconditionally employ MSIs for all adapters of this
family, however, it doesn't seem warranted to generally disable the use of
MSIs in aac(4).
While it, simplify the MSI allocation logic a bit; there's no need to check
for the presence of the MSI capability on our own as pci_alloc_msi(9) will
just fail when these kind of interrupts are not available.
Reported and tested by: David Boyd [1]

MFC after:	3 days

------------------------------------------------------------------------
r254005 | marius | 2013-08-06 19:14:02 +0000 (Tue, 06 Aug 2013) | 10 lines

- Fix a bug in the MSI allocation logic so an MSI is also employed if a
  controller supports only a single message. I haven't seen such an adapter
  out in the wild, though, so this change likely is a NOP.
  While at it, further simplify the MSI allocation logic; there's no need
  to check the number of available messages on our own as pci_alloc_msi(9)
  will just fail if it can't provide us with the single message we want.
- Nuke the unused softc of aacch(4).

MFC after:	1 month

------------------------------------------------------------------------
r254008 | jfv | 2013-08-06 21:01:38 +0000 (Tue, 06 Aug 2013) | 6 lines

Make the various driver MSIX setup routines fallback to MSI more
gracefully. This change was suggested by Marius Strobl, thank you.

PR: kern/181016
MFC after: ASAP

------------------------------------------------------------------------
r254010 | sbruno | 2013-08-06 21:30:37 +0000 (Tue, 06 Aug 2013) | 9 lines

Adjust make knobs to know that WITH_ICONV installs a /usr/bin/iconv

Remove it if the knob isn't tweaked.  Certain ports seem to think that
if /usr/bin/iconv exists, then libc has built in libiconv things and will
blow up pretty nicely when built.

Reviewed by:	gjb@
MFC after:	2 weeks

------------------------------------------------------------------------
r254012 | delphij | 2013-08-06 21:36:01 +0000 (Tue, 06 Aug 2013) | 8 lines

MFV r254011:

This change have no effect to FreeBSD but integrated for
completeness.

Illumos ZFS issues:
  348 ZFS should handle DKIOCGMEDIAINFOEXT failure

------------------------------------------------------------------------
r254014 | delphij | 2013-08-06 21:44:54 +0000 (Tue, 06 Aug 2013) | 6 lines

MFV r254013 (dummy merge to note that the change is already
merged):

Illumos ZFS issues:
  3973 zfs_ioc_rename alters passed in zc->zc_name

------------------------------------------------------------------------
r254015 | marcel | 2013-08-07 00:00:48 +0000 (Wed, 07 Aug 2013) | 15 lines

Change <sys/diskpc98.h> to not redefine the same symbols that are
being defined in <sys/diskmbr.h>. Instead give the symbols here a
"PC98_" prefix. This way, both <sys/diskmbr.h> and <sys/diskpc98.h>
can be included in the same C source file.

The renaming is trivial. The only gotcha is that DOSBBSECTOR is
also redefined from 0 to 1. This because DOSBBSECTOR was always
used in conjunction with an addition of 1. The PC98_BBSECTOR symbol
is defined as 1 and the expression is simplified.

Note: it is not believed that ports are seriously impacted; or at
all for that matter.

Approved by: nyan@

------------------------------------------------------------------------
r254017 | markj | 2013-08-07 00:20:30 +0000 (Wed, 07 Aug 2013) | 5 lines

Fill in the description fields for M_FICT_PAGES.

Reviewed by:	kib
MFC after:	3 days

------------------------------------------------------------------------
r254018 | markj | 2013-08-07 00:28:17 +0000 (Wed, 07 Aug 2013) | 9 lines

Pass variables prefixed with both LD_ and LD_32_ to the run-time linker.
This prevents unintentional execution of programs when running ldd(1) on
32-bit Linux binaries.

PR:		175339, 127276
Suggested by:	kib, rstone
Reviewed by:	kib
MFC after:	2 weeks

------------------------------------------------------------------------
r254019 | rpaulo | 2013-08-07 01:01:58 +0000 (Wed, 07 Aug 2013) | 9 lines

Fix a timing issue with the wired driver.

After configuring the interface, wait for the link to become active.
Many ethernet drivers reset the chip when we set multicast filters
(causing significant delays due to link re-negotiation) and, by the time
we start sending packets, they are discared instead of going to the ether.

Tested by:	dumbbell

------------------------------------------------------------------------
r254020 | markj | 2013-08-07 01:32:08 +0000 (Wed, 07 Aug 2013) | 6 lines

Add a missing module version declaration to if_tun(4).

PR:		181078
Submitted by:	Brandon Gooch <jamesbrandongooch@gmail.com>
MFC after:	1 week

------------------------------------------------------------------------
r254021 | rpaulo | 2013-08-07 04:03:30 +0000 (Wed, 07 Aug 2013) | 4 lines

Make sure IFM_AVALID is also set when checking ifm_status.

Submitted by:	yongari

------------------------------------------------------------------------
r254025 | jeff | 2013-08-07 06:21:20 +0000 (Wed, 07 Aug 2013) | 12 lines

Replace kernel virtual address space allocation with vmem.  This provides
transparent layering and better fragmentation.

 - Normalize functions that allocate memory to use kmem_*
 - Those that allocate address space are named kva_*
 - Those that operate on maps are named kmap_*
 - Implement recursive allocation handling for kmem_arena in vmem.

Reviewed by:	alc
Tested by:	pho
Sponsored by:	EMC / Isilon Storage Division

------------------------------------------------------------------------
r254031 | kevlo | 2013-08-07 07:22:56 +0000 (Wed, 07 Aug 2013) | 5 lines

Remove unsigned comparison < 0

Found by:	LLVM
Reviewed by:	luigi

------------------------------------------------------------------------
r254051 | avg | 2013-08-07 08:03:50 +0000 (Wed, 07 Aug 2013) | 7 lines

enable KDB_TRACE in GENERICs

KDB_TRACE is not an alternative to DDB/etc, they are complementary.
So I do not see any reason to not enable KDB_TRACE by default.

X-MFC after:	never (change specific to head)

------------------------------------------------------------------------
r254052 | mav | 2013-08-07 08:20:11 +0000 (Wed, 07 Aug 2013) | 3 lines

Improve r253721 by reporting detected lack of BIO_FLUSH support to GEOM.
That prevents more of such requests from coming and errors from logging.

------------------------------------------------------------------------
r254056 | ganbold | 2013-08-07 11:07:56 +0000 (Wed, 07 Aug 2013) | 10 lines

Bring initial support for Allwinner A20 SoC (Cubieboard2).
	Add support for A20 timer.
	Correct interrupt offset depending from chip.
	Add basic code for CPU configuration module.
	For now, add kernel config and dts file
	(only FDT blob related problem needs to be solved later in
	order to have one kernel for both cubieboard1 and 2).

Approved by: ray@

------------------------------------------------------------------------
r254057 | theraven | 2013-08-07 11:30:04 +0000 (Wed, 07 Aug 2013) | 2 lines

Remove __attribute__((__aligned__)) that generates incorrect alignment on c=
ompilers that know about SSE.  Code left over from old header that thought =
that 64 bits was the maximum alignment that anything would ever need...

------------------------------------------------------------------------
r254058 | mav | 2013-08-07 11:34:20 +0000 (Wed, 07 Aug 2013) | 4 lines

Remove droping topology mutex after iterating 100 periphs in CAMGETPASSTHRU.
That is not so slow and so often operation to handle unneeded otherwise
xsoftc.xpt_generation and respective locking complications.

------------------------------------------------------------------------
r254061 | cognet | 2013-08-07 15:44:58 +0000 (Wed, 07 Aug 2013) | 9 lines

Don't bother trying to work around buffers which are not aligned on a cache
line boundary. It has never been 100% correct, and it can't work on SMP,
because nothing prevents another core from accessing data from an unrelated
buffer in the same cache line while we invalidated it. Just use bounce pages
instead.

Reviewed by:	ian
Approved by:	mux (mentor) (implicit)

------------------------------------------------------------------------
r254062 | rpaulo | 2013-08-07 15:55:12 +0000 (Wed, 07 Aug 2013) | 2 lines

Fix previous commit: both flags must be set.

------------------------------------------------------------------------
r254064 | kib | 2013-08-07 16:33:15 +0000 (Wed, 07 Aug 2013) | 17 lines

Change the pmap_ts_referenced() method of amd64 pmap to use shared
pvh_global_lock.  This allows the method to be executed in parallel,
avoiding undue contention on the pvh_global_lock for the multithreaded
pagedaemon.

The pmap_ts_referenced() function has to inspect the page mappings for
several pmaps, which need to be locked while pv list lock is owned.
This contradicts to the lock order, where pmap lock is before pv list
lock.  Introduce the generation count for the pv list of the page or
superpage, which indicate any change in the pv list, and, as usual,
perform restart of the iteration if generation changed while pv lock
was dropped for blocking acquire of a pmap lock.

Reported and tested by:	pho
Reviewed by:	alc
Sponsored by:	The FreeBSD Foundation

------------------------------------------------------------------------
r254065 | kib | 2013-08-07 16:36:38 +0000 (Wed, 07 Aug 2013) | 32 lines

Split the pagequeues per NUMA domains, and split pageademon process
into threads each processing queue in a single domain.  The structure
of the pagedaemons and queues is kept intact, most of the changes come
=66rom the need for code to find an owning page queue for given page,
calculated from the segment containing the page.

The tie between NUMA domain and pagedaemon thread/pagequeue split is
rather arbitrary, the multithreaded daemon could be allowed for the
single-domain machines, or one domain might be split into several page
domains, to further increase concurrency.

Right now, each pagedaemon thread tries to reach the global target,
precalculated at the start of the pass.  This is not optimal, since it
could cause excessive page deactivation and freeing.  The code should
be changed to re-check the global page deficit state in the loop after
some number of iterations.

The pagedaemons reach the quorum before starting the OOM, since one
thread inability to meet the target is normal for split queues.  Only
when all pagedaemons fail to produce enough reusable pages, OOM is
started by single selected thread.

Launder is modified to take into account the segments layout with
regard to the region for which cleaning is performed.

Based on the preliminary patch by jeff, sponsored by EMC / Isilon
Storage Division.

Reviewed by:	alc
Tested by:	pho
Sponsored by:	The FreeBSD Foundation

------------------------------------------------------------------------
r254072 | jhb | 2013-08-07 19:56:35 +0000 (Wed, 07 Aug 2013) | 13 lines

Don't emit a spurious EVFILT_PROC event with no fflags set on process exit
if NOTE_EXIT is not being monitored.  The rationale is that a listener
should only get an event for exit() if they registered interest via
NOTE_EXIT.  This matches the behavior on OS X.
- Don't save the exit status on process exit unless NOTE_EXIT is being
  monitored.
- Add an internal EV_DROP flag that requests kqueue_scan() to free the
  knote without signalling it to userland and use this when a process
  exits but the fflags in the knote is zero.

Reviewed by:	jmg
MFC after:	1 month

------------------------------------------------------------------------
r254073 | obrien | 2013-08-07 20:35:26 +0000 (Wed, 07 Aug 2013) | 4 lines

Improve the sysctl symbol extraction from the kernel so that it find more
(all?) sysctl's.  Previously some where missed, depending on how they were
defined.

------------------------------------------------------------------------
r254074 | delphij | 2013-08-07 21:16:14 +0000 (Wed, 07 Aug 2013) | 10 lines

MFV r254070:

Merge vendor bugfix for ZFS test suite that triggers false positives.

Illumos ZFS issues:
  3949 ztest fault injection should avoid resilvering devices
  3950 ztest: deadman fires when we're doing a scan
  3951 ztest hang when running dedup test
  3952 ztest: ztest_reguid test and ztest_fault_inject don't place nice tog=
ether

------------------------------------------------------------------------
r254076 | adrian | 2013-08-07 22:01:43 +0000 (Wed, 07 Aug 2013) | 2 lines

Allow net80211 to compile on stable/9 and stable/8.

------------------------------------------------------------------------
r254077 | delphij | 2013-08-07 22:21:00 +0000 (Wed, 07 Aug 2013) | 23 lines

MFV r254071:

Fix a regression introduced by fix for Illumos bug #3834.  Quote from
Matthew Ahrens on the Illumos issue:

ztest fails this assertion because ztest_dmu_read_write() does
        dmu_tx_hold_free(tx, bigobj, bigoff, bigsize);
and then
    dmu_object_set_checksum(os, bigobj,
        (enum zio_checksum)ztest_random_dsl_prop(ZFS_PROP_CHECKSUM), tx);

If the region to free is past the end of the file, the DMU assumes that the=
re
will be nothing to do for this object.  However, ztest does set_checksum(),
which must modify the dnode.  The fix is for ztest to also call

    dmu_tx_hold_bonus(tx, bigobj);

so we can account for the dirty data associated with setting the checksum

Illumos ZFS issues:
  3955 ztest failure: assertion refcount_count(&tx->tx_space_written)
         + delta <=3D tx->tx_space_towrite

------------------------------------------------------------------------
r254080 | peter | 2013-08-08 01:53:27 +0000 (Thu, 08 Aug 2013) | 7 lines

Our libc iconv (unlike gnu iconv and the citrus code in NetBSD) has a
bypass mode when src =3D=3D dst.  Unfortunately, there are tools in ports
that pass byte streams through iconv to determine if the encodings
are valid.  eg: gettext-0.18.3+.

Disable the optimization and behave like the other implementations.

------------------------------------------------------------------------
r254081 | neel | 2013-08-08 03:17:39 +0000 (Thu, 08 Aug 2013) | 7 lines

Use local variables with the appropriate types and eliminate a bunch of cas=
ts.

This is a cosmetic change but it does help with a proposed change to increa=
se
the maximum size of physical memory supported on amd64 platforms.

Submitted by:	Chris Torek (torek@torek.net)

------------------------------------------------------------------------
r254082 | adrian | 2013-08-08 05:09:35 +0000 (Thu, 08 Aug 2013) | 23 lines

Convert net80211 over to using if_transmit for the dispatch from the
upper layer(s).

This eliminates the if_snd queue from net80211. Yay!

This unfortunately has a few side effects:

* It breaks ALTQ to net80211 for now - sorry everyone, but fixing
  parallelism and eliminating the if_snd queue is more important
  than supporting this broken traffic scheduling model. :-)

* There's no VAP and IC flush methods just yet - I think I'll add
  some NULL methods for now just as placeholders.

* It reduces throughput a little because now net80211 will drop packets
  rather than buffer them if the driver doesn't do its own buffering.
  This will be addressed in the future as I implement per-node software
  queues.

Tested:

* ath(4) and iwn(4) in STA operation

------------------------------------------------------------------------
r254085 | adrian | 2013-08-08 05:52:41 +0000 (Thu, 08 Aug 2013) | 12 lines

Cap the number of streams supported to two for now.

I haven't yet reviewed the Intel driver(s) in more depth to see if
there are 1x1 NICs that report they support 2 transmit/receive chains..
if so then we'll have to update this.

Tested:

* Intel 4965, which is a 2x2 device with 3 RX and 2 TX chains.

PR:		kern/181132

------------------------------------------------------------------------
r254091 | ache | 2013-08-08 09:04:02 +0000 (Thu, 08 Aug 2013) | 9 lines

According to POSIX \ in the fnmatch(3) pattern should escape
any character including '\0', but our version replace escaped '\0'
with '\\'.
I.e. fnmatch("\\", "\\", 0) should not match while fnmatch("\\", "", 0)
should (Linux and NetBSD does the same). Was vice versa.

PR:     181129
MFC after:      1 week

------------------------------------------------------------------------
r254092 | ae | 2013-08-08 11:24:25 +0000 (Thu, 08 Aug 2013) | 6 lines

Make the check for number of entries less strict.
Some partitioning tools can create GPT with number of entries less
than 128.

MFC after:	1 week

------------------------------------------------------------------------
r254093 | ache | 2013-08-08 11:53:47 +0000 (Thu, 08 Aug 2013) | 6 lines

Part of r245761 makes "grep -D skip" broken for pipes, i.e.
	echo xxx | grep -D skip xxx
returns nothing. Instead of just removing added S_ISFIFO condition
(originally absent in this version of grep), make it work as latest
GNU version does: don't skip directories and devices if fd =3D=3D STDIN_FIL=
ENO.

------------------------------------------------------------------------
r254094 | gjb | 2013-08-08 15:59:00 +0000 (Thu, 08 Aug 2013) | 17 lines

When newvers.sh is run, it is possible that the svnversion
(or svnliteversion) in the current lookup path is not what
was used to check out the tree.  If an incompatible version
is used, the svn revision number is not reported in uname(1).

Run ${svnversion} on newvers.sh itself when evaluating if the
svn(1) in use is compatible with the tree.  Fallback to an
empty ${svnversion} if necessary.

With this change, svnliteversion from base is only used
if no compatible svnversion is found, so with this change,
the version of svn(1) from the ports tree is evaluated first.

Requested by:	many
MFC after:	3 days
X-MFC-To:	stable/9, releng/9.2 only

------------------------------------------------------------------------
r254095 | ae | 2013-08-08 16:09:20 +0000 (Thu, 08 Aug 2013) | 7 lines

gpt_entries is used as limit for the number of partition entries in
the GEOM_PART. Instead of just using number of entries from the GPT
header, calculate this limit based on the reserved space between
GPT header and first available LBA.

MFC after:	2 weeks

------------------------------------------------------------------------
r254100 | rstone | 2013-08-08 19:30:49 +0000 (Thu, 08 Aug 2013) | 7 lines

Allow drivers to return BUS_PROBE_NOWILDCARD from their attach routine to
match devices where the driver class was fixed but the unit number was
wildcarded.  This better matches the documented behaviour in
DEVICE_PROBE(9).

Reviewed by:	imp

------------------------------------------------------------------------
r254104 | pfg | 2013-08-08 22:07:59 +0000 (Thu, 08 Aug 2013) | 4 lines

Small typo.

MFC after:	3 days

------------------------------------------------------------------------
r254105 | dteske | 2013-08-08 22:09:46 +0000 (Thu, 08 Aug 2013) | 3 lines

Since the introduction of SVN r244048 and [follow-up] r244089, it is now
safe to build upon ``boot_serial?'' functionality to make safer UI choices.

------------------------------------------------------------------------
r254107 | delphij | 2013-08-08 22:29:35 +0000 (Thu, 08 Aug 2013) | 11 lines

MFV r254106 (OpenSSL bugfix for RT #2984):

Check DTLS_BAD_VER for version number.

The version check for DTLS1_VERSION was redundant as
DTLS1_VERSION > TLS1_1_VERSION, however we do need to
check for DTLS1_BAD_VER for compatibility.

Requested by:	zi
Approved by:	benl

------------------------------------------------------------------------
r254108 | dteske | 2013-08-08 22:34:00 +0000 (Thu, 08 Aug 2013) | 3 lines

Update legacy static assignments in old code to support dynamic framing,
plotting, and alignment coinciding with enhancements in SVN r242667.

------------------------------------------------------------------------
r254112 | delphij | 2013-08-08 23:38:31 +0000 (Thu, 08 Aug 2013) | 11 lines

MFV r254079:

Illumos ZFS issues:
  3957 ztest should update the cachefile before killing itself
  3958 multiple scans can lead to partial resilvering
  3959 ddt entries are not always resilvered
  3960 dsl_scan can skip over dedup-ed blocks if
       physical birth !=3D logical birth
  3961 freed gang blocks are not resilvered and can cause pool to suspend
  3962 ztest should print out zfs debug buffer before exiting

------------------------------------------------------------------------
r254115 | scottl | 2013-08-09 01:04:44 +0000 (Fri, 09 Aug 2013) | 5 lines

Add a helpful message that can help point to why a sysctl tree removal fail=
ed

Obtained from:	Netflix
MFC after:	3 days

------------------------------------------------------------------------
r254116 | scottl | 2013-08-09 01:09:02 +0000 (Fri, 09 Aug 2013) | 9 lines

Sometimes a device misbehaves so badly that it disrupts the entire system.
Add a tunable that allows such a device to be excluded from the driver.
The id parameter is the target id that the driver assigns to a given device.

dev.mps.X.exclude_ids=3D<id>,<id>

Obtained from:	Netflix
MFC after:	3 days

------------------------------------------------------------------------
r254117 | scottl | 2013-08-09 01:10:33 +0000 (Fri, 09 Aug 2013) | 5 lines

Rate limit the 'out of chain frame' messages to once per 60 seconds.

Obtained from:	Netflix
MFC after:	3 days

------------------------------------------------------------------------
r254118 | yongari | 2013-08-09 01:15:32 +0000 (Fri, 09 Aug 2013) | 9 lines

Fix for IPv4 fragment packets treated as RMCP.

bit25 of rxMode MAC register of 5762 needs to be set for rx mgmt
filter to work correctly when processing match for UDP header
fields.  Otherwise false positive can occur which causes IPv4
fragment to be received by APE instead of host.

Reported by:	Geans Pin <geanspin@broadcom.com>

------------------------------------------------------------------------
r254120 | jeff | 2013-08-09 03:24:12 +0000 (Fri, 09 Aug 2013) | 4 lines

 - Use the correct type in the linux bitops emulation.

Submitted by:	Maxim Ignatenko <gelraen.ua@gmail.com>

------------------------------------------------------------------------
r254121 | jeff | 2013-08-09 03:24:48 +0000 (Fri, 09 Aug 2013) | 4 lines

 - Correctly handle various edge cases in sysfs emulation.

Sponsored by:	EMC / Isilon Storage Division

------------------------------------------------------------------------
r254122 | jeff | 2013-08-09 03:26:17 +0000 (Fri, 09 Aug 2013) | 5 lines

 - Reserve a special AF for SDP.  The one we were incorrectly using before
   was taken by another AF.

Sponsored by:	EMC / Isilon Storage Division

------------------------------------------------------------------------
r254123 | jeff | 2013-08-09 03:29:46 +0000 (Fri, 09 Aug 2013) | 6 lines

 - Fix compile errors from the clang conversion
 - Grab AF_SDP_INET from sys/socket.h

Submitted by:	Garrett Cooper
Sponsored by:	EMC / Isilon Storage Division

------------------------------------------------------------------------
r254132 | erwin | 2013-08-09 07:57:04 +0000 (Fri, 09 Aug 2013) | 6 lines

Add empty zones for Shared Address Space (RFC 6598)

Approved by:	delphij (mentor)
MFC after:	3 days
Sponsored by:	DK Hostmaster A/S

------------------------------------------------------------------------
r254133 | avg | 2013-08-09 08:11:09 +0000 (Fri, 09 Aug 2013) | 8 lines

follow up to r254051

- update powerpc/GENERIC64 as well, suggested by mdf
- update comments so that they make sense after the change, suggested by
  jhb

X-MFC after:	never (change specific to head)

------------------------------------------------------------------------
r254134 | trasz | 2013-08-09 08:38:51 +0000 (Fri, 09 Aug 2013) | 4 lines

Add -c flag to pgrep(1) and pkill(1), to match login classes.

MFC after:	1 month

------------------------------------------------------------------------
r254135 | trasz | 2013-08-09 08:40:31 +0000 (Fri, 09 Aug 2013) | 6 lines

Don't dereference null pointer should acl_alloc() be passed M_NOWAIT
and allocation failed.  Nothing in the tree passed M_NOWAIT.

Obtained from:	mjg
MFC after:	1 month

------------------------------------------------------------------------
r254138 | attilio | 2013-08-09 11:11:11 +0000 (Fri, 09 Aug 2013) | 28 lines

The soft and hard busy mechanism rely on the vm object lock to work.
Unify the 2 concept into a real, minimal, sxlock where the shared
acquisition represent the soft busy and the exclusive acquisition
represent the hard busy.
The old VPO_WANTED mechanism becames the hard-path for this new lock
and it becomes per-page rather than per-object.
The vm_object lock becames an interlock for this functionality:
it can be held in both read or write mode.
However, if the vm_object lock is held in read mode while acquiring
or releasing the busy state, the thread owner cannot make any
assumption on the busy state unless it is also busying it.

Also:
- Add a new flag to directly shared busy pages while vm_page_alloc
  and vm_page_grab are being executed.  This will be very helpful
  once these functions happen under a read object lock.
- Move the swapping sleep into its own per-object flag

The KPI is heavilly changed this is why the version is bumped.
It is very likely that some VM ports users will need to change
their own code.

Sponsored by:	EMC / Isilon storage division
Discussed with:	alc
Reviewed by:	jeff, kib
Tested by:	gavin, bapt (older version)
Tested by:	pho, scottl

------------------------------------------------------------------------
r254139 | attilio | 2013-08-09 11:24:29 +0000 (Fri, 09 Aug 2013) | 9 lines

Give mutex(9) the ability to recurse on a per-instance basis.
Now the MTX_RECURSE flag can be passed to the mtx_*_flag() calls.
This helps in cases we want to narrow down to specific calls the
possibility to recurse for some locks.

Sponsored by:	EMC / Isilon storage division
Reviewed by:	jeff, alc
Tested by:	pho

------------------------------------------------------------------------
r254141 | attilio | 2013-08-09 11:28:55 +0000 (Fri, 09 Aug 2013) | 20 lines

On all the architectures, avoid to preallocate the physical memory
for nodes used in vm_radix.
On architectures supporting direct mapping, also avoid to pre-allocate
the KVA for such nodes.

In order to do so make the operations derived from vm_radix_insert()
to fail and handle all the deriving failure of those.

vm_radix-wise introduce a new function called vm_radix_replace(),
which can replace a leaf node, already present, with a new one,
and take into account the possibility, during vm_radix_insert()
allocation, that the operations on the radix trie can recurse.
This means that if operations in vm_radix_insert() recursed
vm_radix_insert() will start from scratch again.

Sponsored by:	EMC / Isilon storage division
Reviewed by:	alc (older version)
Reviewed by:	jeff
Tested by:	pho, scottl

------------------------------------------------------------------------
r254147 | obrien | 2013-08-09 15:31:50 +0000 (Fri, 09 Aug 2013) | 25 lines

* Add random_adaptors.[ch] which is basically a store of random_adaptor's.
  random_adaptor is basically an adapter that plugs in to random(4).
  random_adaptor can only be plugged in to random(4) very early in bootup.
  Unplugging random_adaptor from random(4) is not supported, and is probabl=
y a
  bad idea anyway, due to potential loss of entropy pools.
  We currently have 3 random_adaptors:
  + yarrow
  + rdrand (ivy.c)
  + nehemeiah

* Remove platform dependent logic from probe.c, and move it into
  corresponding registration routines of each random_adaptor provider.
  probe.c doesn't do anything other than picking a specific random_adaptor
  from a list of registered ones.

* If the kernel doesn't have any random_adaptor adapters present then the
  creation of /dev/random is postponed until next random_adaptor is kldload=
'ed.

* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a
  system wide one.

Submitted by: arthurmesh@gmail.com, obrien
Obtained from: Juniper Networks
Reviewed by: so (des)

------------------------------------------------------------------------
r254150 | obrien | 2013-08-09 16:43:50 +0000 (Fri, 09 Aug 2013) | 2 lines

Add missing 'VPO_BUSY' from r254141 to fix kernel build break.

------------------------------------------------------------------------
r254151 | jilles | 2013-08-09 17:24:23 +0000 (Fri, 09 Aug 2013) | 5 lines

Add mkostemp() and mkostemps().

These are like mkstemp() and mkstemps() but allow passing open(2) flags like
O_CLOEXEC.

------------------------------------------------------------------------
r254155 | marcel | 2013-08-09 19:10:56 +0000 (Fri, 09 Aug 2013) | 4 lines

Fix the freaddir implementation for the stand-alone interpreter.

Bug pointed out by: Jan Beich <jbeich@tormail.org>

------------------------------------------------------------------------
r254159 | hselasky | 2013-08-09 20:08:42 +0000 (Fri, 09 Aug 2013) | 12 lines

Initial commit of my USB test code which can exercise connected USB
devices and the FreeBSD USB stack itself. This program can be used to
test compliance against well established usb.org standards, also
called chapter-9 tests. The host platform can act as either USB device
or USB host depending on the available hardware. The basic USB
communication happens through FreeBSD's own libusb v2, and some
sysctls are also used to invoke specific error conditions. This test
program can be used to verify correct operation of external USB
harddisks under heavy load and various other conditions. The software
is driven via a simple command line interface. Main supported USB host
classes are "USB mass storage" and "USB modems".

------------------------------------------------------------------------
r254163 | jhb | 2013-08-09 21:14:55 +0000 (Fri, 09 Aug 2013) | 5 lines

Revert the addition of VPO_BUSY and instead update vm_page_replace() to
properly unbusy the page.

Submitted by:	alc

------------------------------------------------------------------------
r254164 | cognet | 2013-08-09 21:53:02 +0000 (Fri, 09 Aug 2013) | 3 lines

Make sure vm_kmem_size is aligned on a page boundary, since that's what vmem
expects.

------------------------------------------------------------------------
r254165 | cognet | 2013-08-09 21:56:28 +0000 (Fri, 09 Aug 2013) | 3 lines

- The address lies in the bus space handle, not in the cookie
- Use the right address when calling kva_free()

------------------------------------------------------------------------
r254166 | cognet | 2013-08-09 22:30:54 +0000 (Fri, 09 Aug 2013) | 5 lines

Instead of just trying to do it for arm, make sure vm_kmem_size is properly
aligned in kmeminit(), where it'll work for any arch.

Suggested by:	alc

------------------------------------------------------------------------
r254167 | cognet | 2013-08-09 23:13:52 +0000 (Fri, 09 Aug 2013) | 4 lines

Don't call sleepinit() from proc0_init(), make it a SYSINIT instead.
vmem needs the sleepq locks to be initialized when free'ing kva, so we want=
 it
called as early as possible.

------------------------------------------------------------------------
r254168 | zont | 2013-08-09 23:47:43 +0000 (Fri, 09 Aug 2013) | 4 lines

Remove unused definition for CTL_VM_NAMES.

Suggested by:	bde

------------------------------------------------------------------------
r254171 | cognet | 2013-08-10 00:31:49 +0000 (Sat, 10 Aug 2013) | 5 lines

- The address lies in the bus space handle, not in the cookie
- Use the right address when calling kva_free()
(Is there any reason why the s3c2xx0 comes with its own version of bs_map/
 bs_unmap ? It seems to be just the same as in bus_space_generic.c)

------------------------------------------------------------------------
r254172 | cognet | 2013-08-10 00:53:22 +0000 (Sat, 10 Aug 2013) | 5 lines

Use the correct address when calling kva_free()

Pointy hat to:	cognet
Spotted out by:	alc

------------------------------------------------------------------------
r254173 | alfred | 2013-08-10 01:48:15 +0000 (Sat, 10 Aug 2013) | 5 lines

Fix bug in r253719: fix command line watchdog disable.

r253719 disallowed watchdog(8) from disabling the watchdog
by breaking the ability to pass 0 as a timeout arg.  Fix this.

------------------------------------------------------------------------
r254174 | joel | 2013-08-10 06:37:53 +0000 (Sat, 10 Aug 2013) | 2 lines

mdoc: document title should be all caps.

------------------------------------------------------------------------
r254175 | joel | 2013-08-10 06:39:42 +0000 (Sat, 10 Aug 2013) | 2 lines

Minor mdoc nits.

------------------------------------------------------------------------
r254176 | joel | 2013-08-10 06:48:20 +0000 (Sat, 10 Aug 2013) | 2 lines

mdoc: remove commented out macro, sort SEE ALSO and add missing .El.

------------------------------------------------------------------------
r254177 | rpaulo | 2013-08-10 07:39:15 +0000 (Sat, 10 Aug 2013) | 3 lines

Fix the return value when we found a symbol in .dynstr. This nasty bug was
preventing a lot of symbol lookups in dtruss -s, for example.

------------------------------------------------------------------------
r254182 | kib | 2013-08-10 17:36:42 +0000 (Sat, 10 Aug 2013) | 16 lines

Different consumers of the struct vm_page abuse pageq member to keep
additional information, when the page is guaranteed to not belong to a
paging queue.  Usually, this results in a lot of type casts which make
reasoning about the code correctness harder.

Sometimes m->object is used instead of pageq, which could cause real
and confusing bugs if non-NULL m->object is leaked.  See r141955 and
r253140 for examples.

Change the pageq member into a union containing explicitly-typed
members.  Use them instead of type-punning or abusing m->object in x86
pmaps, uma and vm_page_alloc_contig().

Requested and reviewed by:	alc
Sponsored by:	The FreeBSD Foundation

------------------------------------------------------------------------
r254184 | gjb | 2013-08-10 18:23:18 +0000 (Sat, 10 Aug 2013) | 5 lines

Fix a typo.  The script should run /usr/bin/svnliteversion instead of
/usr/bin/svnversion in the affected section.

Reported by:	lev, Dan Mack

------------------------------------------------------------------------
r254185 | kib | 2013-08-10 18:23:28 +0000 (Sat, 10 Aug 2013) | 3 lines

Restore the ability to kldload random.ko, by linking in the newly
added random_adaptors.c.

------------------------------------------------------------------------
r254190 | kib | 2013-08-10 19:38:29 +0000 (Sat, 10 Aug 2013) | 5 lines

The random_adapters.c is standard in the conf/files.  Revert wrong
r254185.

Pointed out by:	peter

------------------------------------------------------------------------
r254191 | kib | 2013-08-10 20:54:15 +0000 (Sat, 10 Aug 2013) | 7 lines

Match malloc(9) calls with free(9), not contigfree(9).  Also remove
unneeded checks for NULL, free(9) can handle NULL pointers on its own,
and the regions were allocated with M_WAITOK flag as well.

Reported and tested by:	Larry Rosenman <ler@lerctr.org>
MFC after:	1 week

------------------------------------------------------------------------
r254194 | sjg | 2013-08-10 21:31:35 +0000 (Sat, 10 Aug 2013) | 4 lines

ParseGetLine: don't treat a zero byte as end of buffer if P_end says it isn=
't.
Consume up to next newline, and issue a parse warning.
If no newline found before P_end, carry on as before.

------------------------------------------------------------------------
r254195 | kib | 2013-08-10 21:42:14 +0000 (Sat, 10 Aug 2013) | 11 lines

The r254167 moved initialization of the sleepqueues before the witness
is operational.  init_sleepqueues() initializes 256 mutexes, which,
due to witness still being cold, started to overflow the pending_locks
array.

As stated in the reported panic message, increase WITNESS_PENDLIST
=66rom 768 to 1024, which provides space for additional 256 locks.

Reported by:	many
Tested by:	rakuco, bdrewery

------------------------------------------------------------------------
r254196 | adrian | 2013-08-10 21:46:58 +0000 (Sat, 10 Aug 2013) | 2 lines

Add in missing m_free()'s during error conditions.

------------------------------------------------------------------------
r254197 | rpaulo | 2013-08-10 23:17:09 +0000 (Sat, 10 Aug 2013) | 4 lines

Load the dtraceall module if /dev/dtrace/dtrace doesn't exist.

MFC after:	3 days

------------------------------------------------------------------------
r254198 | rpaulo | 2013-08-11 00:57:01 +0000 (Sun, 11 Aug 2013) | 8 lines

fasttrap_fork(): unlock the processes before removing the tracepoints.

In the future, we'll need to come up with new proc_*() functions that accept
locked processes. For now, this prevents postgresql + DTrace from crashing =
the
system.

MFC after:	1 month

------------------------------------------------------------------------
r254199 | adrian | 2013-08-11 01:03:32 +0000 (Sun, 11 Aug 2013) | 4 lines

Update the 6000g2a image.

Obtained from:	Linux, Intel

------------------------------------------------------------------------
r254200 | adrian | 2013-08-11 01:04:07 +0000 (Sun, 11 Aug 2013) | 2 lines

Remove a now-unused firmware.

------------------------------------------------------------------------
r254202 | adrian | 2013-08-11 01:09:16 +0000 (Sun, 11 Aug 2013) | 5 lines

Add firmware for the Intel 2030 and variants.

Submitted by:	Cedric GROSS <cg@gross.info>
Obtained from:	Linux, Intel

------------------------------------------------------------------------
r254204 | adrian | 2013-08-11 01:57:54 +0000 (Sun, 11 Aug 2013) | 15 lines

Prepare for the PAN (personal area network) support for iwn(4).

* Break out the single, static RX context into a pointer, and ..
* .. extend it to two RX contexts - a default and a PAN context.

Whilst here, add a few extra fields in preparation for further iwn(4)
work.

Tested:

* Intel 4965, STA mode - same level of stability
* Intel 5100, STA mode - no change

Submitted by:	Cedric Gross <cg@gross.info>

------------------------------------------------------------------------
r254206 | adrian | 2013-08-11 03:39:28 +0000 (Sun, 11 Aug 2013) | 8 lines

Use the correct structure size when flipping the BT coex state machine.

This showed up when doing some basic testing on the Intel 6230.

Tested:

* Intel 6230, STA mode

------------------------------------------------------------------------
r254207 | rpaulo | 2013-08-11 06:57:57 +0000 (Sun, 11 Aug 2013) | 2 lines

Use device_printf().

------------------------------------------------------------------------
r254213 | peter | 2013-08-11 10:35:38 +0000 (Sun, 11 Aug 2013) | 2 lines

Bootstrap svn:mergeinfo as of the 2008 run of cvs2svn.

------------------------------------------------------------------------
r254215 | trasz | 2013-08-11 11:06:49 +0000 (Sun, 11 Aug 2013) | 5 lines

In su(1), fix option ordering and clarify that the login class specified
must be defined in login.conf.

MFC after:	1 month

------------------------------------------------------------------------
r254217 | gjb | 2013-08-11 13:57:14 +0000 (Sun, 11 Aug 2013) | 6 lines

Use realpath(1) to determine the location of the newvers.sh script,
since the current working directory might not be what is expected,
causing svn{,lite}version to fail to find ${0} (itself).

Submitted by:	Dan Mack

------------------------------------------------------------------------
r254218 | jilles | 2013-08-11 14:15:01 +0000 (Sun, 11 Aug 2013) | 2 lines

wait: Make sure WIFSIGNALED(s) is false if WIFCONTINUED(s) is true.

------------------------------------------------------------------------
r254222 | jilles | 2013-08-11 15:38:48 +0000 (Sun, 11 Aug 2013) | 6 lines

db/hash: Use O_CLOEXEC instead of separate fcntl() call.

In particular, a hash db is used by getpwnam() and getpwuid().

MFC after:	1 week


--doUn1Hmx68n+7ij2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="changelog-stable-9-r253930-r254222.txt"

------------------------------------------------------------------------
r254000 | jfv | 2013-08-06 17:11:12 +0000 (Tue, 06 Aug 2013) | 6 lines

MFC r253865: Fixes to RX_COPY optimization code allowing the removal of the rearm_queues
             routine used in local_timer.
    r253965: Correct the queue mask bit clearing in the link interrupt handler.

Approved by: re

------------------------------------------------------------------------
r254003 | jfv | 2013-08-06 18:20:31 +0000 (Tue, 06 Aug 2013) | 4 lines

When the igb driver is static there are cases when early interrupts occur,
resulting in a panic in refresh_mbufs, to prevent this add a check in the
interrupt handler for DRV_RUNNING.

------------------------------------------------------------------------
r254006 | jhb | 2013-08-06 19:23:57 +0000 (Tue, 06 Aug 2013) | 11 lines

MFC 253048,253423,253449,253653,253774,253785:
- Allow mlx4 devices to switch between Ethernet and Infiniband:
  - Fix sysfs attribute handling by using sysctl_handle_string() and
    properly handling trailing newlines in attribute values.
  - Remove check forbidding requests that would result in one port being
    set to Ethernet and the subsequent port being set to IB.
- Avoid trashing IP fragments by correctly managing hardware checksumming.
- Fix panics when downing or unloading the mlx4 driver.

PR:		kern/179999, kern/174213, kern/180430, kern/180791

------------------------------------------------------------------------
r254022 | kib | 2013-08-07 05:52:11 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r253497:
Use the right name for the vm_map_find(9) flag to specify shared mapping.

------------------------------------------------------------------------
r254023 | kib | 2013-08-07 05:55:02 +0000 (Wed, 07 Aug 2013) | 4 lines

MFC r253709:
The pmap_qenter() and pmap_qremove() perform TLB invalidation on its
own, no need to call pmap_invalidate_range() one more time.

------------------------------------------------------------------------
r254024 | kib | 2013-08-07 06:05:57 +0000 (Wed, 07 Aug 2013) | 7 lines

MFC r253417:
Clear the vnode knotes before destroying vpollinfo.

MFC r253737:
Split the destruction into the helper destroy_vpollinfo_free(), and
call it when raced, instead of destroy_vpollinfo().

------------------------------------------------------------------------
r254028 | kib | 2013-08-07 06:34:01 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r253328:
Create a proper stack frame for i386 version of bcopy().

------------------------------------------------------------------------
r254029 | kib | 2013-08-07 06:36:48 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r253525:
Use the same union name on the left and right sides of the conversion.

------------------------------------------------------------------------
r254030 | kib | 2013-08-07 06:39:19 +0000 (Wed, 07 Aug 2013) | 5 lines

MFC r253526:
Fix several warnings.
Fix crash in aio_pty_cleanup() by initializing the pointer before
dereferencing.

------------------------------------------------------------------------
r254032 | kib | 2013-08-07 07:24:20 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r253352:
MFi386: add ddb "show sysregs" command.

------------------------------------------------------------------------
r254033 | avg | 2013-08-07 07:27:49 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r253076: rc.d/zfs: pass -v option to zfs mount

------------------------------------------------------------------------
r254035 | avg | 2013-08-07 07:31:21 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r253067: zfsboottest: sync with changes in zfs boot code

------------------------------------------------------------------------
r254037 | avg | 2013-08-07 07:32:56 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r253068: zfsboottest.sh: remove checks for things that are not
strictly required

------------------------------------------------------------------------
r254039 | avg | 2013-08-07 07:34:51 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r253605: zfsboottest: remove explicit -Werror

------------------------------------------------------------------------
r254041 | avg | 2013-08-07 07:36:28 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r253072: amd64: use -mno-omit-leaf-frame-pointer in addition to
-fno-omit-frame-pointer

------------------------------------------------------------------------
r254043 | avg | 2013-08-07 07:38:11 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r253601: newvers.sh: fix the fallback case of git-svn detection

------------------------------------------------------------------------
r254045 | avg | 2013-08-07 07:39:44 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r253602: newvers.sh: add another git-svn fallback

------------------------------------------------------------------------
r254047 | avg | 2013-08-07 07:41:48 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r253070: zfs: load zpool.cache after a root fs is mounted

------------------------------------------------------------------------
r254049 | avg | 2013-08-07 07:44:03 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r253073: zfs: try to properly handle i/o errors in mappedread_sf

------------------------------------------------------------------------
r254053 | kib | 2013-08-07 09:18:21 +0000 (Wed, 07 Aug 2013) | 8 lines

Revert the MFC of the r244237, done as r244806.  There are indeed bugs
in XEN pmap.  The revert hides a panic with the cost of non-working
vfork(2), which means more obscure misbehaviour in the usermode.
Revert is only done on the stable branch to maintain the consistent
erratic behaviour.

PR:	kern/180788

------------------------------------------------------------------------
r254063 | dteske | 2013-08-07 16:01:45 +0000 (Wed, 07 Aug 2013) | 14 lines

Sync-up bsdinstall(8)/bsdconfig(8) list of mirrors.

SVN r253543:
Update mirror list to more closely match
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html

SVN r253545:
Sync-up with bsdinstall(8) FTP mirrorselect changes.

SVN r253566:
Remove ftp2.tr.freebsd.org, it is out of date.

Reviewed by:	gjb

------------------------------------------------------------------------
r254066 | kib | 2013-08-07 17:07:42 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r245055 (by neel):
Add macros required to enable VMX operation on Intel processors.

------------------------------------------------------------------------
r254069 | delphij | 2013-08-07 19:42:17 +0000 (Wed, 07 Aug 2013) | 2 lines

MFC r250261: Update zlib to 1.2.8.

------------------------------------------------------------------------
r254075 | marcel | 2013-08-07 21:51:19 +0000 (Wed, 07 Aug 2013) | 3 lines

MFC r245347: Add color.4th.
MFC r253919: Fix the bootable CD.

------------------------------------------------------------------------
r254083 | kib | 2013-08-08 05:35:58 +0000 (Thu, 08 Aug 2013) | 3 lines

MFC r253859:
Remove unused malloc type.

------------------------------------------------------------------------
r254086 | kib | 2013-08-08 06:00:42 +0000 (Thu, 08 Aug 2013) | 4 lines

MFC r253187:
Do not invalidate page of the B_NOCACHE buffer or buffer after an I/O
error if any user wired mappings exist.

------------------------------------------------------------------------
r254087 | kib | 2013-08-08 06:03:34 +0000 (Thu, 08 Aug 2013) | 5 lines

MFC r253188:
In the vm_page_set_invalid() function, do not assert that the page is
not busy, since its only caller brelse() can legitimately call it on
busy page.

------------------------------------------------------------------------
r254088 | kib | 2013-08-08 06:07:28 +0000 (Thu, 08 Aug 2013) | 10 lines

MFC r253189:
Never remove user-wired pages from an object when doing
msync(MS_INVALIDATE).  The vm_fault_copy_entry() requires that object
range which corresponds to the user-wired vm_map_entry, is always
fully populated.

Add OBJPR_NOTWIRED flag for vm_object_page_remove() to request the
preserving behaviour, use it when calling vm_object_page_remove() from
vm_object_sync().

------------------------------------------------------------------------
r254089 | kib | 2013-08-08 06:12:29 +0000 (Thu, 08 Aug 2013) | 5 lines

MFC r253190:
Add the thread owner of the MAP_ENTRY_IN_TRANSITION flag to struct
vm_map_entry.  In vm_map_wire() and vm_map_unwire(), only process the
entries which transition owner is the current thread.

------------------------------------------------------------------------
r254090 | kib | 2013-08-08 06:15:58 +0000 (Thu, 08 Aug 2013) | 12 lines

MFC r253191:
The vm_fault() should not be allowed to proceed on the map entry which
is being wired now.  The entry wired count is changed to non-zero in
advance, before the map lock is dropped.  This makes the vm_fault() to
perceive the entry as wired, and breaks the fragment which moves the
wire count from the shadowed page, to the upper page, making the code
unwiring non-wired page.

On the other hand, the vm_fault() calls from vm_fault_wire() should be
allowed to proceed, so only drain MAP_ENTRY_IN_TRANSITION from
vm_fault() when wiring_thread is not current.

------------------------------------------------------------------------
r254096 | hrs | 2013-08-08 17:20:09 +0000 (Thu, 08 Aug 2013) | 10 lines

MFC 253887,253977:

- Use pget(PGET_CANDEBUG | PGET_NOTWEXIT) to determine if the specified
  PID is valid for monitoring in FILEMON_SET_PID ioctl.

- Set the monitored PID to -1 when the process exits.

Suggested by:	jilles
Tested by:	sjg

------------------------------------------------------------------------
r254097 | jfv | 2013-08-08 17:21:59 +0000 (Thu, 08 Aug 2013) | 2 lines

Clearing the rxbuf flags got lost along the way... adding it back.

------------------------------------------------------------------------
r254099 | hrs | 2013-08-08 18:40:19 +0000 (Thu, 08 Aug 2013) | 2 lines

Record r253176 and r253179 into svn:mergeinfo.

------------------------------------------------------------------------
r254109 | dteske | 2013-08-08 22:49:18 +0000 (Thu, 08 Aug 2013) | 8 lines

Synchronize stable/9 Forth code with head via MFC of 22 revisions:
227727, 233941, 235560, 238431, 241310, 241361, 241363, 241365, 241367,
241523, 242667-242669, 242923, 243114, 243660, 244048, 244089, 244158,
253715, 254105, and 254108.

This includes critical fixes that sadly should have been merged prior.
Namely, SVN r244158 fixes a possible regression.

------------------------------------------------------------------------
r254113 | dteske | 2013-08-08 23:53:47 +0000 (Thu, 08 Aug 2013) | 3 lines

Commit missing mergeinfo for SVN r254109 (commit performed in wrong sub-
dir of where the merge was done -- pointy-hat).

------------------------------------------------------------------------
r254114 | jfv | 2013-08-09 00:39:20 +0000 (Fri, 09 Aug 2013) | 4 lines

MFC 235964,236311,247505
	Add the INET opt file creation, module name change, and include
	making the Makefile match HEAD.

------------------------------------------------------------------------
r254119 | delphij | 2013-08-09 01:27:05 +0000 (Fri, 09 Aug 2013) | 2 lines

Fixup mergeinfo.

------------------------------------------------------------------------
r254125 | kib | 2013-08-09 06:01:52 +0000 (Fri, 09 Aug 2013) | 8 lines

MFC r253527:
Move the convert_sigevent32() utility function into freebsd32_misc.c
for consumption outside the vfs_aio.c.

For SIGEV_THREAD_ID and SIGEV_SIGNAL notification delivery methods,
also copy in the sigev_value, since librt event pumping loop compares
note generation number with the value passed through sigev_value.

------------------------------------------------------------------------
r254126 | kib | 2013-08-09 06:20:59 +0000 (Fri, 09 Aug 2013) | 3 lines

MFC r253528:
The freebsd32_lio_listio() compat syscall takes the struct sigevent32.

------------------------------------------------------------------------
r254127 | kib | 2013-08-09 06:23:22 +0000 (Fri, 09 Aug 2013) | 2 lines

Regenerate.

------------------------------------------------------------------------
r254128 | kib | 2013-08-09 06:25:31 +0000 (Fri, 09 Aug 2013) | 4 lines

MFC r253529:
Wrap kmq_notify(2) for compat32 to properly consume struct sigevent32
argument.

------------------------------------------------------------------------
r254129 | kib | 2013-08-09 06:27:20 +0000 (Fri, 09 Aug 2013) | 2 lines

Regenerate.

------------------------------------------------------------------------
r254130 | kib | 2013-08-09 06:51:34 +0000 (Fri, 09 Aug 2013) | 3 lines

MFC r253530:
Implement compat32 wrappers for the ktimer_* syscalls.

------------------------------------------------------------------------
r254131 | kib | 2013-08-09 06:54:52 +0000 (Fri, 09 Aug 2013) | 2 lines

Regenerate.

------------------------------------------------------------------------
r254136 | theraven | 2013-08-09 09:34:11 +0000 (Fri, 09 Aug 2013) | 2 lines

MFC alignment fix for libcxxrt.

------------------------------------------------------------------------
r254144 | gjb | 2013-08-09 12:19:38 +0000 (Fri, 09 Aug 2013) | 3 lines

releng/9.2 was branched, so call this -PRERELEASE again for the duration
of the 9.2-RELEASE cycle.

------------------------------------------------------------------------
r254146 | dteske | 2013-08-09 14:17:47 +0000 (Fri, 09 Aug 2013) | 2 lines

MFC r242688: Hook in new files menusets.4th and manual.

------------------------------------------------------------------------
r254148 | pfg | 2013-08-09 16:27:51 +0000 (Fri, 09 Aug 2013) | 5 lines

MFC	r253173:

Implement 1003.1-2001 pathconf() keys.
This is based on r106058 in UFS.

------------------------------------------------------------------------
r254152 | pfg | 2013-08-09 17:52:56 +0000 (Fri, 09 Aug 2013) | 10 lines

MFC	r252435, r252437, r253163:
Change i_gen in UFS to an unsigned type.

In UFS, i_gen is a random generated value and there is not way for
it to be negative. Actually, the value of i_gen is just used to
match bit patterns and it is of no consequence if the values are
signed or not. Following other filesystems, set it to unsigned,

Calculation for older filesystems remains untouched.

------------------------------------------------------------------------
r254153 | marius | 2013-08-09 18:54:27 +0000 (Fri, 09 Aug 2013) | 16 lines

MFC: 254004

As it turns out, MSIs are broken with 2820SA so introduce an AAC_FLAGS_NOMSI
quirk and apply it to these controllers [1]. The same problem was reported
for 2230S, in which case it wasn't actually clear whether the culprit is the
controller or the mainboard, though. In order to be on the safe side, flag
MSIs as being broken with the latter type of controller as well. Given that
these are the only reports of MSI-related breakage with aac(4) so far and
OSes like OpenSolaris unconditionally employ MSIs for all adapters of this
family, however, it doesn't seem warranted to generally disable the use of
MSIs in aac(4).
While at it, simplify the MSI allocation logic a bit; there's no need to
check for the presence of the MSI capability on our own as pci_alloc_msi(9)
will just fail when these kind of interrupts are not available.
Reported and tested by: David Boyd [1]

------------------------------------------------------------------------
r254157 | marius | 2013-08-09 19:44:19 +0000 (Fri, 09 Aug 2013) | 5 lines

MFC: r253266

Prefix the alias macros for members of struct __mcontext with an underscore
in order to avoid a clash in the net80211 code.

------------------------------------------------------------------------
r254158 | marius | 2013-08-09 19:45:55 +0000 (Fri, 09 Aug 2013) | 6 lines

MFC: r253742

- Add const-qualifiers to the arguments of isonum_*().
- According to ISO 9660 7.1.2, isonum_712() should return a signed value.
- Try to get isonum_*() closer to style(9).

------------------------------------------------------------------------
r254160 | marius | 2013-08-09 20:58:06 +0000 (Fri, 09 Aug 2013) | 25 lines

MFC: r253899, r253920

- Implement iclear methods for QUICC and SAB 82532. With r253161 in place,
  this is is crucial at least for the latter.
  What happens is that attaching uart(4) to scc(4) causes the SAB 82532 to
  "receive" something and trigger a SER_INT_RXREADY interrupt, given that
  at least fast/filter interrupts are already enabled. Prior to r253161,
  uart_bus_ihand() was set up at this point and handled that condition,
  i. e. read the RX FIFO and issued a Receive Message Complete.
  Now, uart_bus_ihand() and uart_intr() are setup after attaching uart(4),
  leaving the SER_INT_RXREADY interrupt triggered during the latter to
  be handled by the iclear method. However, with that method not implement,
  this in turn causes SAB 82532 to not issue any further SER_INT_RXREADY
  interrupts until the RX FIFO is full again. Thus, 15 received bytes go
  to nowhere, given that "the other half" of the RX FIFO is used for status
  information. Hence, implementing sab82532_bfe_iclear() fixes things again.
  Potentially, the same problem exists for QUICC.
- Remove unnecessary __RMAN_RESOURCE_VISIBLE.
- Remove a superfluous header.
- Use KOBJMETHOD_END.
- Mark unused arguments as such.
- Remove variables unused after initialization.

Reviewed by:	marcel (earlier version)

------------------------------------------------------------------------
r254161 | marius | 2013-08-09 21:01:41 +0000 (Fri, 09 Aug 2013) | 5 lines

MFC: r253900

- Use NULL instead of 0 for pointers.
- Remove unnecessary __RMAN_RESOURCE_VISIBLE.

------------------------------------------------------------------------
r254162 | marius | 2013-08-09 21:04:00 +0000 (Fri, 09 Aug 2013) | 4 lines

MFC: r253902

Const'ify scc_driver_name.

------------------------------------------------------------------------
r254169 | marius | 2013-08-10 00:00:19 +0000 (Sat, 10 Aug 2013) | 10 lines

MFC: r241374

Add an unified macro to deny ability from the compiler to reorder
instruction loads/stores at its will.
The macro __compiler_membar() is currently supported for both gcc and
clang, but kernel compilation will fail otherwise.

Reviewed by:	bde, kib
Discussed with:	dim, theraven

------------------------------------------------------------------------
r254170 | marius | 2013-08-10 00:06:56 +0000 (Sat, 10 Aug 2013) | 6 lines

MFC: r251782, r251783, r253994

- Remove conflicting macros from SPARC64's atomic(9) header.
- Add MD (for now) atomic_store_acq_<type>() and use it in pmap_activate()
  to get the semantics when setting the PMAP right.

------------------------------------------------------------------------
r254203 | smh | 2013-08-11 01:14:46 +0000 (Sun, 11 Aug 2013) | 5 lines

MFC: r253926

zfs_ioc_rename should not leave the value of zc_name passed in via zc altered
on return.

------------------------------------------------------------------------
r254205 | pfg | 2013-08-11 02:53:18 +0000 (Sun, 11 Aug 2013) | 20 lines

MFC	r252890, 252906, r252907, r253861, r254104:

Implementation of the HTree directory index.

This is a port of NetBSD's GSoC 2012 Ext3 HTree directory indexing
by Vyacheslav Matyushin.  It was cleaned up and enhanced for FreeBSD
by Zheng Liu (lz@).

This is an excellent example of work shared among different projects:
Vyacheslav was able to look at an early prototype from Zheng Liu who
was also able to check the code from Haiku (with permission).

As in linux, the feature is not available by default and must be
enabled explicitly with tune2fs. We still do not support the
workarounds required in readdir for NFS.

Submitted by:	Zheng Liu
Tested by:	Mike Ma
Sponsored by:	Google Inc.


--doUn1Hmx68n+7ij2--

--XCIqNWEteo88hZlY
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (FreeBSD)

iQEcBAEBCAAGBQJSCRYiAAoJEFJPDDeguUajn6QH/3Zjb2GHfXtvOm4+ROHWAi4W
MIRz3XEOC14f3snUz/gTtg6MBtI/DRs9HIlXYsyNE9fbC4wVREsvrRDTcWdd9SJ9
oikb16NULoRLGfbX1m6YaCzXSS04wMdQkOi+3iYeAmmeRViah1kzXnJGbB2T+kwe
51LWi7A+b72lAbkquUMiocOyqfg+gTdDS5iAbUGrIYfE2kdqubsh+BBE5jkTPfba
MW4zzqoQdiyTdrwm1BpRSl2qOP6kMncnLnNtG2f8LEgWxS7J8+gggm00QpRGOvzr
UPztAd+cSqWPf8YCEZKoBw19qKp1nFaLi+ssOWK2BiJsTbX3dRhX5AAJRIJ8Qn8=
=B/My
-----END PGP SIGNATURE-----

--XCIqNWEteo88hZlY--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130812170642.GW2432>