svn commit: r302423 - vendor/gcc/dist/gcc/config/i386

2016-07-07 Thread Pedro F. Giffuni
Author: pfg
Date: Fri Jul  8 03:39:10 2016
New Revision: 302423
URL: https://svnweb.freebsd.org/changeset/base/302423

Log:
  Vendor GCC: Bring older verbatim version of cpuid.h
  
  This is mainly for reference: clang has a similar file with minor
  differences that may be affecting portability.
  
  Obtained from:GCC (gcc-4_3-branch, rev. 129548, pre GPLv3)

Added:
  vendor/gcc/dist/gcc/config/i386/cpuid.h   (contents, props changed)

Added: vendor/gcc/dist/gcc/config/i386/cpuid.h
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/gcc/dist/gcc/config/i386/cpuid.h Fri Jul  8 03:39:10 2016
(r302423)
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2007 Free Software Foundation, Inc.
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ * 
+ * In addition to the permissions in the GNU General Public License, the
+ * Free Software Foundation gives you unlimited permission to link the
+ * compiled version of this file with other programs, and to distribute
+ * those programs without any restriction coming from the use of this
+ * file.  (The General Public License restrictions do apply in other
+ * respects; for example, they cover modification of the file, and
+ * distribution when not linked into another program.)
+ * 
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING.  If not, write to
+ * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ * 
+ *As a special exception, if you link this library with files
+ *compiled with GCC to produce an executable, this does not cause
+ *the resulting executable to be covered by the GNU General Public License.
+ *This exception does not however invalidate any other reasons why
+ *the executable file might be covered by the GNU General Public License.
+ */
+
+/* %ecx */
+#define bit_SSE3   (1 << 0)
+#define bit_SSSE3  (1 << 9)
+#define bit_CMPXCHG16B (1 << 13)
+#define bit_SSE4_1 (1 << 19)
+#define bit_SSE4_2 (1 << 20)
+#define bit_POPCNT (1 << 23)
+
+/* %edx */
+#define bit_CMPXCHG8B  (1 << 8)
+#define bit_CMOV   (1 << 15)
+#define bit_MMX(1 << 23)
+#define bit_FXSAVE (1 << 24)
+#define bit_SSE(1 << 25)
+#define bit_SSE2   (1 << 26)
+
+/* Extended Features */
+/* %ecx */
+#define bit_LAHF_LM(1 << 0)
+#define bit_SSE4a  (1 << 6)
+#define bit_SSE5   (1 << 11)
+
+/* %edx */
+#define bit_LM (1 << 29)
+#define bit_3DNOWP (1 << 30)
+#define bit_3DNOW  (1 << 31)
+
+
+#if defined(__i386__) && defined(__PIC__)
+/* %ebx may be the PIC register.  */
+#define __cpuid(level, a, b, c, d) \
+  __asm__ ("xchg{l}\t{%%}ebx, %1\n\t"  \
+  "cpuid\n\t"  \
+  "xchg{l}\t{%%}ebx, %1\n\t"   \
+  : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+  : "0" (level))
+#else
+#define __cpuid(level, a, b, c, d) \
+  __asm__ ("cpuid\n\t" \
+  : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
+  : "0" (level))
+#endif
+
+/* Return highest supported input value for cpuid instruction.  ext can
+   be either 0x0 or 0x800 to return highest supported value for
+   basic or extended cpuid information.  Function returns 0 if cpuid
+   is not supported or whatever cpuid returns in eax register.  If sig
+   pointer is non-null, then first four bytes of the signature
+   (as found in ebx register) are returned in location pointed by sig.  */
+
+static __inline unsigned int
+__get_cpuid_max (unsigned int __ext, unsigned int *__sig)
+{
+  unsigned int __eax, __ebx, __ecx, __edx;
+
+#ifndef __x86_64__
+  /* See if we can use cpuid.  On AMD64 we always can.  */
+  __asm__ ("pushf{l|d}\n\t"
+  "pushf{l|d}\n\t"
+  "pop{l}\t%0\n\t"
+  "mov{l}\t{%0, %1|%1, %0}\n\t"
+  "xor{l}\t{%2, %0|%0, %2}\n\t"
+  "push{l}\t%0\n\t"
+  "popf{l|d}\n\t"
+  "pushf{l|d}\n\t"
+  "pop{l}\t%0\n\t"
+  "popf{l|d}\n\t"
+  : "=" (__eax), "=" (__ebx)
+  : "i" (0x0020));
+
+  if (!((__eax ^ __ebx) & 0x0020))
+return 0;
+#endif
+
+  /* Host supports cpuid.  Return highest supported cpuid input value.  */
+  __cpuid (__ext, __eax, __ebx, __ecx, __edx);
+
+  if (__sig)
+*__sig = __ebx;
+
+  return 

svn commit: r302422 - stable/10/sys/netpfil/ipfw

2016-07-07 Thread Don Lewis
Author: truckman
Date: Fri Jul  8 02:52:39 2016
New Revision: 302422
URL: https://svnweb.freebsd.org/changeset/base/302422

Log:
  MFC r302338
  
  Fix a race condition between the main thread in aqm_pie_cleanup() and the
  callout thread that can cause a kernel panic.  Always do the final cleanup
  in the callout thread by passing a separate callout function for that task
  to callout_reset_sbt().
  
  Protect the ref_count decrement in the callout with DN_BH_WLOCK().  All
  other ref_count manipulation is protected with this lock.
  
  There is still a tiny window between ref_count reaching zero and the end
  of the callout function where it is unsafe to unload the module.  Fixing
  this would require the use of callout_drain(), but this can't be done
  because dummynet holds a mutex and callout_drain() might sleep.
  
  Remove the callout_pending(), callout_active(), and callout_deactivate()
  calls from calculate_drop_prob().  They are not needed because this callout
  uses callout_init_mtx().
  
  Submitted by: Rasool Al-Saadi 
  Differential Revision:https://reviews.freebsd.org/D6928

Modified:
  stable/10/sys/netpfil/ipfw/dn_aqm_pie.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netpfil/ipfw/dn_aqm_pie.c
==
--- stable/10/sys/netpfil/ipfw/dn_aqm_pie.c Fri Jul  8 02:34:04 2016
(r302421)
+++ stable/10/sys/netpfil/ipfw/dn_aqm_pie.c Fri Jul  8 02:52:39 2016
(r302422)
@@ -207,24 +207,6 @@ calculate_drop_prob(void *x)
struct dn_aqm_pie_parms *pprms;
struct pie_status *pst = (struct pie_status *) x;
 
-   /* dealing with race condition */
-   if (callout_pending(>aqm_pie_callout)) {
-   /* callout was reset */
-   mtx_unlock(>lock_mtx);
-   return;
-   }
-
-   if (!callout_active(>aqm_pie_callout)) {
-   /* callout was stopped */
-   mtx_unlock(>lock_mtx);
-   mtx_destroy(>lock_mtx);
-   free(x, M_DUMMYNET);
-   //pst->pq->aqm_status = NULL;
-   pie_desc.ref_count--;
-   return;
-   }
-   callout_deactivate(>aqm_pie_callout);
-
pprms = pst->parms;
prob = pst->drop_prob;
 
@@ -576,7 +558,7 @@ aqm_pie_init(struct dn_queue *q)

do { /* exit with break when error occurs*/
if (!pprms){
-   D("AQM_PIE is not configured");
+   DX(2, "AQM_PIE is not configured");
err = EINVAL;
break;
}
@@ -615,6 +597,22 @@ aqm_pie_init(struct dn_queue *q)
 }
 
 /* 
+ * Callout function to destroy pie mtx and free PIE status memory
+ */
+static void
+pie_callout_cleanup(void *x)
+{
+   struct pie_status *pst = (struct pie_status *) x;
+
+   mtx_unlock(>lock_mtx);
+   mtx_destroy(>lock_mtx);
+   free(x, M_DUMMYNET);
+   DN_BH_WLOCK();
+   pie_desc.ref_count--;
+   DN_BH_WUNLOCK();
+}
+
+/* 
  * Clean up PIE status for queue 'q' 
  * Destroy memory allocated for PIE status.
  */
@@ -640,22 +638,19 @@ aqm_pie_cleanup(struct dn_queue *q)
return 1;
}
 
+   /* 
+* Free PIE status allocated memory using pie_callout_cleanup() callout
+* function to avoid any potential race.
+* We reset aqm_pie_callout to call pie_callout_cleanup() in next 1um. 
This
+* stops the scheduled calculate_drop_prob() callout and call 
pie_callout_cleanup() 
+* which does memory freeing.
+*/
mtx_lock(>lock_mtx);
+   callout_reset_sbt(>aqm_pie_callout,
+   SBT_1US, 0, pie_callout_cleanup, pst, 0);
+   q->aqm_status = NULL;
+   mtx_unlock(>lock_mtx);
 
-   /* stop callout timer */
-   if (callout_stop(>aqm_pie_callout) || !(pst->sflags & PIE_ACTIVE)) 
{
-   mtx_unlock(>lock_mtx);
-   mtx_destroy(>lock_mtx);
-   free(q->aqm_status, M_DUMMYNET);
-   q->aqm_status = NULL;
-   pie_desc.ref_count--;
-   return 0;
-   } else {
-   q->aqm_status = NULL;
-   mtx_unlock(>lock_mtx);
-   DX(2, "PIE callout has not been stoped from cleanup!");
-   return EBUSY;
-   }
return 0;
 }
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302421 - stable/10/sys/fs/nfsclient

2016-07-07 Thread Konstantin Belousov
Author: kib
Date: Fri Jul  8 02:34:04 2016
New Revision: 302421
URL: https://svnweb.freebsd.org/changeset/base/302421

Log:
  MFC r302196
  Since VOP_INACTIVE() is not guaranteed to be called, all cleanups
  executed by inactive methods, must be repeated on reclaim.
  
  MFC r302210:
  Clean other flags in ncl_inactive, only.

Modified:
  stable/10/sys/fs/nfsclient/nfs_clnode.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/fs/nfsclient/nfs_clnode.c
==
--- stable/10/sys/fs/nfsclient/nfs_clnode.c Fri Jul  8 02:19:09 2016
(r302420)
+++ stable/10/sys/fs/nfsclient/nfs_clnode.c Fri Jul  8 02:34:04 2016
(r302421)
@@ -200,15 +200,40 @@ nfs_freesillyrename(void *arg, __unused 
free(sp, M_NEWNFSREQ);
 }
 
-int
-ncl_inactive(struct vop_inactive_args *ap)
+static void
+ncl_releasesillyrename(struct vnode *vp, struct thread *td)
 {
struct nfsnode *np;
struct sillyrename *sp;
-   struct vnode *vp = ap->a_vp;
-   boolean_t retv;
 
+   ASSERT_VOP_ELOCKED(vp, "releasesillyrename");
np = VTONFS(vp);
+   mtx_assert(>n_mtx, MA_OWNED);
+   if (vp->v_type != VDIR) {
+   sp = np->n_sillyrename;
+   np->n_sillyrename = NULL;
+   } else
+   sp = NULL;
+   if (sp != NULL) {
+   mtx_unlock(>n_mtx);
+   (void) ncl_vinvalbuf(vp, 0, td, 1);
+   /*
+* Remove the silly file that was rename'd earlier
+*/
+   ncl_removeit(sp, vp);
+   crfree(sp->s_cred);
+   TASK_INIT(>s_task, 0, nfs_freesillyrename, sp);
+   taskqueue_enqueue(taskqueue_thread, >s_task);
+   mtx_lock(>n_mtx);
+   }
+}
+
+int
+ncl_inactive(struct vop_inactive_args *ap)
+{
+   struct vnode *vp = ap->a_vp;
+   struct nfsnode *np;
+   boolean_t retv;
 
if (NFS_ISV4(vp) && vp->v_type == VREG) {
/*
@@ -230,24 +255,15 @@ ncl_inactive(struct vop_inactive_args *a
}
}
 
+   np = VTONFS(vp);
mtx_lock(>n_mtx);
-   if (vp->v_type != VDIR) {
-   sp = np->n_sillyrename;
-   np->n_sillyrename = NULL;
-   } else
-   sp = NULL;
-   if (sp) {
-   mtx_unlock(>n_mtx);
-   (void) ncl_vinvalbuf(vp, 0, ap->a_td, 1);
-   /*
-* Remove the silly file that was rename'd earlier
-*/
-   ncl_removeit(sp, vp);
-   crfree(sp->s_cred);
-   TASK_INIT(>s_task, 0, nfs_freesillyrename, sp);
-   taskqueue_enqueue(taskqueue_thread, >s_task);
-   mtx_lock(>n_mtx);
-   }
+   ncl_releasesillyrename(vp, ap->a_td);
+
+   /*
+* NMODIFIED means that there might be dirty/stale buffers
+* associated with the NFS vnode.  None of the other flags are
+* meaningful after the vnode is unused.
+*/
np->n_flag &= NMODIFIED;
mtx_unlock(>n_mtx);
return (0);
@@ -270,6 +286,10 @@ ncl_reclaim(struct vop_reclaim_args *ap)
if (nfs_reclaim_p != NULL)
nfs_reclaim_p(ap);
 
+   mtx_lock(>n_mtx);
+   ncl_releasesillyrename(vp, ap->a_td);
+   mtx_unlock(>n_mtx);
+
/*
 * Destroy the vm object and flush associated pages.
 */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r302418 - head/contrib/gcc

2016-07-07 Thread Glen Barber
On Thu, Jul 07, 2016 at 09:16:18PM -0500, Pedro Giffuni wrote:
> On 07/07/16 20:56, Glen Barber wrote:
> >Author: gjb
> >Date: Fri Jul  8 01:56:52 2016
> >New Revision: 302418
> >URL: https://svnweb.freebsd.org/changeset/base/302418
> >
> >Log:
> >  Add freebsd12 to contrib/gcc/config.gcc.
> >
> >  Submitted by:  bdrewery
> >  Approved by:   re (implicit)
> >  Sponsored by:  The FreeBSD Foundation
> >
> >Modified:
> >  head/contrib/gcc/config.gcc
> >
> >Modified: head/contrib/gcc/config.gcc
> >==
> >--- head/contrib/gcc/config.gcc  Fri Jul  8 01:47:01 2016
> >(r302417)
> >+++ head/contrib/gcc/config.gcc  Fri Jul  8 01:56:52 2016
> >(r302418)
> >@@ -432,6 +432,8 @@ case ${target} in
> >   tm_defines="${tm_defines} FBSD_MAJOR=10" ;;
> > *-*-freebsd11 | *-*-freebsd11.*)
> >   tm_defines="${tm_defines} FBSD_MAJOR=11" ;;
> >+*-*-freebsd12 | *-*-freebsd12.*)
> >+  tm_defines="${tm_defines} FBSD_MAJOR=12" ;;
> > *)
> >   echo 'Please update *-*-freebsd* in gcc/config.gcc'
> >   exit 1
> >
> 
> For the record: this is not needed since we don't use GNU configure to
> configure/build GCC.
> 
> We should really kill GCC42 early in current-12.
> 

Agreed.  Let's wait until after the thaw, however.

Glen



signature.asc
Description: PGP signature


svn commit: r302420 - head

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 02:19:09 2016
New Revision: 302420
URL: https://svnweb.freebsd.org/changeset/base/302420

Log:
  Spell '12.x' correctly in UPDATING.
  
  Submitted by: lidl
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/UPDATING

Modified: head/UPDATING
==
--- head/UPDATING   Fri Jul  8 02:03:42 2016(r302419)
+++ head/UPDATING   Fri Jul  8 02:19:09 2016(r302420)
@@ -17,7 +17,7 @@ the tip of head, and then rebuild withou
 from older version of current across the gcc/clang cutover is a bit fragile.
 
 NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
-   FreeBSD 11.x has many debugging features turned on, in both the kernel
+   FreeBSD 12.x has many debugging features turned on, in both the kernel
and userland.  These features attempt to detect incorrect use of
system primitives, and encourage loud failure through extra sanity
checking and fail stop semantics.  They also substantially impact
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r302418 - head/contrib/gcc

2016-07-07 Thread Pedro Giffuni



On 07/07/16 20:56, Glen Barber wrote:

Author: gjb
Date: Fri Jul  8 01:56:52 2016
New Revision: 302418
URL: https://svnweb.freebsd.org/changeset/base/302418

Log:
  Add freebsd12 to contrib/gcc/config.gcc.

  Submitted by: bdrewery
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/contrib/gcc/config.gcc

Modified: head/contrib/gcc/config.gcc
==
--- head/contrib/gcc/config.gcc Fri Jul  8 01:47:01 2016(r302417)
+++ head/contrib/gcc/config.gcc Fri Jul  8 01:56:52 2016(r302418)
@@ -432,6 +432,8 @@ case ${target} in
   tm_defines="${tm_defines} FBSD_MAJOR=10" ;;
 *-*-freebsd11 | *-*-freebsd11.*)
   tm_defines="${tm_defines} FBSD_MAJOR=11" ;;
+*-*-freebsd12 | *-*-freebsd12.*)
+  tm_defines="${tm_defines} FBSD_MAJOR=12" ;;
 *)
   echo 'Please update *-*-freebsd* in gcc/config.gcc'
   exit 1



For the record: this is not needed since we don't use GNU configure to
configure/build GCC.

We should really kill GCC42 early in current-12.

Pedro.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302419 - head/gnu/usr.bin/groff/tmac

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 02:03:42 2016
New Revision: 302419
URL: https://svnweb.freebsd.org/changeset/base/302419

Log:
  Spell 10.2, 10.3, 12.0 correctly in various places.
  
  Submitted by: markj
  Approved by:  re (implicit)
  Pointyhat:gjb (myself)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/gnu/usr.bin/groff/tmac/mdoc.local.in

Modified: head/gnu/usr.bin/groff/tmac/mdoc.local.in
==
--- head/gnu/usr.bin/groff/tmac/mdoc.local.in   Fri Jul  8 01:56:52 2016
(r302418)
+++ head/gnu/usr.bin/groff/tmac/mdoc.local.in   Fri Jul  8 02:03:42 2016
(r302419)
@@ -62,10 +62,10 @@
 .ds doc-operating-system-FreeBSD-9.39.3
 .ds doc-operating-system-FreeBSD-10.0   10.0
 .ds doc-operating-system-FreeBSD-10.1   10.1
-.ds doc-operating-system-FreeBSD-10.1   10.2
-.ds doc-operating-system-FreeBSD-10.1   10.3
+.ds doc-operating-system-FreeBSD-10.2   10.2
+.ds doc-operating-system-FreeBSD-10.3   10.3
 .ds doc-operating-system-FreeBSD-11.0   11.0
-.ds doc-operating-system-FreeBSD-11.0   12.0
+.ds doc-operating-system-FreeBSD-12.0   12.0
 .
 .\" Definitions for other *BSDs not (yet) in doc-common
 .ds doc-operating-system-NetBSD-7.0 7.0
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302418 - head/contrib/gcc

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 01:56:52 2016
New Revision: 302418
URL: https://svnweb.freebsd.org/changeset/base/302418

Log:
  Add freebsd12 to contrib/gcc/config.gcc.
  
  Submitted by: bdrewery
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/contrib/gcc/config.gcc

Modified: head/contrib/gcc/config.gcc
==
--- head/contrib/gcc/config.gcc Fri Jul  8 01:47:01 2016(r302417)
+++ head/contrib/gcc/config.gcc Fri Jul  8 01:56:52 2016(r302418)
@@ -432,6 +432,8 @@ case ${target} in
   tm_defines="${tm_defines} FBSD_MAJOR=10" ;;
 *-*-freebsd11 | *-*-freebsd11.*)
   tm_defines="${tm_defines} FBSD_MAJOR=11" ;;
+*-*-freebsd12 | *-*-freebsd12.*)
+  tm_defines="${tm_defines} FBSD_MAJOR=12" ;;
 *)
   echo 'Please update *-*-freebsd* in gcc/config.gcc'
   exit 1
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r302413 - head/gnu/usr.bin/cc/cc_tools

2016-07-07 Thread Glen Barber
On Thu, Jul 07, 2016 at 06:43:08PM -0700, Bryan Drewery wrote:
> On 7/7/16 5:52 PM, Glen Barber wrote:
> > Author: gjb
> > Date: Fri Jul  8 00:52:53 2016
> > New Revision: 302413
> > URL: https://svnweb.freebsd.org/changeset/base/302413
> > 
> > Log:
> >   Spell 120 correctly.
> >   
> >   Approved by:  re (implicit)
> >   Sponsored by: The FreeBSD Foundation
> > 
> > Modified:
> >   head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
> > 
> > Modified: head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
> > ==
> > --- head/gnu/usr.bin/cc/cc_tools/freebsd-native.h   Fri Jul  8 00:26:38 
> > 2016(r302412)
> > +++ head/gnu/usr.bin/cc/cc_tools/freebsd-native.h   Fri Jul  8 00:52:53 
> > 2016(r302413)
> > @@ -8,7 +8,7 @@
> >  
> >  /* Fake out gcc/config/freebsd.h.  */
> >  #defineFBSD_MAJOR  12
> > -#defineFBSD_CC_VER 110 /* form like __FreeBSD_version 
> > */
> > +#defineFBSD_CC_VER 120 /* form like __FreeBSD_version 
> > */
> >  
> >  #undef SYSTEM_INCLUDE_DIR  /* We don't need one for now. */
> >  #undef TOOL_INCLUDE_DIR/* We don't need one for now. */
> > 
> 
> lib/clang/freebsd_cc_version.h has the clang equivalent
> 

Fixed in r302417.  Thank you for pointing this out.

Glen



signature.asc
Description: PGP signature


svn commit: r302417 - head/lib/clang

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 01:47:01 2016
New Revision: 302417
URL: https://svnweb.freebsd.org/changeset/base/302417

Log:
  Bump FREEBSD_CC_VERSION in lib/clang/freebsd_cc_version.h
  
  Submitted by: bdrewery
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/lib/clang/freebsd_cc_version.h

Modified: head/lib/clang/freebsd_cc_version.h
==
--- head/lib/clang/freebsd_cc_version.h Fri Jul  8 01:32:43 2016
(r302416)
+++ head/lib/clang/freebsd_cc_version.h Fri Jul  8 01:47:01 2016
(r302417)
@@ -1,3 +1,3 @@
 /* $FreeBSD$ */
 
-#defineFREEBSD_CC_VERSION  114
+#defineFREEBSD_CC_VERSION  120
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r302413 - head/gnu/usr.bin/cc/cc_tools

2016-07-07 Thread Bryan Drewery
On 7/7/16 5:52 PM, Glen Barber wrote:
> Author: gjb
> Date: Fri Jul  8 00:52:53 2016
> New Revision: 302413
> URL: https://svnweb.freebsd.org/changeset/base/302413
> 
> Log:
>   Spell 120 correctly.
>   
>   Approved by:re (implicit)
>   Sponsored by:   The FreeBSD Foundation
> 
> Modified:
>   head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
> 
> Modified: head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
> ==
> --- head/gnu/usr.bin/cc/cc_tools/freebsd-native.h Fri Jul  8 00:26:38 
> 2016(r302412)
> +++ head/gnu/usr.bin/cc/cc_tools/freebsd-native.h Fri Jul  8 00:52:53 
> 2016(r302413)
> @@ -8,7 +8,7 @@
>  
>  /* Fake out gcc/config/freebsd.h.  */
>  #define  FBSD_MAJOR  12
> -#define  FBSD_CC_VER 110 /* form like __FreeBSD_version 
> */
> +#define  FBSD_CC_VER 120 /* form like __FreeBSD_version 
> */
>  
>  #undef SYSTEM_INCLUDE_DIR/* We don't need one for now. */
>  #undef TOOL_INCLUDE_DIR  /* We don't need one for now. */
> 

lib/clang/freebsd_cc_version.h has the clang equivalent

-- 
Regards,
Bryan Drewery
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302414 - head/gnu/usr.bin/groff/tmac

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:54:21 2016
New Revision: 302414
URL: https://svnweb.freebsd.org/changeset/base/302414

Log:
  Default manual pages to 12.0 in head, and add missing 10.x
  releases.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/gnu/usr.bin/groff/tmac/mdoc.local.in

Modified: head/gnu/usr.bin/groff/tmac/mdoc.local.in
==
--- head/gnu/usr.bin/groff/tmac/mdoc.local.in   Fri Jul  8 00:52:53 2016
(r302413)
+++ head/gnu/usr.bin/groff/tmac/mdoc.local.in   Fri Jul  8 00:54:21 2016
(r302414)
@@ -50,7 +50,7 @@
 .ds doc-str-Lb-libstdthreads C11 Threads Library (libstdthreads, \-lstdthreads)
 .
 .\" Default .Os value
-.ds doc-default-operating-system FreeBSD\~11.0
+.ds doc-default-operating-system FreeBSD\~12.0
 .
 .\" FreeBSD releases not found in doc-common
 .ds doc-operating-system-FreeBSD-2.2.9  2.2.9
@@ -62,6 +62,8 @@
 .ds doc-operating-system-FreeBSD-9.39.3
 .ds doc-operating-system-FreeBSD-10.0   10.0
 .ds doc-operating-system-FreeBSD-10.1   10.1
+.ds doc-operating-system-FreeBSD-10.1   10.2
+.ds doc-operating-system-FreeBSD-10.1   10.3
 .ds doc-operating-system-FreeBSD-11.0   11.0
 .ds doc-operating-system-FreeBSD-11.0   12.0
 .
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302413 - head/gnu/usr.bin/cc/cc_tools

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:52:53 2016
New Revision: 302413
URL: https://svnweb.freebsd.org/changeset/base/302413

Log:
  Spell 120 correctly.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/gnu/usr.bin/cc/cc_tools/freebsd-native.h

Modified: head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
==
--- head/gnu/usr.bin/cc/cc_tools/freebsd-native.h   Fri Jul  8 00:26:38 
2016(r302412)
+++ head/gnu/usr.bin/cc/cc_tools/freebsd-native.h   Fri Jul  8 00:52:53 
2016(r302413)
@@ -8,7 +8,7 @@
 
 /* Fake out gcc/config/freebsd.h.  */
 #defineFBSD_MAJOR  12
-#defineFBSD_CC_VER 110 /* form like __FreeBSD_version 
*/
+#defineFBSD_CC_VER 120 /* form like __FreeBSD_version 
*/
 
 #undef SYSTEM_INCLUDE_DIR  /* We don't need one for now. */
 #undef TOOL_INCLUDE_DIR/* We don't need one for now. */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302412 - stable/11/sys/conf

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:26:38 2016
New Revision: 302412
URL: https://svnweb.freebsd.org/changeset/base/302412

Log:
  Switch 11.0 from -ALPHA6 to -BETA1 to prepare for builds.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/11/sys/conf/newvers.sh

Modified: stable/11/sys/conf/newvers.sh
==
--- stable/11/sys/conf/newvers.sh   Fri Jul  8 00:25:32 2016
(r302411)
+++ stable/11/sys/conf/newvers.sh   Fri Jul  8 00:26:38 2016
(r302412)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="11.0"
-BRANCH="ALPHA6"
+BRANCH="BETA1"
 if [ -n "${BRANCH_OVERRIDE}" ]; then
BRANCH=${BRANCH_OVERRIDE}
 fi
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302411 - stable/11/release/doc/share/xml

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:25:32 2016
New Revision: 302411
URL: https://svnweb.freebsd.org/changeset/base/302411

Log:
  Missed a few entries in the previous commit, documentation related.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/11/release/doc/share/xml/release.ent

Modified: stable/11/release/doc/share/xml/release.ent
==
--- stable/11/release/doc/share/xml/release.ent Fri Jul  8 00:22:14 2016
(r302410)
+++ stable/11/release/doc/share/xml/release.ent Fri Jul  8 00:25:32 2016
(r302411)
@@ -6,23 +6,23 @@
 
 
-
+
 
 
-
+
 
 
-
+
 
 
-
+
 
 
-
+
 
 
 https://www.FreeBSD.org/snapshots/";>
@@ -31,16 +31,16 @@
 https://www.FreeBSD.org/security/advisories";>
 
 
-
+
 
 
 
 
-
+
 
-
+
 
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

svn commit: r302410 - in stable/11: . contrib/jemalloc/include/jemalloc etc/defaults sys/amd64/conf sys/i386/conf sys/powerpc/conf sys/sparc64/conf

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:22:14 2016
New Revision: 302410
URL: https://svnweb.freebsd.org/changeset/base/302410

Log:
  - Remove debugging from GENERIC* kernel configurations
  - Enable MALLOC_PRODUCTION
  - Default dumpdev=NO
  - Remove UPDATING entry regarding debugging features
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/11/UPDATING
  stable/11/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h
  stable/11/etc/defaults/rc.conf
  stable/11/sys/amd64/conf/GENERIC
  stable/11/sys/i386/conf/GENERIC
  stable/11/sys/powerpc/conf/GENERIC
  stable/11/sys/sparc64/conf/GENERIC

Modified: stable/11/UPDATING
==
--- stable/11/UPDATING  Fri Jul  8 00:12:29 2016(r302409)
+++ stable/11/UPDATING  Fri Jul  8 00:22:14 2016(r302410)
@@ -16,21 +16,6 @@ from older versions of FreeBSD, try WITH
 the tip of head, and then rebuild without this option. The bootstrap process
 from older version of current across the gcc/clang cutover is a bit fragile.
 
-NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
-   FreeBSD 11.x has many debugging features turned on, in both the kernel
-   and userland.  These features attempt to detect incorrect use of
-   system primitives, and encourage loud failure through extra sanity
-   checking and fail stop semantics.  They also substantially impact
-   system performance.  If you want to do performance measurement,
-   benchmarking, and optimization, you'll want to turn them off.  This
-   includes various WITNESS- related kernel options, INVARIANTS, malloc
-   debugging flags in userland, and various verbose features in the
-   kernel.  Many developers choose to disable these features on build
-   machines to maximize performance.  (To completely disable malloc
-   debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely
-   disable the most expensive debugging functionality run
-   "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
-
 20160622:
The libc stub for the pipe(2) system call has been replaced with
a wrapper which calls the pipe2(2) system call and the pipe(2) is now

Modified: stable/11/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h
==
--- stable/11/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h  Fri Jul 
 8 00:12:29 2016(r302409)
+++ stable/11/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h  Fri Jul 
 8 00:22:14 2016(r302410)
@@ -5,6 +5,9 @@
 #undef JEMALLOC_OVERRIDE_VALLOC
 
 #ifndef MALLOC_PRODUCTION
+#defineMALLOC_PRODUCTION
+#endif
+#ifndef MALLOC_PRODUCTION
 #defineJEMALLOC_DEBUG
 #endif
 

Modified: stable/11/etc/defaults/rc.conf
==
--- stable/11/etc/defaults/rc.conf  Fri Jul  8 00:12:29 2016
(r302409)
+++ stable/11/etc/defaults/rc.conf  Fri Jul  8 00:22:14 2016
(r302410)
@@ -609,7 +609,7 @@ lpd_flags=""# Flags to lpd (if enabled
 nscd_enable="NO"   # Run the nsswitch caching daemon.
 chkprintcap_enable="NO"# Run chkprintcap(8) before running lpd.
 chkprintcap_flags="-d" # Create missing directories by default.
-dumpdev="AUTO" # Device to crashdump to (device name, AUTO, or NO).
+dumpdev="NO"   # Device to crashdump to (device name, AUTO, or NO).
 dumpdir="/var/crash"   # Directory where crash dumps are to be stored
 savecore_enable="YES"  # Extract core from dump devices if any
 savecore_flags="-m 10" # Used if dumpdev is enabled above, and present.

Modified: stable/11/sys/amd64/conf/GENERIC
==
--- stable/11/sys/amd64/conf/GENERICFri Jul  8 00:12:29 2016
(r302409)
+++ stable/11/sys/amd64/conf/GENERICFri Jul  8 00:22:14 2016
(r302410)
@@ -81,15 +81,6 @@ options  RCTL# Resource limits
 # Debugging support.  Always need this:
 optionsKDB # Enable kernel debugger support.
 optionsKDB_TRACE   # Print a stack trace for a panic.
-# For full debugger support use (turn off in stable branch):
-optionsDDB # Support DDB.
-optionsGDB # Support remote GDB.
-optionsDEADLKRES   # Enable the deadlock resolver
-optionsINVARIANTS  # Enable calls of extra sanity checking
-optionsINVARIANT_SUPPORT   # Extra sanity checks of internal 
structures, required by INVARIANTS
-optionsWITNESS # Enable checks to detect deadlocks and 
cycles
-optionsWITNESS_SKIPSPIN# Don't run witness on spinlocks for 
speed
-optionsMALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
 
 # Make an 

svn commit: r302409 - in head: . gnu/usr.bin/cc/cc_tools gnu/usr.bin/groff/tmac lib/clang release/doc/share/xml sys/conf sys/sys

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:12:29 2016
New Revision: 302409
URL: https://svnweb.freebsd.org/changeset/base/302409

Log:
  Reflect head is now 12.0-CURRENT.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/UPDATING
  head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
  head/gnu/usr.bin/groff/tmac/mdoc.local.in
  head/lib/clang/clang.build.mk
  head/release/doc/share/xml/release.ent
  head/sys/conf/newvers.sh
  head/sys/sys/param.h

Modified: head/UPDATING
==
--- head/UPDATING   Fri Jul  8 00:04:57 2016(r302408)
+++ head/UPDATING   Fri Jul  8 00:12:29 2016(r302409)
@@ -16,7 +16,7 @@ from older versions of FreeBSD, try WITH
 the tip of head, and then rebuild without this option. The bootstrap process
 from older version of current across the gcc/clang cutover is a bit fragile.
 
-NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
+NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
FreeBSD 11.x has many debugging features turned on, in both the kernel
and userland.  These features attempt to detect incorrect use of
system primitives, and encourage loud failure through extra sanity

Modified: head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
==
--- head/gnu/usr.bin/cc/cc_tools/freebsd-native.h   Fri Jul  8 00:04:57 
2016(r302408)
+++ head/gnu/usr.bin/cc/cc_tools/freebsd-native.h   Fri Jul  8 00:12:29 
2016(r302409)
@@ -7,8 +7,8 @@
 #define FREEBSD_NATIVE 1
 
 /* Fake out gcc/config/freebsd.h.  */
-#defineFBSD_MAJOR  11
-#defineFBSD_CC_VER 112 /* form like __FreeBSD_version 
*/
+#defineFBSD_MAJOR  12
+#defineFBSD_CC_VER 110 /* form like __FreeBSD_version 
*/
 
 #undef SYSTEM_INCLUDE_DIR  /* We don't need one for now. */
 #undef TOOL_INCLUDE_DIR/* We don't need one for now. */

Modified: head/gnu/usr.bin/groff/tmac/mdoc.local.in
==
--- head/gnu/usr.bin/groff/tmac/mdoc.local.in   Fri Jul  8 00:04:57 2016
(r302408)
+++ head/gnu/usr.bin/groff/tmac/mdoc.local.in   Fri Jul  8 00:12:29 2016
(r302409)
@@ -63,6 +63,7 @@
 .ds doc-operating-system-FreeBSD-10.0   10.0
 .ds doc-operating-system-FreeBSD-10.1   10.1
 .ds doc-operating-system-FreeBSD-11.0   11.0
+.ds doc-operating-system-FreeBSD-11.0   12.0
 .
 .\" Definitions for other *BSDs not (yet) in doc-common
 .ds doc-operating-system-NetBSD-7.0 7.0

Modified: head/lib/clang/clang.build.mk
==
--- head/lib/clang/clang.build.mk   Fri Jul  8 00:04:57 2016
(r302408)
+++ head/lib/clang/clang.build.mk   Fri Jul  8 00:12:29 2016
(r302409)
@@ -32,8 +32,8 @@ TARGET_ABI=   gnueabi
 TARGET_ABI=unknown
 .endif
 
-TARGET_TRIPLE?=
${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd11.0
-BUILD_TRIPLE?= 
${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-unknown-freebsd11.0
+TARGET_TRIPLE?=
${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd12.0
+BUILD_TRIPLE?= 
${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-unknown-freebsd12.0
 CFLAGS+=   -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \
-DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \
-DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\"

Modified: head/release/doc/share/xml/release.ent
==
--- head/release/doc/share/xml/release.ent  Fri Jul  8 00:04:57 2016
(r302408)
+++ head/release/doc/share/xml/release.ent  Fri Jul  8 00:12:29 2016
(r302409)
@@ -19,10 +19,10 @@
 
 
 
-
+
 
 
-
+
 
 
 https://www.FreeBSD.org/snapshots/;>

Modified: head/sys/conf/newvers.sh
==
--- head/sys/conf/newvers.shFri Jul  8 00:04:57 2016(r302408)
+++ head/sys/conf/newvers.shFri Jul  8 00:12:29 2016(r302409)
@@ -31,8 +31,8 @@
 # $FreeBSD$
 
 TYPE="FreeBSD"
-REVISION="11.0"
-BRANCH="ALPHA6"
+REVISION="12.0"
+BRANCH="CURRENT"
 if [ -n "${BRANCH_OVERRIDE}" ]; then
BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: head/sys/sys/param.h
==
--- head/sys/sys/param.hFri Jul  8 00:04:57 2016(r302408)
+++ head/sys/sys/param.hFri Jul  8 00:12:29 2016(r302409)
@@ -58,7 +58,7 @@
  * in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1100120  /* Master, propagated to newvers */
+#define __FreeBSD_version 120  /* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system 

svn commit: r302407 - svnadmin/conf

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:04:45 2016
New Revision: 302407
URL: https://svnweb.freebsd.org/changeset/base/302407

Log:
  Add stable/11 to the allowed paths.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  svnadmin/conf/paths

Modified: svnadmin/conf/paths
==
--- svnadmin/conf/paths Thu Jul  7 23:19:16 2016(r302406)
+++ svnadmin/conf/paths Fri Jul  8 00:04:45 2016(r302407)
@@ -18,6 +18,7 @@
 ^stable/8/
 ^stable/9/
 ^stable/10/
+^stable/11/
 
 # Feature branches.
 ^user/
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302408 - in stable/11: . contrib/top lib/libc/locale usr.sbin/bhyve

2016-07-07 Thread Glen Barber
Author: gjb
Date: Fri Jul  8 00:04:57 2016
New Revision: 302408
URL: https://svnweb.freebsd.org/changeset/base/302408

Log:
  Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
  Prune svn:mergeinfo from the new branch, as nothing has been merged
  here.
  
  Additional commits post-branch will follow.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Added:
 - copied from r302406, head/
Directory Properties:
  stable/11/   (props changed)
Modified:
Directory Properties:
  stable/11/MAINTAINERS   (props changed)
  stable/11/cddl/   (props changed)
  stable/11/cddl/contrib/opensolaris/   (props changed)
  stable/11/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/   (props 
changed)
  stable/11/cddl/contrib/opensolaris/cmd/zfs/   (props changed)
  stable/11/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  stable/11/contrib/amd/   (props changed)
  stable/11/contrib/apr/   (props changed)
  stable/11/contrib/apr-util/   (props changed)
  stable/11/contrib/atf/   (props changed)
  stable/11/contrib/binutils/   (props changed)
  stable/11/contrib/bmake/   (props changed)
  stable/11/contrib/byacc/   (props changed)
  stable/11/contrib/bzip2/   (props changed)
  stable/11/contrib/com_err/   (props changed)
  stable/11/contrib/compiler-rt/   (props changed)
  stable/11/contrib/dialog/   (props changed)
  stable/11/contrib/dma/   (props changed)
  stable/11/contrib/dtc/   (props changed)
  stable/11/contrib/ee/   (props changed)
  stable/11/contrib/elftoolchain/   (props changed)
  stable/11/contrib/elftoolchain/ar/   (props changed)
  stable/11/contrib/elftoolchain/brandelf/   (props changed)
  stable/11/contrib/elftoolchain/elfdump/   (props changed)
  stable/11/contrib/expat/   (props changed)
  stable/11/contrib/file/   (props changed)
  stable/11/contrib/gcc/   (props changed)
  stable/11/contrib/gcclibs/libgomp/   (props changed)
  stable/11/contrib/gdb/   (props changed)
  stable/11/contrib/gdtoa/   (props changed)
  stable/11/contrib/groff/   (props changed)
  stable/11/contrib/ipfilter/   (props changed)
  stable/11/contrib/ldns/   (props changed)
  stable/11/contrib/ldns-host/   (props changed)
  stable/11/contrib/less/   (props changed)
  stable/11/contrib/libarchive/   (props changed)
  stable/11/contrib/libarchive/cpio/   (props changed)
  stable/11/contrib/libarchive/libarchive/   (props changed)
  stable/11/contrib/libarchive/libarchive_fe/   (props changed)
  stable/11/contrib/libarchive/tar/   (props changed)
  stable/11/contrib/libc++/   (props changed)
  stable/11/contrib/libc-vis/   (props changed)
  stable/11/contrib/libcxxrt/   (props changed)
  stable/11/contrib/libexecinfo/   (props changed)
  stable/11/contrib/libpcap/   (props changed)
  stable/11/contrib/libstdc++/   (props changed)
  stable/11/contrib/libucl/   (props changed)
  stable/11/contrib/libxo/   (props changed)
  stable/11/contrib/llvm/   (props changed)
  stable/11/contrib/llvm/projects/libunwind/   (props changed)
  stable/11/contrib/llvm/tools/clang/   (props changed)
  stable/11/contrib/llvm/tools/lldb/   (props changed)
  stable/11/contrib/llvm/tools/llvm-dwarfdump/   (props changed)
  stable/11/contrib/llvm/tools/llvm-lto/   (props changed)
  stable/11/contrib/mdocml/   (props changed)
  stable/11/contrib/mtree/   (props changed)
  stable/11/contrib/ncurses/   (props changed)
  stable/11/contrib/netcat/   (props changed)
  stable/11/contrib/ntp/   (props changed)
  stable/11/contrib/nvi/   (props changed)
  stable/11/contrib/one-true-awk/   (props changed)
  stable/11/contrib/openbsm/   (props changed)
  stable/11/contrib/openpam/   (props changed)
  stable/11/contrib/openresolv/   (props changed)
  stable/11/contrib/pf/   (props changed)
  stable/11/contrib/sendmail/   (props changed)
  stable/11/contrib/serf/   (props changed)
  stable/11/contrib/sqlite3/   (props changed)
  stable/11/contrib/subversion/   (props changed)
  stable/11/contrib/tcpdump/   (props changed)
  stable/11/contrib/tcsh/   (props changed)
  stable/11/contrib/tnftp/   (props changed)
  stable/11/contrib/top/   (props changed)
  stable/11/contrib/top/install-sh   (props changed)
  stable/11/contrib/tzcode/stdtime/   (props changed)
  stable/11/contrib/tzcode/zic/   (props changed)
  stable/11/contrib/tzdata/   (props changed)
  stable/11/contrib/unbound/   (props changed)
  stable/11/contrib/vis/   (props changed)
  stable/11/contrib/wpa/   (props changed)
  stable/11/contrib/xz/   (props changed)
  stable/11/crypto/heimdal/   (props changed)
  stable/11/crypto/openssh/   (props changed)
  stable/11/crypto/openssl/   (props changed)
  stable/11/gnu/lib/   (props changed)
  stable/11/gnu/usr.bin/binutils/   (props changed)
  stable/11/gnu/usr.bin/cc/cc_tools/   (props changed)
  stable/11/gnu/usr.bin/gdb/   (props changed)
  stable/11/lib/libc/locale/ascii.c   (props changed)
  stable/11/sys/cddl/contrib/opensolaris/   (props changed)
  stable/11/sys/contrib/dev/acpica/   (props changed)
  

svn commit: r302404 - svnadmin/conf

2016-07-07 Thread Glen Barber
Author: gjb
Date: Thu Jul  7 23:17:00 2016
New Revision: 302404
URL: https://svnweb.freebsd.org/changeset/base/302404

Log:
  Enable the stable/11 approvers entry in preparation for branching.
  
  Approved by:  re (implicit)
  Sponsored by: The FreeBSD Foundation

Modified:
  svnadmin/conf/approvers

Modified: svnadmin/conf/approvers
==
--- svnadmin/conf/approvers Thu Jul  7 22:44:23 2016(r302403)
+++ svnadmin/conf/approvers Thu Jul  7 23:17:00 2016(r302404)
@@ -17,7 +17,7 @@
 # $FreeBSD$
 #
 ^head/ re
-#^stable/11/   re
+^stable/11/re
 #^stable/10/   re
 ^release/  re
 #^releng/11.0/ re
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302403 - head/sys/conf

2016-07-07 Thread Garrett Cooper
Author: ngie
Date: Thu Jul  7 22:44:23 2016
New Revision: 302403
URL: https://svnweb.freebsd.org/changeset/base/302403

Log:
  Do not use -fformat-extensions with non-base versions of gcc
  
  Ports versions of gcc do not have -fformat-extensions support.
  
  This unbreaks compiling the kernel/modules with non-base gcc (4.8,
  5.0, etc) if MK_FORMAT_EXTENSIONS=yes (the default).
  
  Approved by: re (gjb)
  Differential Revision: https://reviews.freebsd.org/D7150
  Reviewed by: bdrewery
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/sys/conf/kern.mk

Modified: head/sys/conf/kern.mk
==
--- head/sys/conf/kern.mk   Thu Jul  7 22:10:10 2016(r302402)
+++ head/sys/conf/kern.mk   Thu Jul  7 22:44:23 2016(r302403)
@@ -62,7 +62,7 @@ CWARNEXTRA?=  -Wno-uninitialized
 FORMAT_EXTENSIONS= -Wno-format
 .elif ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600
 FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__
-.else
+.elif ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} == 40201
 FORMAT_EXTENSIONS= -fformat-extensions
 .endif
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302402 - head/sys/dev/ahci

2016-07-07 Thread Alexander Motin
Author: mav
Date: Thu Jul  7 22:10:10 2016
New Revision: 302402
URL: https://svnweb.freebsd.org/changeset/base/302402

Log:
  Fix ahci(4) driver attach to controller with 32 ports.
  
  Incorrect sign expansion in variables that supposed to be a bit fields
  caused infinite loop.  Fixing this allows system properly detect maximal
  possible 32 devices configured on AHCI HBA of BHyVe.  That case did not
  happen in a wild before due to lack of hardware AHCI HBAs with 32 ports.
  
  Approved by:  re (gjb@)
  MFC after:1 week

Modified:
  head/sys/dev/ahci/ahci.c
  head/sys/dev/ahci/ahci.h

Modified: head/sys/dev/ahci/ahci.c
==
--- head/sys/dev/ahci/ahci.cThu Jul  7 21:44:59 2016(r302401)
+++ head/sys/dev/ahci/ahci.cThu Jul  7 22:10:10 2016(r302402)
@@ -166,8 +166,8 @@ int
 ahci_attach(device_t dev)
 {
struct ahci_controller *ctlr = device_get_softc(dev);
-   int error, i, u, speed, unit;
-   u_int32_t version;
+   int error, i, speed, unit;
+   uint32_t u, version;
device_t child;
 
ctlr->dev = dev;

Modified: head/sys/dev/ahci/ahci.h
==
--- head/sys/dev/ahci/ahci.hThu Jul  7 21:44:59 2016(r302401)
+++ head/sys/dev/ahci/ahci.hThu Jul  7 22:10:10 2016(r302402)
@@ -474,7 +474,7 @@ struct ahci_enclosure {
uint8_t status[AHCI_MAX_PORTS][4]; /* ArrayDev statuses 
*/
int quirks;
int channels;
-   int ichannels;
+   uint32_tichannels;
 };
 
 /* structure describing a AHCI controller */
@@ -509,7 +509,7 @@ struct ahci_controller {
int quirks;
int numirqs;
int channels;
-   int ichannels;
+   uint32_tichannels;
int ccc;/* CCC timeout */
int cccv;   /* CCC vector */
int direct; /* Direct command completion */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302401 - head/lib/libc/sys

2016-07-07 Thread Jilles Tjoelker
Author: jilles
Date: Thu Jul  7 21:44:59 2016
New Revision: 302401
URL: https://svnweb.freebsd.org/changeset/base/302401

Log:
  fcntl(2): Document interrupt/restart for file locks.
  
  Since r302216, thread suspension causes advisory file locks to restart
  (instead of continuing to wait) and for a long time SA_RESTART has
  affected advisory file locks. These are both not compliant to POSIX.1.
  
  To clarify that restarting means something, add a paragraph about fair
  queuing. Note that the network lock manager does not implement fair
  queuing.
  
  Reviewed by:  kib (previous version)
  Approved by:  re (gjb)

Modified:
  head/lib/libc/sys/fcntl.2

Modified: head/lib/libc/sys/fcntl.2
==
--- head/lib/libc/sys/fcntl.2   Thu Jul  7 21:03:50 2016(r302400)
+++ head/lib/libc/sys/fcntl.2   Thu Jul  7 21:44:59 2016(r302401)
@@ -28,7 +28,7 @@
 .\" @(#)fcntl.28.2 (Berkeley) 1/12/94
 .\" $FreeBSD$
 .\"
-.Dd February 8, 2013
+.Dd July 7, 2016
 .Dt FCNTL 2
 .Os
 .Sh NAME
@@ -363,6 +363,13 @@ request fails or blocks respectively whe
 locks on bytes in the specified region and the type of any of those
 locks conflicts with the type specified in the request.
 .Pp
+The queuing for
+.Dv F_SETLKW
+requests on local files is fair;
+that is, while the thread is blocked,
+subsequent requests conflicting with its requests will not be granted,
+even if these requests do not conflict with existing locks.
+.Pp
 This interface follows the completely stupid semantics of System V and
 .St -p1003.1-88
 that require that all locks associated with a file for a given process are
@@ -646,6 +653,20 @@ The
 .Dv F_DUP2FD
 constant is non portable.
 It is provided for compatibility with AIX and Solaris.
+.Pp
+Per
+.St -susv4 ,
+a call with
+.Dv F_SETLKW
+should fail with
+.Bq Er EINTR
+after any caught signal
+and should continue waiting during thread suspension such as a stop signal.
+However, in this implementation a call with
+.Dv F_SETLKW
+is restarted after catching a signal with a
+.Dv SA_RESTART
+handler or a thread suspension such as a stop signal.
 .Sh HISTORY
 The
 .Fn fcntl
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302400 - head

2016-07-07 Thread Bryan Drewery
Author: bdrewery
Date: Thu Jul  7 21:03:50 2016
New Revision: 302400
URL: https://svnweb.freebsd.org/changeset/base/302400

Log:
  WITH_SYSTEM_COMPILER: Don't enable for xdev or native-xtools.
  
  Otherwise they get no compiler.
  
  Reported by:  swills
  Tested by:swills
  Approved by:  re (gjb)
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Thu Jul  7 20:58:16 2016(r302399)
+++ head/Makefile.inc1  Thu Jul  7 21:03:50 2016(r302400)
@@ -82,7 +82,7 @@ MK_CROSS_COMPILER=no
 # Check if there is a local compiler that can satisfy as an external compiler.
 .if ${MK_SYSTEM_COMPILER} == "yes" && ${MK_CROSS_COMPILER} == "yes" && \
 (${MK_CLANG_BOOTSTRAP} == "yes" || ${MK_GCC_BOOTSTRAP} == "yes") && \
-!make(showconfig)
+!make(showconfig) && !make(native-xtools) && !make(xdev*)
 # Which compiler is expected to be used?
 .if ${MK_CLANG_BOOTSTRAP} == "yes"
 _expected_compiler_type=   clang
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302399 - head/sys/vm

2016-07-07 Thread Alan Cox
Author: alc
Date: Thu Jul  7 20:58:16 2016
New Revision: 302399
URL: https://svnweb.freebsd.org/changeset/base/302399

Log:
  Change the type of the map entry's next_read field from a vm_pindex_t to a
  vm_offset_t.  (This field is used to detect sequential access to the virtual
  address range represented by the map entry.)  There are three reasons to
  make this change.  First, a vm_offset_t is smaller on 32-bit architectures.
  Consequently, a struct vm_map_entry is now smaller on 32-bit architectures.
  Second, a vm_offset_t can be written atomically, whereas it may not be
  possible to write a vm_pindex_t atomically on a 32-bit architecture.  Third,
  using a vm_pindex_t makes the next_read field dependent on which object in
  the shadow chain is being read from.
  
  Replace an "XXX" comment.
  
  Reviewed by:  kib
  Approved by:  re (gjb)
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/sys/vm/vm_fault.c
  head/sys/vm/vm_map.c
  head/sys/vm/vm_map.h

Modified: head/sys/vm/vm_fault.c
==
--- head/sys/vm/vm_fault.c  Thu Jul  7 20:50:59 2016(r302398)
+++ head/sys/vm/vm_fault.c  Thu Jul  7 20:58:16 2016(r302399)
@@ -570,9 +570,9 @@ readrest:
behind = 0;
nera = VM_FAULT_READ_AHEAD_MAX;
ahead = nera;
-   if (fs.pindex == fs.entry->next_read)
+   if (vaddr == fs.entry->next_read)
vm_fault_dontneed(, vaddr, ahead);
-   } else if (fs.pindex == fs.entry->next_read) {
+   } else if (vaddr == fs.entry->next_read) {
/*
 * This is a sequential fault.  Arithmetically
 * increase the requested number of pages in
@@ -927,15 +927,15 @@ vnode_locked:
prot &= retry_prot;
}
}
+
/*
-* If the page was filled by a pager, update the map entry's
-* last read offset.
-*
-* XXX The following assignment modifies the map
-* without holding a write lock on it.
+* If the page was filled by a pager, save the virtual address that
+* should be faulted on next under a sequential access pattern to the
+* map entry.  A read lock on the map suffices to update this address
+* safely.
 */
if (hardfault)
-   fs.entry->next_read = fs.pindex + ahead + 1;
+   fs.entry->next_read = vaddr + ptoa(ahead) + PAGE_SIZE;
 
vm_fault_dirty(fs.entry, fs.m, prot, fault_type, fault_flags, TRUE);
vm_page_assert_xbusied(fs.m);

Modified: head/sys/vm/vm_map.c
==
--- head/sys/vm/vm_map.cThu Jul  7 20:50:59 2016(r302398)
+++ head/sys/vm/vm_map.cThu Jul  7 20:58:16 2016(r302399)
@@ -1330,7 +1330,7 @@ charged:
new_entry->wired_count = 0;
new_entry->wiring_thread = NULL;
new_entry->read_ahead = VM_FAULT_READ_AHEAD_INIT;
-   new_entry->next_read = OFF_TO_IDX(offset);
+   new_entry->next_read = start;
 
KASSERT(cred == NULL || !ENTRY_CHARGED(new_entry),
("OVERCOMMIT: vm_map_insert leaks vm_map %p", new_entry));

Modified: head/sys/vm/vm_map.h
==
--- head/sys/vm/vm_map.hThu Jul  7 20:50:59 2016(r302398)
+++ head/sys/vm/vm_map.hThu Jul  7 20:58:16 2016(r302399)
@@ -104,6 +104,7 @@ struct vm_map_entry {
vm_offset_t start;  /* start address */
vm_offset_t end;/* end address */
vm_offset_t avail_ssize;/* amt can grow if this is a stack */
+   vm_offset_t next_read;  /* vaddr of the next sequential read */
vm_size_t adj_free; /* amount of adjacent free space */
vm_size_t max_free; /* max free space in subtree */
union vm_map_object object; /* object I point to */
@@ -114,7 +115,6 @@ struct vm_map_entry {
vm_inherit_t inheritance;   /* inheritance */
uint8_t read_ahead; /* pages in the read-ahead window */
int wired_count;/* can be paged if = 0 */
-   vm_pindex_t next_read;  /* index of the next sequential read */
struct ucred *cred; /* tmp storage for creator ref */
struct thread *wiring_thread;
 };
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302398 - head/usr.bin/lorder

2016-07-07 Thread Ed Maste
Author: emaste
Date: Thu Jul  7 20:50:59 2016
New Revision: 302398
URL: https://svnweb.freebsd.org/changeset/base/302398

Log:
  lorder: produce locale-independent symbol ordering
  
  Found by the Debian reproducible builds effort -- Debian bug 830259.
  
  Reported by:  Reiner Herrmann 
  Approved by:  re (gjb)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.bin/lorder/lorder.sh

Modified: head/usr.bin/lorder/lorder.sh
==
--- head/usr.bin/lorder/lorder.sh   Thu Jul  7 20:36:07 2016
(r302397)
+++ head/usr.bin/lorder/lorder.sh   Thu Jul  7 20:50:59 2016
(r302398)
@@ -73,6 +73,7 @@ ${NM} ${NMFLAGS} -go $* | sed "
d
 "
 
+export LC_ALL=C
 # eliminate references that can be resolved by the same library.
 if [ $(expr "$*" : '.*\.a[[:>:]]') -ne 0 ]; then
sort -u -o $S $S
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302396 - head/sys/cam

2016-07-07 Thread Warner Losh
Author: imp
Date: Thu Jul  7 20:31:35 2016
New Revision: 302396
URL: https://svnweb.freebsd.org/changeset/base/302396

Log:
  Tidy up loose ends from Netflix I/O sched rename to dynamic I/O sched.
  Rename kern.cam.do_netflix_iosched sysctl to
  kern.cam.do_dynamic_iosched.
  
  Approved by: re (kib@)

Modified:
  head/sys/cam/cam_iosched.c

Modified: head/sys/cam/cam_iosched.c
==
--- head/sys/cam/cam_iosched.c  Thu Jul  7 20:28:57 2016(r302395)
+++ head/sys/cam/cam_iosched.c  Thu Jul  7 20:31:35 2016(r302396)
@@ -59,15 +59,19 @@ static MALLOC_DEFINE(M_CAMSCHED, "CAM I/
  * Default I/O scheduler for FreeBSD. This implementation is just a thin-vineer
  * over the bioq_* interface, with notions of separate calls for normal I/O and
  * for trims.
+ *
+ * When CAM_IOSCHED_DYNAMIC is defined, the scheduler is enhanced to 
dynamically
+ * steer the rate of one type of traffic to help other types of traffic (eg
+ * limit writes when read latency deteriorates on SSDs).
  */
 
 #ifdef CAM_IOSCHED_DYNAMIC
 
-static int do_netflix_iosched = 1;
-TUNABLE_INT("kern.cam.do_netflix_iosched", _netflix_iosched);
-SYSCTL_INT(_kern_cam, OID_AUTO, do_netflix_iosched, CTLFLAG_RD,
-_netflix_iosched, 1,
-"Enable Netflix I/O scheduler optimizations.");
+static int do_dynamic_iosched = 1;
+TUNABLE_INT("kern.cam.do_dynamic_iosched", _dynamic_iosched);
+SYSCTL_INT(_kern_cam, OID_AUTO, do_dynamic_iosched, CTLFLAG_RD,
+_dynamic_iosched, 1,
+"Enable Dynamic I/O scheduler optimizations.");
 
 static int alpha_bits = 9;
 TUNABLE_INT("kern.cam.iosched_alpha_bits", _bits);
@@ -640,7 +644,7 @@ static inline int
 cam_iosched_has_io(struct cam_iosched_softc *isc)
 {
 #ifdef CAM_IOSCHED_DYNAMIC
-   if (do_netflix_iosched) {
+   if (do_dynamic_iosched) {
struct bio *rbp = bioq_first(>bio_queue);
struct bio *wbp = bioq_first(>write_queue);
int can_write = wbp != NULL &&
@@ -954,7 +958,7 @@ cam_iosched_init(struct cam_iosched_soft
bioq_init(&(*iscp)->bio_queue);
bioq_init(&(*iscp)->trim_queue);
 #ifdef CAM_IOSCHED_DYNAMIC
-   if (do_netflix_iosched) {
+   if (do_dynamic_iosched) {
bioq_init(&(*iscp)->write_queue);
(*iscp)->read_bias = 100;
(*iscp)->current_read_bias = 100;
@@ -1019,7 +1023,7 @@ void cam_iosched_sysctl_init(struct cam_
"Sort IO queue to try and optimise disk access patterns");
 
 #ifdef CAM_IOSCHED_DYNAMIC
-   if (!do_netflix_iosched)
+   if (!do_dynamic_iosched)
return;
 
isc->sysctl_tree = SYSCTL_ADD_NODE(>sysctl_ctx,
@@ -1061,7 +1065,7 @@ cam_iosched_flush(struct cam_iosched_sof
bioq_flush(>bio_queue, stp, err);
bioq_flush(>trim_queue, stp, err);
 #ifdef CAM_IOSCHED_DYNAMIC
-   if (do_netflix_iosched)
+   if (do_dynamic_iosched)
bioq_flush(>write_queue, stp, err);
 #endif
 }
@@ -1206,7 +1210,7 @@ cam_iosched_next_bio(struct cam_iosched_
 * See if we have any pending writes, and room in the queue for them,
 * and if so, those are next.
 */
-   if (do_netflix_iosched) {
+   if (do_dynamic_iosched) {
if ((bp = cam_iosched_get_write(isc)) != NULL)
return bp;
}
@@ -1223,7 +1227,7 @@ cam_iosched_next_bio(struct cam_iosched_
 * For the netflix scheduler, bio_queue is only for reads, so enforce
 * the limits here. Enforce only for reads.
 */
-   if (do_netflix_iosched) {
+   if (do_dynamic_iosched) {
if (bp->bio_cmd == BIO_READ &&
cam_iosched_limiter_iop(>read_stats, bp) != 0)
return NULL;
@@ -1231,7 +1235,7 @@ cam_iosched_next_bio(struct cam_iosched_
 #endif
bioq_remove(>bio_queue, bp);
 #ifdef CAM_IOSCHED_DYNAMIC
-   if (do_netflix_iosched) {
+   if (do_dynamic_iosched) {
if (bp->bio_cmd == BIO_READ) {
isc->read_stats.queued--;
isc->read_stats.total++;
@@ -1268,7 +1272,7 @@ cam_iosched_queue_work(struct cam_iosche
 #endif
}
 #ifdef CAM_IOSCHED_DYNAMIC
-   else if (do_netflix_iosched &&
+   else if (do_dynamic_iosched &&
(bp->bio_cmd == BIO_WRITE || bp->bio_cmd == BIO_FLUSH)) {
if (cam_iosched_sort_queue(isc))
bioq_disksort(>write_queue, bp);
@@ -1332,7 +1336,7 @@ cam_iosched_bio_complete(struct cam_iosc
 {
int retval = 0;
 #ifdef CAM_IOSCHED_DYNAMIC
-   if (!do_netflix_iosched)
+   if (!do_dynamic_iosched)
return retval;
 
if (iosched_debug > 10)
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302394 - head/sys/arm/ti/cpsw

2016-07-07 Thread Luiz Otavio O Souza
Author: loos
Date: Thu Jul  7 20:01:03 2016
New Revision: 302394
URL: https://svnweb.freebsd.org/changeset/base/302394

Log:
  Fix a lockup in tx path for cspw.
  
  Sometimes the software loses the race when appending more descriptors to
  the tx ring and the tx queue stops.
  
  This commit detects this condition and restart the tx queue whenever it stall.
  
  Tested by:sobomax@, Keith White ,
Paul Mather 
  Sponsored by: Rubicon Communications (Netgate)
  Approved by:  re (kib)

Modified:
  head/sys/arm/ti/cpsw/if_cpsw.c
  head/sys/arm/ti/cpsw/if_cpswvar.h

Modified: head/sys/arm/ti/cpsw/if_cpsw.c
==
--- head/sys/arm/ti/cpsw/if_cpsw.c  Thu Jul  7 18:37:12 2016
(r302393)
+++ head/sys/arm/ti/cpsw/if_cpsw.c  Thu Jul  7 20:01:03 2016
(r302394)
@@ -1874,6 +1874,7 @@ cpswp_tx_enqueue(struct cpswp_softc *sc)
return;
} else if (last_old_slot == NULL) {
/* Start a fresh queue. */
+   sc->swsc->last_hdp = cpsw_cpdma_bd_paddr(sc->swsc, 
first_new_slot);
cpsw_write_hdp_slot(sc->swsc, >swsc->tx, first_new_slot);
} else {
/* Add buffers to end of current queue. */
@@ -1882,6 +1883,7 @@ cpswp_tx_enqueue(struct cpswp_softc *sc)
/* If underrun, restart queue. */
if (cpsw_cpdma_read_bd_flags(sc->swsc, last_old_slot) &
CPDMA_BD_EOQ) {
+   sc->swsc->last_hdp = cpsw_cpdma_bd_paddr(sc->swsc, 
first_new_slot);
cpsw_write_hdp_slot(sc->swsc, >swsc->tx,
first_new_slot);
}
@@ -1897,6 +1899,7 @@ static int
 cpsw_tx_dequeue(struct cpsw_softc *sc)
 {
struct cpsw_slot *slot, *last_removed_slot = NULL;
+   struct cpsw_cpdma_bd bd;
uint32_t flags, removed = 0;
 
slot = STAILQ_FIRST(>tx.active);
@@ -1931,13 +1934,26 @@ cpsw_tx_dequeue(struct cpsw_softc *sc)
}
 
/* TearDown complete is only marked on the SOP for the packet. 
*/
-   if (flags & CPDMA_BD_TDOWNCMPLT) {
+   if ((flags & (CPDMA_BD_SOP | CPDMA_BD_TDOWNCMPLT)) ==
+   (CPDMA_BD_EOP | CPDMA_BD_TDOWNCMPLT)) {
CPSW_DEBUGF(sc, ("TX teardown in progress"));
cpsw_write_cp(sc, >tx, 0xfffc);
// TODO: Increment a count of dropped TX packets
sc->tx.running = 0;
break;
}
+
+   if ((flags & CPDMA_BD_EOP) == 0)
+   flags = cpsw_cpdma_read_bd_flags(sc, last_removed_slot);
+   if ((flags & (CPDMA_BD_EOP | CPDMA_BD_EOQ)) ==
+   (CPDMA_BD_EOP | CPDMA_BD_EOQ)) {
+   cpsw_cpdma_read_bd(sc, last_removed_slot, );
+   if (bd.next != 0 && bd.next != sc->last_hdp) {
+   /* Restart the queue. */
+   sc->last_hdp = bd.next;
+   cpsw_write_4(sc, sc->tx.hdp_offset, bd.next);
+   }
+   }
}
 
if (removed != 0) {

Modified: head/sys/arm/ti/cpsw/if_cpswvar.h
==
--- head/sys/arm/ti/cpsw/if_cpswvar.h   Thu Jul  7 18:37:12 2016
(r302393)
+++ head/sys/arm/ti/cpsw/if_cpswvar.h   Thu Jul  7 20:01:03 2016
(r302394)
@@ -83,6 +83,7 @@ struct cpsw_softc {
 
/* RX and TX buffer tracking */
struct cpsw_queue rx, tx;
+   uint32_tlast_hdp;
 
/* We expect 1 memory resource and 4 interrupts from the device tree. */
int mem_rid;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302393 - head/sys/vm

2016-07-07 Thread Colin Percival
Author: cperciva
Date: Thu Jul  7 18:37:12 2016
New Revision: 302393
URL: https://svnweb.freebsd.org/changeset/base/302393

Log:
  Autotune the number of pages set aside for UMA startup based on the number
  of CPUs present.  On amd64 this unbreaks the boot for systems with 92 or
  more CPUs; the limit will vary on other systems depending on the size of
  their uma_zone and uma_cache structures.
  
  The major consumer of pages during UMA startup is the 19 zone structures
  which are set up before UMA has bootstrapped itself sufficiently to use
  the rest of the available memory:  UMA Slabs, UMA Hash, 4 / 6 / 8 / 12 /
  16 / 32 / 64 / 128 / 256 Bucket, vmem btag, VM OBJECT, RADIX NODE, MAP,
  KMAP ENTRY, MAP ENTRY, VMSPACE, and fakepg.  If the zone structures occupy
  more than one page, they will not share pages and the number of pages
  currently needed for startup is 19 * pages_per_zone + N, where N is the
  number of pages used for allocating other structures; on amd64 N = 3 at
  present (2 pages are allocated for UMA Kegs, and one page for UMA Hash).
  
  This patch adds a new definition UMA_BOOT_PAGES_ZONES, currently set to 32,
  and if a zone structure does not fit into a single page sets boot_pages to
  UMA_BOOT_PAGES_ZONES * pages_per_zone instead of UMA_BOOT_PAGES (which
  remains at 64).  Consequently this patch has no effect on systems where the
  zone structure fits into 2 or fewer pages (on amd64, 59 or fewer CPUs), but
  increases boot_pages sufficiently on systems where the large number of CPUs
  makes this structure larger.  It seems safe to assume that systems with 60+
  CPUs can afford to set aside an additional 128kB of memory per 32 CPUs.
  
  The vm.boot_pages tunable continues to override this computation, but is
  unlikely to be necessary in the future.
  
  Tested on:EC2 x1.32xlarge
  Relnotes: FreeBSD can now boot on 92+ CPU systems without requiring
vm.boot_pages to be manually adjusted.
  Reviewed by:  jeff, alc, adrian
  Approved by:  re (kib)

Modified:
  head/sys/vm/uma_int.h
  head/sys/vm/vm_page.c

Modified: head/sys/vm/uma_int.h
==
--- head/sys/vm/uma_int.h   Thu Jul  7 17:22:13 2016(r302392)
+++ head/sys/vm/uma_int.h   Thu Jul  7 18:37:12 2016(r302393)
@@ -110,6 +110,8 @@
 #define UMA_SLAB_SHIFT PAGE_SHIFT  /* Number of bits PAGE_MASK */
 
 #define UMA_BOOT_PAGES 64  /* Pages allocated for startup */
+#define UMA_BOOT_PAGES_ZONES   32  /* Multiplier for pages to reserve */
+   /* if uma_zone > PAGE_SIZE */
 
 /* Max waste percentage before going to off page slab management */
 #define UMA_MAX_WASTE  10

Modified: head/sys/vm/vm_page.c
==
--- head/sys/vm/vm_page.c   Thu Jul  7 17:22:13 2016(r302392)
+++ head/sys/vm/vm_page.c   Thu Jul  7 18:37:12 2016(r302393)
@@ -99,6 +99,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -426,6 +427,7 @@ vm_page_startup(vm_offset_t vaddr)
vm_paddr_t biggestsize;
vm_paddr_t low_water, high_water;
int biggestone;
+   int pages_per_zone;
 
biggestsize = 0;
biggestone = 0;
@@ -470,6 +472,19 @@ vm_page_startup(vm_offset_t vaddr)
vm_page_domain_init(_dom[i]);
 
/*
+* Almost all of the pages needed for boot strapping UMA are used
+* for zone structures, so if the number of CPUs results in those
+* structures taking more than one page each, we set aside more pages
+* in proportion to the zone structure size.
+*/
+   pages_per_zone = howmany(sizeof(struct uma_zone) +
+   sizeof(struct uma_cache) * (mp_maxid + 1), UMA_SLAB_SIZE);
+   if (pages_per_zone > 1) {
+   /* Reserve more pages so that we don't run out. */
+   boot_pages = UMA_BOOT_PAGES_ZONES * pages_per_zone;
+   }
+
+   /*
 * Allocate memory for use when boot strapping the kernel memory
 * allocator.
 *
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r302391 - head

2016-07-07 Thread Warner Losh
On Thu, Jul 7, 2016 at 12:08 PM, Bryan Drewery  wrote:
> On 7/7/16 8:25 AM, Andrew Turner wrote:
>> Author: andrew
>> Date: Thu Jul  7 15:25:14 2016
>> New Revision: 302391
>> URL: https://svnweb.freebsd.org/changeset/base/302391
>>
>> Log:
>>   Stop deleting ofwdump.8.gz on arm and arm64 when running make delete-old,
>>   it is installed on these architectures.
>>
>>   Approved by:re (kib)
>>   Sponsored by:   ABT Systems Ltd
>>
>> Modified:
>>   head/ObsoleteFiles.inc
>>
>> Modified: head/ObsoleteFiles.inc
>> ==
>> --- head/ObsoleteFiles.incThu Jul  7 14:29:23 2016(r302390)
>> +++ head/ObsoleteFiles.incThu Jul  7 15:25:14 2016(r302391)
>> @@ -8014,7 +8014,9 @@ OLD_FILES+=usr/share/man/man5/usbd.conf.
>>  .if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64"
>>  OLD_FILES+=usr/share/man/man8/boot_i386.8.gz
>>  .endif
>> -.if ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && 
>> ${TARGET_ARCH} != "sparc64"
>> +.if ${TARGET_ARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm" && \
>
> TARGET_CPUARCH is not valid here.

Also, shouldn't we have some MK variable that controls this in the
first place? This ifdef soup needs
to be cleaned up.

Warner


> # make check-old
> make[1]: "/root/git/freebsd/ObsoleteFiles.inc" line 8019: Malformed
> conditional (${TARGET_ARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm"
> &&  ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" &&
> ${TARGET_ARCH} != "sparc64")
> make[1]: Fatal errors encountered -- cannot continue
> make[1]: stopped in /root/git/freebsd
>
>> +${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && \
>> +${TARGET_ARCH} != "sparc64"
>>  OLD_FILES+=usr/share/man/man8/ofwdump.8.gz
>>  .endif
>>  OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz
>>
>
>
> --
> Regards,
> Bryan Drewery
>
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r302391 - head

2016-07-07 Thread Bryan Drewery
On 7/7/16 8:25 AM, Andrew Turner wrote:
> Author: andrew
> Date: Thu Jul  7 15:25:14 2016
> New Revision: 302391
> URL: https://svnweb.freebsd.org/changeset/base/302391
> 
> Log:
>   Stop deleting ofwdump.8.gz on arm and arm64 when running make delete-old,
>   it is installed on these architectures.
>   
>   Approved by:re (kib)
>   Sponsored by:   ABT Systems Ltd
> 
> Modified:
>   head/ObsoleteFiles.inc
> 
> Modified: head/ObsoleteFiles.inc
> ==
> --- head/ObsoleteFiles.incThu Jul  7 14:29:23 2016(r302390)
> +++ head/ObsoleteFiles.incThu Jul  7 15:25:14 2016(r302391)
> @@ -8014,7 +8014,9 @@ OLD_FILES+=usr/share/man/man5/usbd.conf.
>  .if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64"
>  OLD_FILES+=usr/share/man/man8/boot_i386.8.gz
>  .endif
> -.if ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && 
> ${TARGET_ARCH} != "sparc64"
> +.if ${TARGET_ARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm" && \

TARGET_CPUARCH is not valid here.

# make check-old
make[1]: "/root/git/freebsd/ObsoleteFiles.inc" line 8019: Malformed
conditional (${TARGET_ARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm"
&&  ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" &&
${TARGET_ARCH} != "sparc64")
make[1]: Fatal errors encountered -- cannot continue
make[1]: stopped in /root/git/freebsd

> +${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && \
> +${TARGET_ARCH} != "sparc64"
>  OLD_FILES+=usr/share/man/man8/ofwdump.8.gz
>  .endif
>  OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz
> 


-- 
Regards,
Bryan Drewery
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r302391 - head

2016-07-07 Thread Ed Maste
On 7 July 2016 at 11:25, Andrew Turner  wrote:
> Author: andrew
> Date: Thu Jul  7 15:25:14 2016
> New Revision: 302391
> URL: https://svnweb.freebsd.org/changeset/base/302391
>
> Log:
>   Stop deleting ofwdump.8.gz on arm and arm64 when running make delete-old,
>   it is installed on these architectures.

It's also installed on MIPS.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302392 - head/sys/dev/ath

2016-07-07 Thread Adrian Chadd
Author: adrian
Date: Thu Jul  7 17:22:13 2016
New Revision: 302392
URL: https://svnweb.freebsd.org/changeset/base/302392

Log:
  [ath] obey the short-GI vap config flag when transmitting.
  
  This makes 'ifconfig wlanX -shortgi' work correctly.
  
  Tested:
  
  * AR9380, STA mode
  
  Approved by:  re (gjb)

Modified:
  head/sys/dev/ath/if_ath_tx_ht.c

Modified: head/sys/dev/ath/if_ath_tx_ht.c
==
--- head/sys/dev/ath/if_ath_tx_ht.c Thu Jul  7 15:25:14 2016
(r302391)
+++ head/sys/dev/ath/if_ath_tx_ht.c Thu Jul  7 17:22:13 2016
(r302392)
@@ -222,6 +222,7 @@ void
 ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf)
 {
struct ieee80211_node *ni = bf->bf_node;
+   struct ieee80211vap *vap = ni->ni_vap;
struct ieee80211com *ic = ni->ni_ic;
const HAL_RATE_TABLE *rt = sc->sc_currates;
struct ath_rc_series *rc = bf->bf_state.bfs_rc;
@@ -280,12 +281,14 @@ ath_tx_rate_fill_rcflags(struct ath_soft
 
if (ni->ni_chw == 40 &&
ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI40 &&
-   ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40)
+   ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40 &&
+   vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40)
rc[i].flags |= ATH_RC_SGI_FLAG;
 
if (ni->ni_chw == 20 &&
ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI20 &&
-   ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20)
+   ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20 &&
+   vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20)
rc[i].flags |= ATH_RC_SGI_FLAG;
 
/*
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302391 - head

2016-07-07 Thread Andrew Turner
Author: andrew
Date: Thu Jul  7 15:25:14 2016
New Revision: 302391
URL: https://svnweb.freebsd.org/changeset/base/302391

Log:
  Stop deleting ofwdump.8.gz on arm and arm64 when running make delete-old,
  it is installed on these architectures.
  
  Approved by:  re (kib)
  Sponsored by: ABT Systems Ltd

Modified:
  head/ObsoleteFiles.inc

Modified: head/ObsoleteFiles.inc
==
--- head/ObsoleteFiles.inc  Thu Jul  7 14:29:23 2016(r302390)
+++ head/ObsoleteFiles.inc  Thu Jul  7 15:25:14 2016(r302391)
@@ -8014,7 +8014,9 @@ OLD_FILES+=usr/share/man/man5/usbd.conf.
 .if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64"
 OLD_FILES+=usr/share/man/man8/boot_i386.8.gz
 .endif
-.if ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && 
${TARGET_ARCH} != "sparc64"
+.if ${TARGET_ARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm" && \
+${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && \
+${TARGET_ARCH} != "sparc64"
 OLD_FILES+=usr/share/man/man8/ofwdump.8.gz
 .endif
 OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302390 - head/release/doc/en_US.ISO8859-1/relnotes

2016-07-07 Thread Steven Kreuzer
Author: skreuzer (doc,ports committer)
Date: Thu Jul  7 14:29:23 2016
New Revision: 302390
URL: https://svnweb.freebsd.org/changeset/base/302390

Log:
  Document 299786, Support for X-Powers AXP813 and AXP818 PMIC
  
  Approved by:  re (gjb, implicit, relnotes)

Modified:
  head/release/doc/en_US.ISO8859-1/relnotes/article.xml

Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml
==
--- head/release/doc/en_US.ISO8859-1/relnotes/article.xml   Thu Jul  7 
09:22:41 2016(r302389)
+++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml   Thu Jul  7 
14:29:23 2016(r302390)
@@ -1513,6 +1513,9 @@
Support for the Allwinner H3 SoC
has been added.
 
+  Support for X-Powers AXP813 and
+   AXP818 power management integrated circuits have been added.
+
   Support for GPIO, Sensors and
interrupts on AXP209 power management integrated circuits have been
added.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302389 - svnadmin/conf

2016-07-07 Thread Andrew Turner
Author: andrew
Date: Thu Jul  7 09:22:41 2016
New Revision: 302389
URL: https://svnweb.freebsd.org/changeset/base/302389

Log:
  Free Emmanuel Vadot from mentorship to collect his own pointy hats.

Modified:
  svnadmin/conf/mentors

Modified: svnadmin/conf/mentors
==
--- svnadmin/conf/mentors   Thu Jul  7 09:03:57 2016(r302388)
+++ svnadmin/conf/mentors   Thu Jul  7 09:22:41 2016(r302389)
@@ -26,7 +26,6 @@ kadesai   ken Co-mentor: scottl, 
ambrisk
 karels gnn
 landonfadrian
 mahrensmckusick
-manu   andrew  Co-mentor: cognet
 miwi   rwatson
 monthadar  adrian
 peterj jhb Co-mentor: grog
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r302388 - in head: sbin/umount sys/kern sys/sys usr.sbin/autofs

2016-07-07 Thread Edward Tomasz Napierala
Author: trasz
Date: Thu Jul  7 09:03:57 2016
New Revision: 302388
URL: https://svnweb.freebsd.org/changeset/base/302388

Log:
  Add new unmount(2) flag, MNT_NONBUSY, to check whether there are
  any open vnodes before proceeding. Make autounmound(8) use this flag.
  Without it, even an unsuccessfull unmount causes filesystem flush,
  which interferes with normal operation.
  
  Reviewed by:  kib@
  Approved by:  re (gjb@)
  MFC after:1 month
  Differential Revision:https://reviews.freebsd.org/D7047

Modified:
  head/sbin/umount/umount.8
  head/sbin/umount/umount.c
  head/sys/kern/vfs_mount.c
  head/sys/sys/mount.h
  head/usr.sbin/autofs/autounmountd.c

Modified: head/sbin/umount/umount.8
==
--- head/sbin/umount/umount.8   Thu Jul  7 05:47:42 2016(r302387)
+++ head/sbin/umount/umount.8   Thu Jul  7 09:03:57 2016(r302388)
@@ -28,7 +28,7 @@
 .\" @(#)umount.8   8.2 (Berkeley) 5/8/95
 .\" $FreeBSD$
 .\"
-.Dd June 17, 2015
+.Dd July 7, 2016
 .Dt UMOUNT 8
 .Os
 .Sh NAME
@@ -36,12 +36,12 @@
 .Nd unmount file systems
 .Sh SYNOPSIS
 .Nm
-.Op Fl fv
+.Op Fl fnv
 .Ar special ... | node ... | fsid ...
 .Nm
 .Fl a | A
 .Op Fl F Ar fstab
-.Op Fl fv
+.Op Fl fnv
 .Op Fl h Ar host
 .Op Fl t Ar type
 .Sh DESCRIPTION
@@ -94,6 +94,15 @@ option and, unless otherwise specified w
 option, will only unmount
 .Tn NFS
 file systems.
+.It Fl n
+Unless the
+.Fl f
+is used, the
+.Nm
+will not unmount an active file system.
+It will, however, perform a flush.
+This flag disables this behaviour, preventing the flush
+if there are any files open.
 .It Fl t Ar type
 Is used to indicate the actions should only be taken on
 file systems of the specified type.

Modified: head/sbin/umount/umount.c
==
--- head/sbin/umount/umount.c   Thu Jul  7 05:47:42 2016(r302387)
+++ head/sbin/umount/umount.c   Thu Jul  7 09:03:57 2016(r302388)
@@ -91,7 +91,7 @@ main(int argc, char *argv[])
struct addrinfo hints;
 
all = errs = 0;
-   while ((ch = getopt(argc, argv, "AaF:fh:t:v")) != -1)
+   while ((ch = getopt(argc, argv, "AaF:fh:nt:v")) != -1)
switch (ch) {
case 'A':
all = 2;
@@ -103,12 +103,15 @@ main(int argc, char *argv[])
setfstab(optarg);
break;
case 'f':
-   fflag = MNT_FORCE;
+   fflag |= MNT_FORCE;
break;
case 'h':   /* -h implies -A. */
all = 2;
nfshost = optarg;
break;
+   case 'n':
+   fflag |= MNT_NONBUSY;
+   break;
case 't':
if (typelist != NULL)
err(1, "only one -t option may be specified");
@@ -124,8 +127,11 @@ main(int argc, char *argv[])
argc -= optind;
argv += optind;
 
+   if ((fflag & MNT_FORCE) != 0 && (fflag & MNT_NONBUSY) != 0)
+   err(1, "-f and -n are mutually exclusive");
+
/* Start disks transferring immediately. */
-   if ((fflag & MNT_FORCE) == 0)
+   if ((fflag & (MNT_FORCE | MNT_NONBUSY)) == 0)
sync();
 
if ((argc == 0 && !all) || (argc != 0 && all))
@@ -609,7 +615,7 @@ usage(void)
 {
 
(void)fprintf(stderr, "%s\n%s\n",
-   "usage: umount [-fv] special ... | node ... | fsid ...",
-   "   umount -a | -A [-F fstab] [-fv] [-h host] [-t type]");
+   "usage: umount [-fnv] special ... | node ... | fsid ...",
+   "   umount -a | -A [-F fstab] [-fnv] [-h host] [-t type]");
exit(1);
 }

Modified: head/sys/kern/vfs_mount.c
==
--- head/sys/kern/vfs_mount.c   Thu Jul  7 05:47:42 2016(r302387)
+++ head/sys/kern/vfs_mount.c   Thu Jul  7 09:03:57 2016(r302388)
@@ -1205,6 +1205,28 @@ sys_unmount(struct thread *td, struct un
 }
 
 /*
+ * Return error if any of the vnodes, ignoring the root vnode
+ * and the syncer vnode, have non-zero usecount.
+ */
+static int
+vfs_check_usecounts(struct mount *mp)
+{
+   struct vnode *vp, *mvp;
+
+   MNT_VNODE_FOREACH_ALL(vp, mp, mvp) {
+   if ((vp->v_vflag & VV_ROOT) == 0 && vp->v_type != VNON &&
+   vp->v_usecount != 0) {
+   VI_UNLOCK(vp);
+   MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
+   return (EBUSY);
+   }
+   VI_UNLOCK(vp);
+   }
+
+   return (0);
+}
+
+/*
  * Do the actual filesystem unmount.
  */
 int
@@ -1260,6 +1282,21 @@ dounmount(struct mount *mp, int flags, s
return (EBUSY);
}
mp->mnt_kern_flag |= MNTK_UNMOUNT