Re: svn commit: r260463 - head/sys/dev/usb/wlan

2014-01-09 Thread Gleb Smirnoff
On Thu, Jan 09, 2014 at 01:48:34AM +, Kevin Lo wrote:
K Author: kevlo
K Date: Thu Jan  9 01:48:33 2014
K New Revision: 260463
K URL: http://svnweb.freebsd.org/changeset/base/260463
K 
K Log:
K   Replace deprecated M_DONTWAIT with M_NOWAIT.
K 
K Modified:
K   head/sys/dev/usb/wlan/if_rsu.c
K   head/sys/dev/usb/wlan/if_urtwn.c
K 
K Modified: head/sys/dev/usb/wlan/if_rsu.c
K 
==
K --- head/sys/dev/usb/wlan/if_rsu.c   Thu Jan  9 00:59:03 2014
(r260462)
K +++ head/sys/dev/usb/wlan/if_rsu.c   Thu Jan  9 01:48:33 2014
(r260463)
K @@ -1145,11 +1145,11 @@ rsu_event_survey(struct rsu_softc *sc, u
K  pktlen = sizeof(*wh) + le32toh(bss-ieslen);
K  if (__predict_false(pktlen  MCLBYTES))
K  return;
K -MGETHDR(m, M_DONTWAIT, MT_DATA);
K +MGETHDR(m, M_NOWAIT, MT_DATA);
K  if (__predict_false(m == NULL))
K  return;
K  if (pktlen  MHLEN) {
K -MCLGET(m, M_DONTWAIT);
K +MCLGET(m, M_NOWAIT);
K  if (!(m-m_flags  M_EXT)) {
K  m_free(m);
K  return;
K @@ -1358,13 +1358,13 @@ rsu_rx_frame(struct rsu_softc *sc, uint8
K  DPRINTFN(5, Rx frame len=%d rate=%d infosz=%d rssi=%d\n,
K  pktlen, rate, infosz, *rssi);
K  
K -MGETHDR(m, M_DONTWAIT, MT_DATA);
K +MGETHDR(m, M_NOWAIT, MT_DATA);
K  if (__predict_false(m == NULL)) {
K  ifp-if_ierrors++;
K  return NULL;
K  }
K  if (pktlen  MHLEN) {
K -MCLGET(m, M_DONTWAIT);
K +MCLGET(m, M_NOWAIT);
K  if (__predict_false(!(m-m_flags  M_EXT))) {
K  ifp-if_ierrors++;
K  m_freem(m);

Thanks!

The macros MGETHDR, MCLGET should also be converted to functions.


-- 
Totus tuus, Glebius.
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260471 - head/sbin/casperd

2014-01-09 Thread Pawel Jakub Dawidek
Author: pjd
Date: Thu Jan  9 09:19:59 2014
New Revision: 260471
URL: http://svnweb.freebsd.org/changeset/base/260471

Log:
  Always create /var/run/casper with correct permissions and don't depend on the
  calling process' umask.
  
  Submitted by: Mikhail m...@lenta.ru

Modified:
  head/sbin/casperd/casperd.c

Modified: head/sbin/casperd/casperd.c
==
--- head/sbin/casperd/casperd.c Thu Jan  9 09:16:35 2014(r260470)
+++ head/sbin/casperd/casperd.c Thu Jan  9 09:19:59 2014(r260471)
@@ -541,6 +541,7 @@ main_loop(const char *sockpath, struct p
struct casper_service *casserv;
struct service_connection *sconn, *sconntmp;
int lsock, sock, maxfd, ret;
+   mode_t oldumask;
 
lsock = socket(AF_UNIX, SOCK_STREAM, 0);
if (lsock == -1)
@@ -554,8 +555,10 @@ main_loop(const char *sockpath, struct p
sizeof(sun.sun_path));
sun.sun_len = SUN_LEN(sun);
 
+   oldumask = umask(S_IXUSR | S_IXGRP | S_IXOTH);
if (bind(lsock, (struct sockaddr *)sun, sizeof(sun)) == -1)
pjdlog_exit(1, Unable to bind to %s, sockpath);
+   (void)umask(oldumask);
if (listen(lsock, 8) == -1)
pjdlog_exit(1, Unable to listen on %s, sockpath);
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260472 - head/sbin/route

2014-01-09 Thread Alexander V. Chernikov
Author: melifaro
Date: Thu Jan  9 10:40:36 2014
New Revision: 260472
URL: http://svnweb.freebsd.org/changeset/base/260472

Log:
  Do some more sanity checks in route(8): require netmask to have
  the same address family as destination.
  
  Found by: jmg
  MFC after:2 weeks

Modified:
  head/sbin/route/route.c

Modified: head/sbin/route/route.c
==
--- head/sbin/route/route.c Thu Jan  9 09:19:59 2014(r260471)
+++ head/sbin/route/route.c Thu Jan  9 10:40:36 2014(r260472)
@@ -958,11 +958,18 @@ newroute(int argc, char **argv)
}
}
 
+   /* Do some sanity checks on resulting request */
if (so[RTAX_DST].ss_len == 0) {
warnx(destination parameter required);
usage(NULL);
}
 
+   if (so[RTAX_NETMASK].ss_len != 0 
+   so[RTAX_DST].ss_family != so[RTAX_NETMASK].ss_family) {
+   warnx(destination and netmask family need to be the same);
+   usage(NULL);
+   }
+
if (nrflags  F_FORCEHOST) {
nrflags |= F_ISHOST;
 #ifdef INET6
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r259730 - in head: gnu/lib/csu gnu/lib/libgcc gnu/lib/libstdc++ gnu/lib/libsupc++ lib/atf/libatf-c/tests share/mk sys/conf tools/tools/ath/athstats tools/tools/net80211/wlanstats usr.b

2014-01-09 Thread Dimitry Andric
On 09 Jan 2014, at 02:19, Zbigniew Bodek z...@freebsd.org wrote:
 2013/12/22 Dimitry Andric d...@freebsd.org:
...
 Modified:
  head/gnu/lib/csu/Makefile
  head/gnu/lib/libgcc/Makefile
  head/gnu/lib/libstdc++/Makefile
  head/gnu/lib/libsupc++/Makefile
  head/lib/atf/libatf-c/tests/Makefile
  head/share/mk/bsd.sys.mk
  head/sys/conf/Makefile.arm
  head/tools/tools/ath/athstats/Makefile
  head/tools/tools/net80211/wlanstats/Makefile
  head/usr.bin/mkcsmapper/Makefile.inc
 
 It appears that this change broke backtrace on ARM.
 Now only last stack frame can be displayed in bt.
 However I don't have any fix or suggestion.

Can you please try reverting each of these Makefiles individually, and
check when the problem disappears?  The only effective change caused by
this commit is that some CFLAGS might appear in a different order.

It might be possible that one of the Makefiles involved is overly
sensitive to this.  My first guess would be gnu/lib/csu, and after that
gnu/lib/libgcc.

-Dimitry



signature.asc
Description: Message signed with OpenPGP using GPGMail


svn commit: r260481 - head/sys/netinet6

2014-01-09 Thread Andrey V. Elsukov
Author: ae
Date: Thu Jan  9 14:58:06 2014
New Revision: 260481
URL: http://svnweb.freebsd.org/changeset/base/260481

Log:
  Add MRT6_DLOG() macro for debugging.
  Reduce number of MRT6DEBUG ifdefs and fix some broken format strings.
  
  MFC after:1 week
  Sponsored by: Yandex LLC

Modified:
  head/sys/netinet6/ip6_mroute.c

Modified: head/sys/netinet6/ip6_mroute.c
==
--- head/sys/netinet6/ip6_mroute.c  Thu Jan  9 11:15:05 2014
(r260480)
+++ head/sys/netinet6/ip6_mroute.c  Thu Jan  9 14:58:06 2014
(r260481)
@@ -221,6 +221,14 @@ static VNET_DEFINE(u_int, mrt6debug) = 0
 #define DEBUG_XMIT 0x10
 #define DEBUG_REG  0x20
 #define DEBUG_PIM  0x40
+#defineDEBUG_ERR   0x80
+#defineDEBUG_ANY   0x7f
+#defineMRT6_DLOG(m, fmt, ...)  \
+   if (V_mrt6debug  (m))  \
+   log(((m)  DEBUG_ERR) ? LOG_ERR: LOG_DEBUG, \
+   %s:  fmt \n, __func__, ##__VA_ARGS__)
+#else
+#defineMRT6_DLOG(m, fmt, ...)
 #endif
 
 static voidexpire_upcalls(void *);
@@ -526,12 +534,8 @@ static int
 ip6_mrouter_init(struct socket *so, int v, int cmd)
 {
 
-#ifdef MRT6DEBUG
-   if (V_mrt6debug)
-   log(LOG_DEBUG,
-   ip6_mrouter_init: so_type = %d, pr_protocol = %d\n,
-   so-so_type, so-so_proto-pr_protocol);
-#endif
+   MRT6_DLOG(DEBUG_ANY, so_type = %d, pr_protocol = %d,
+   so-so_type, so-so_proto-pr_protocol);
 
if (so-so_type != SOCK_RAW ||
so-so_proto-pr_protocol != IPPROTO_ICMPV6)
@@ -560,11 +564,7 @@ ip6_mrouter_init(struct socket *so, int 
expire_upcalls, NULL);
 
MROUTER6_UNLOCK();
-
-#ifdef MRT6DEBUG
-   if (V_mrt6debug)
-   log(LOG_DEBUG, ip6_mrouter_init\n);
-#endif
+   MRT6_DLOG(DEBUG_ANY, finished);
 
return (0);
 }
@@ -642,11 +642,7 @@ X_ip6_mrouter_done(void)
V_ip6_mrouter_ver = 0;
 
MROUTER6_UNLOCK();
-
-#ifdef MRT6DEBUG
-   if (V_mrt6debug)
-   log(LOG_DEBUG, ip6_mrouter_done\n);
-#endif
+   MRT6_DLOG(DEBUG_ANY, finished);
 
return (0);
 }
@@ -727,14 +723,8 @@ add_m6if(struct mif6ctl *mifcp)
nummifs = mifcp-mif6c_mifi + 1;
 
MIF6_UNLOCK();
-
-#ifdef MRT6DEBUG
-   if (V_mrt6debug)
-   log(LOG_DEBUG,
-   add_mif #%d, phyint %s\n,
-   mifcp-mif6c_mifi,
-   ifp-if_xname);
-#endif
+   MRT6_DLOG(DEBUG_ANY, mif #%d, phyint %s, mifcp-mif6c_mifi,
+   if_name(ifp));
 
return (0);
 }
@@ -777,11 +767,7 @@ del_m6if_locked(mifi_t *mifip)
if (mif6table[mifi - 1].m6_ifp)
break;
nummifs = mifi;
-
-#ifdef MRT6DEBUG
-   if (V_mrt6debug)
-   log(LOG_DEBUG, del_m6if %d, nummifs %d\n, *mifip, nummifs);
-#endif
+   MRT6_DLOG(DEBUG_ANY, mif %d, nummifs %d, *mifip, nummifs);
 
return (0);
 }
@@ -817,15 +803,10 @@ add_m6fc(struct mf6cctl *mfccp)
 
/* If an entry already exists, just update the fields */
if (rt) {
-#ifdef MRT6DEBUG
-   if (V_mrt6debug  DEBUG_MFC) {
-   log(LOG_DEBUG,
-   add_m6fc no upcall h %d o %s g %s p %x\n,
-   ip6_sprintf(ip6bufo, mfccp-mf6cc_origin.sin6_addr),
-   ip6_sprintf(ip6bufg, mfccp-mf6cc_mcastgrp.sin6_addr),
-   mfccp-mf6cc_parent);
-   }
-#endif
+   MRT6_DLOG(DEBUG_MFC, no upcall o %s g %s p %x,
+   ip6_sprintf(ip6bufo, mfccp-mf6cc_origin.sin6_addr),
+   ip6_sprintf(ip6bufg, mfccp-mf6cc_mcastgrp.sin6_addr),
+   mfccp-mf6cc_parent);
 
rt-mf6c_parent = mfccp-mf6cc_parent;
rt-mf6c_ifset = mfccp-mf6cc_ifset;
@@ -856,16 +837,12 @@ add_m6fc(struct mf6cctl *mfccp)
mfccp-mf6cc_mcastgrp.sin6_addr),
mfccp-mf6cc_parent, rt-mf6c_stall);
 
-#ifdef MRT6DEBUG
-   if (V_mrt6debug  DEBUG_MFC)
-   log(LOG_DEBUG,
-   add_m6fc o %s g %s p %x dbg %x\n,
-   ip6_sprintf(ip6bufo,
-   mfccp-mf6cc_origin.sin6_addr),
-   ip6_sprintf(ip6bufg,
-   mfccp-mf6cc_mcastgrp.sin6_addr),
-   mfccp-mf6cc_parent, rt-mf6c_stall);
-#endif
+   MRT6_DLOG(DEBUG_MFC, o %s g %s p %x dbg %p,
+   ip6_sprintf(ip6bufo,
+   mfccp-mf6cc_origin.sin6_addr),
+   ip6_sprintf(ip6bufg,
+   mfccp-mf6cc_mcastgrp.sin6_addr),
+   mfccp-mf6cc_parent, 

Re: svn commit: r259730 - in head: gnu/lib/csu gnu/lib/libgcc gnu/lib/libstdc++ gnu/lib/libsupc++ lib/atf/libatf-c/tests share/mk sys/conf tools/tools/ath/athstats tools/tools/net80211/wlanstats usr.b

2014-01-09 Thread Ian Lepore
On Thu, 2014-01-09 at 12:58 +0100, Dimitry Andric wrote:
 On 09 Jan 2014, at 02:19, Zbigniew Bodek z...@freebsd.org wrote:
  2013/12/22 Dimitry Andric d...@freebsd.org:
 ...
  Modified:
   head/gnu/lib/csu/Makefile
   head/gnu/lib/libgcc/Makefile
   head/gnu/lib/libstdc++/Makefile
   head/gnu/lib/libsupc++/Makefile
   head/lib/atf/libatf-c/tests/Makefile
   head/share/mk/bsd.sys.mk
   head/sys/conf/Makefile.arm
   head/tools/tools/ath/athstats/Makefile
   head/tools/tools/net80211/wlanstats/Makefile
   head/usr.bin/mkcsmapper/Makefile.inc
  
  It appears that this change broke backtrace on ARM.
  Now only last stack frame can be displayed in bt.
  However I don't have any fix or suggestion.
 
 Can you please try reverting each of these Makefiles individually, and
 check when the problem disappears?  The only effective change caused by
 this commit is that some CFLAGS might appear in a different order.
 
 It might be possible that one of the Makefiles involved is overly
 sensitive to this.  My first guess would be gnu/lib/csu, and after that
 gnu/lib/libgcc.
 
 -Dimitry
 

The difference is the compile flags.  For example, when building the
kernel at r259729:

cc  -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline
-Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions
-Wmissing-include-dirs -fdiagnostics-show-option
-Wno-error-tautological-compare -Wno-error-empty-body
-Wno-error-parentheses-equality  -nostdinc  -I.
-I/local/build/staging/freebsd/imx53/src/sys
-I/local/build/staging/freebsd/imx53/src/sys/contrib/altq
-I/local/build/staging/freebsd/imx53/src/sys/contrib/libfdt -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -funwind-tables
-mllvm -arm-enable-ehabi -ffreestanding
-Werror  /local/build/staging/freebsd/imx53/src/sys/arm/arm/trap.c

At r259730:

cc  -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline
-Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions
-Wmissing-include-dirs -fdiagnostics-show-option
-Wno-error-tautological-compare -Wno-error-empty-body
-Wno-error-parentheses-equality  -nostdinc  -I.
-I/local/build/staging/freebsd/imx53/src/sys
-I/local/build/staging/freebsd/imx53/src/sys/contrib/altq
-I/local/build/staging/freebsd/imx53/src/sys/contrib/libfdt -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -funwind-tables
-ffreestanding
-Werror  /local/build/staging/freebsd/imx53/src/sys/arm/arm/trap.c

The difference is that the -mllvm and -arm-enable-ehabi flags are
missing.

-- Ian


___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260482 - head/sys/netgraph/bluetooth/drivers/ubt

2014-01-09 Thread Adrian Chadd
Author: adrian
Date: Thu Jan  9 15:31:44 2014
New Revision: 260482
URL: http://svnweb.freebsd.org/changeset/base/260482

Log:
  Be much more specific (and correct) about the device id matching.
  
  These device IDs have an AR3012 bluetooth device that shows up with
  bcdDevice=1 when it doesn't have the firmware loaded, and bcdDevice=2
  when it's ready to speak full HCI.
  
  Tested:
  
  * AR5B225 PCIe - AR9485 + AR3012

Modified:
  head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c

Modified: head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
==
--- head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.cThu Jan  9 14:58:06 
2014(r260481)
+++ head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.cThu Jan  9 15:31:44 
2014(r260482)
@@ -399,26 +399,26 @@ static const STRUCT_USB_HOST_ID ubt_igno
{ USB_VPI(0x03f0, 0x311d, 0) },
 
/* Atheros 3012 with sflash firmware */
-   { USB_VPI(0x0cf3, 0x3004, 0) },
-   { USB_VPI(0x0cf3, 0x311d, 0) },
-   { USB_VPI(0x13d3, 0x3375, 0) },
-   { USB_VPI(0x04ca, 0x3005, 0) },
-   { USB_VPI(0x04ca, 0x3006, 0) },
-   { USB_VPI(0x04ca, 0x3008, 0) },
-   { USB_VPI(0x13d3, 0x3362, 0) },
-   { USB_VPI(0x0cf3, 0xe004, 0) },
-   { USB_VPI(0x0930, 0x0219, 0) },
-   { USB_VPI(0x0489, 0xe057, 0) },
-   { USB_VPI(0x13d3, 0x3393, 0) },
-   { USB_VPI(0x0489, 0xe04e, 0) },
-   { USB_VPI(0x0489, 0xe056, 0) },
+   { USB_VPI(0x0cf3, 0x3004, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x0cf3, 0x311d, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x13d3, 0x3375, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x04ca, 0x3005, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x04ca, 0x3006, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x04ca, 0x3008, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x13d3, 0x3362, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x0cf3, 0xe004, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x0930, 0x0219, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x0489, 0xe057, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x13d3, 0x3393, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x0489, 0xe04e, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x0489, 0xe056, 0), USB_DEV_BCD_LTEQ(1) },
 
/* Atheros AR5BBU12 with sflash firmware */
-   { USB_VPI(0x0489, 0xe02c, 0) },
+   { USB_VPI(0x0489, 0xe02c, 0), USB_DEV_BCD_LTEQ(1) },
 
/* Atheros AR5BBU12 with sflash firmware */
-   { USB_VPI(0x0489, 0xe03c, 0) },
-   { USB_VPI(0x0489, 0xe036, 0) },
+   { USB_VPI(0x0489, 0xe03c, 0), USB_DEV_BCD_LTEQ(1) },
+   { USB_VPI(0x0489, 0xe036, 0), USB_DEV_BCD_LTEQ(1) },
 };
 
 /* List of supported bluetooth devices */
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260483 - head/sbin/kldload

2014-01-09 Thread Baptiste Daroussin
Author: bapt
Date: Thu Jan  9 15:34:23 2014
New Revision: 260483
URL: http://svnweb.freebsd.org/changeset/base/260483

Log:
  Import error message shown to the user when trying to load a module that is
  already loaded or compiled withing the kernel
  
  MFC after:1 week

Modified:
  head/sbin/kldload/kldload.c

Modified: head/sbin/kldload/kldload.c
==
--- head/sbin/kldload/kldload.c Thu Jan  9 15:31:44 2014(r260482)
+++ head/sbin/kldload/kldload.c Thu Jan  9 15:34:23 2014(r260483)
@@ -181,8 +181,14 @@ main(int argc, char** argv)
printf(%s is already 
loaded\n, argv[0]);
} else {
-   warn(can't load %s, argv[0]);
-   errors++;
+   if (errno == EEXIST) {
+   warnx(can't load %s: module 
+   already loaded or 
+   in kernel, argv[0]);
+   } else {
+   warn(can't load %s, argv[0]);
+   errors++;
+   }
}
} else {
if (verbose)
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260485 - head/sys/netinet6

2014-01-09 Thread Andrey V. Elsukov
Author: ae
Date: Thu Jan  9 15:38:28 2014
New Revision: 260485
URL: http://svnweb.freebsd.org/changeset/base/260485

Log:
  Remove extra nesting from X_ip6_mforward() function.
  Also remove disabled definitions from ip6_mroute.h.
  
  PR:   185148
  Sponsored by: Yandex LLC

Modified:
  head/sys/netinet6/ip6_mroute.c
  head/sys/netinet6/ip6_mroute.h

Modified: head/sys/netinet6/ip6_mroute.c
==
--- head/sys/netinet6/ip6_mroute.c  Thu Jan  9 15:35:35 2014
(r260484)
+++ head/sys/netinet6/ip6_mroute.c  Thu Jan  9 15:38:28 2014
(r260485)
@@ -1044,11 +1044,19 @@ socket_send(struct socket *s, struct mbu
 int
 X_ip6_mforward(struct ip6_hdr *ip6, struct ifnet *ifp, struct mbuf *m)
 {
+   struct rtdetq *rte;
+   struct mbuf *mb0;
struct mf6c *rt;
struct mif6 *mifp;
struct mbuf *mm;
+   u_long hash;
mifi_t mifi;
char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN];
+#ifdef UPCALL_TIMING
+   struct timeval tp;
+
+   GET_TIME(tp);
+#endif /* UPCALL_TIMING */
 
MRT6_DLOG(DEBUG_FORWARD, src %s, dst %s, ifindex %d,
ip6_sprintf(ip6bufs, ip6-ip6_src),
@@ -1096,200 +1104,178 @@ X_ip6_mforward(struct ip6_hdr *ip6, stru
if (rt) {
MFC6_UNLOCK();
return (ip6_mdq(m, ifp, rt));
-   } else {
-   /*
-* If we don't have a route for packet's origin,
-* Make a copy of the packet 
-* send message to routing daemon
-*/
+   }
 
-   struct mbuf *mb0;
-   struct rtdetq *rte;
-   u_long hash;
-/* int i, npkts;*/
-#ifdef UPCALL_TIMING
-   struct timeval tp;
+   /*
+* If we don't have a route for packet's origin,
+* Make a copy of the packet  send message to routing daemon.
+*/
+   MRT6STAT_INC(mrt6s_no_route);
+   MRT6_DLOG(DEBUG_FORWARD | DEBUG_MFC, no rte s %s g %s,
+   ip6_sprintf(ip6bufs, ip6-ip6_src),
+   ip6_sprintf(ip6bufd, ip6-ip6_dst));
 
-   GET_TIME(tp);
-#endif /* UPCALL_TIMING */
+   /*
+* Allocate mbufs early so that we don't do extra work if we
+* are just going to fail anyway.
+*/
+   rte = (struct rtdetq *)malloc(sizeof(*rte), M_MRTABLE6, M_NOWAIT);
+   if (rte == NULL) {
+   MFC6_UNLOCK();
+   return (ENOBUFS);
+   }
+   mb0 = m_copy(m, 0, M_COPYALL);
+   /*
+* Pullup packet header if needed before storing it,
+* as other references may modify it in the meantime.
+*/
+   if (mb0  (M_HASCL(mb0) || mb0-m_len  sizeof(struct ip6_hdr)))
+   mb0 = m_pullup(mb0, sizeof(struct ip6_hdr));
+   if (mb0 == NULL) {
+   free(rte, M_MRTABLE6);
+   MFC6_UNLOCK();
+   return (ENOBUFS);
+   }
 
-   MRT6STAT_INC(mrt6s_no_route);
-   MRT6_DLOG(DEBUG_FORWARD | DEBUG_MFC, no rte s %s g %s,
-   ip6_sprintf(ip6bufs, ip6-ip6_src),
-   ip6_sprintf(ip6bufd, ip6-ip6_dst));
+   /* is there an upcall waiting for this packet? */
+   hash = MF6CHASH(ip6-ip6_src, ip6-ip6_dst);
+   for (rt = mf6ctable[hash]; rt; rt = rt-mf6c_next) {
+   if (IN6_ARE_ADDR_EQUAL(ip6-ip6_src,
+   rt-mf6c_origin.sin6_addr) 
+   IN6_ARE_ADDR_EQUAL(ip6-ip6_dst,
+   rt-mf6c_mcastgrp.sin6_addr)  (rt-mf6c_stall != NULL))
+   break;
+   }
 
-   /*
-* Allocate mbufs early so that we don't do extra work if we
-* are just going to fail anyway.
-*/
-   rte = (struct rtdetq *)malloc(sizeof(*rte), M_MRTABLE6,
- M_NOWAIT);
-   if (rte == NULL) {
+   if (rt == NULL) {
+   struct mrt6msg *im;
+#ifdef MRT6_OINIT
+   struct omrt6msg *oim;
+#endif
+   /* no upcall, so make a new entry */
+   rt = (struct mf6c *)malloc(sizeof(*rt), M_MRTABLE6, M_NOWAIT);
+   if (rt == NULL) {
+   free(rte, M_MRTABLE6);
+   m_freem(mb0);
MFC6_UNLOCK();
return (ENOBUFS);
}
-   mb0 = m_copy(m, 0, M_COPYALL);
/*
-* Pullup packet header if needed before storing it,
-* as other references may modify it in the meantime.
+* Make a copy of the header to send to the user
+* level process
 */
-   if (mb0 
-   (M_HASCL(mb0) || mb0-m_len  sizeof(struct ip6_hdr)))
-   mb0 = m_pullup(mb0, sizeof(struct ip6_hdr));
-   if (mb0 == NULL) {
+  

svn commit: r260484 - head/sbin/kldload

2014-01-09 Thread Baptiste Daroussin
Author: bapt
Date: Thu Jan  9 15:35:35 2014
New Revision: 260484
URL: http://svnweb.freebsd.org/changeset/base/260484

Log:
  Fix error counting

Modified:
  head/sbin/kldload/kldload.c

Modified: head/sbin/kldload/kldload.c
==
--- head/sbin/kldload/kldload.c Thu Jan  9 15:34:23 2014(r260483)
+++ head/sbin/kldload/kldload.c Thu Jan  9 15:35:35 2014(r260484)
@@ -181,14 +181,13 @@ main(int argc, char** argv)
printf(%s is already 
loaded\n, argv[0]);
} else {
-   if (errno == EEXIST) {
+   if (errno == EEXIST)
warnx(can't load %s: module 
already loaded or 
in kernel, argv[0]);
-   } else {
+   else
warn(can't load %s, argv[0]);
-   errors++;
-   }
+   errors++;
}
} else {
if (verbose)
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Alexander Motin
Author: mav
Date: Thu Jan  9 15:55:55 2014
New Revision: 260486
URL: http://svnweb.freebsd.org/changeset/base/260486

Log:
  Remove very low default limit of 4 nfsd threads.  nfsd's own default is
  8 * hw.ncpu, that sounds more appropriate for these SMP/NCQ/... days.

Modified:
  head/etc/defaults/rc.conf

Modified: head/etc/defaults/rc.conf
==
--- head/etc/defaults/rc.conf   Thu Jan  9 15:38:28 2014(r260485)
+++ head/etc/defaults/rc.conf   Thu Jan  9 15:55:55 2014(r260486)
@@ -311,7 +311,7 @@ nfs_client_enable=NO  # This host is a
 nfs_access_cache=60  # Client cache timeout in seconds
 nfs_server_enable=NO # This host is an NFS server (or NO).
 oldnfs_server_enable=NO  # Run the old NFS server (YES/NO).
-nfs_server_flags=-u -t -n 4  # Flags to nfsd (if enabled).
+nfs_server_flags=-u -t   # Flags to nfsd (if enabled).
 mountd_enable=NO # Run mountd (or NO).
 mountd_flags=-r  # Flags to mountd (if NFS server enabled).
 weak_mountd_authentication=NO# Allow non-root mount requests to be 
served.
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Adrian Chadd
.. so with say, 128 core boxes showing up, is this really a good default?


-a

On 9 January 2014 07:55, Alexander Motin m...@freebsd.org wrote:
 Author: mav
 Date: Thu Jan  9 15:55:55 2014
 New Revision: 260486
 URL: http://svnweb.freebsd.org/changeset/base/260486

 Log:
   Remove very low default limit of 4 nfsd threads.  nfsd's own default is
   8 * hw.ncpu, that sounds more appropriate for these SMP/NCQ/... days.

 Modified:
   head/etc/defaults/rc.conf

 Modified: head/etc/defaults/rc.conf
 ==
 --- head/etc/defaults/rc.conf   Thu Jan  9 15:38:28 2014(r260485)
 +++ head/etc/defaults/rc.conf   Thu Jan  9 15:55:55 2014(r260486)
 @@ -311,7 +311,7 @@ nfs_client_enable=NO  # This host is a
  nfs_access_cache=60  # Client cache timeout in seconds
  nfs_server_enable=NO # This host is an NFS server (or NO).
  oldnfs_server_enable=NO  # Run the old NFS server (YES/NO).
 -nfs_server_flags=-u -t -n 4  # Flags to nfsd (if enabled).
 +nfs_server_flags=-u -t   # Flags to nfsd (if enabled).
  mountd_enable=NO # Run mountd (or NO).
  mountd_flags=-r  # Flags to mountd (if NFS server enabled).
  weak_mountd_authentication=NO# Allow non-root mount requests to be 
 served.
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Alexander Motin

On 09.01.2014 17:57, Adrian Chadd wrote:

.. so with say, 128 core boxes showing up, is this really a good default?


And what is the price? 16K+ of KVA per thread for thread stack, etc? 4 
threads is probably much worse default there. May be nfsd's default 
could be tuned, but obviously it should not be hardcoded value.



On 9 January 2014 07:55, Alexander Motin m...@freebsd.org wrote:

Author: mav
Date: Thu Jan  9 15:55:55 2014
New Revision: 260486
URL: http://svnweb.freebsd.org/changeset/base/260486

Log:
   Remove very low default limit of 4 nfsd threads.  nfsd's own default is
   8 * hw.ncpu, that sounds more appropriate for these SMP/NCQ/... days.

Modified:
   head/etc/defaults/rc.conf

Modified: head/etc/defaults/rc.conf
==
--- head/etc/defaults/rc.conf   Thu Jan  9 15:38:28 2014(r260485)
+++ head/etc/defaults/rc.conf   Thu Jan  9 15:55:55 2014(r260486)
@@ -311,7 +311,7 @@ nfs_client_enable=NO  # This host is a
  nfs_access_cache=60  # Client cache timeout in seconds
  nfs_server_enable=NO # This host is an NFS server (or NO).
  oldnfs_server_enable=NO  # Run the old NFS server (YES/NO).
-nfs_server_flags=-u -t -n 4  # Flags to nfsd (if enabled).
+nfs_server_flags=-u -t   # Flags to nfsd (if enabled).
  mountd_enable=NO # Run mountd (or NO).
  mountd_flags=-r  # Flags to mountd (if NFS server enabled).
  weak_mountd_authentication=NO# Allow non-root mount requests to be 
served.



--
Alexander Motin
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Adrian Chadd
Hi,

Depends if you're thinking locally or globally.

Locally - for nfs? not a big deal.

Globally - NFS, ZFS, GELI, geom/cam, NIC, etc.. suddenly your machine
could default to having a couple thousand worker threads just for a
HBA and a 10GE NIC. That's a little nuts.


-a


On 9 January 2014 08:00, Alexander Motin m...@freebsd.org wrote:
 On 09.01.2014 17:57, Adrian Chadd wrote:

 .. so with say, 128 core boxes showing up, is this really a good default?


 And what is the price? 16K+ of KVA per thread for thread stack, etc? 4
 threads is probably much worse default there. May be nfsd's default could be
 tuned, but obviously it should not be hardcoded value.


 On 9 January 2014 07:55, Alexander Motin m...@freebsd.org wrote:

 Author: mav
 Date: Thu Jan  9 15:55:55 2014
 New Revision: 260486
 URL: http://svnweb.freebsd.org/changeset/base/260486

 Log:
Remove very low default limit of 4 nfsd threads.  nfsd's own default
 is
8 * hw.ncpu, that sounds more appropriate for these SMP/NCQ/... days.

 Modified:
head/etc/defaults/rc.conf

 Modified: head/etc/defaults/rc.conf

 ==
 --- head/etc/defaults/rc.conf   Thu Jan  9 15:38:28 2014(r260485)
 +++ head/etc/defaults/rc.conf   Thu Jan  9 15:55:55 2014(r260486)
 @@ -311,7 +311,7 @@ nfs_client_enable=NO  # This host is a
   nfs_access_cache=60  # Client cache timeout in seconds
   nfs_server_enable=NO # This host is an NFS server (or NO).
   oldnfs_server_enable=NO  # Run the old NFS server (YES/NO).
 -nfs_server_flags=-u -t -n 4  # Flags to nfsd (if enabled).
 +nfs_server_flags=-u -t   # Flags to nfsd (if enabled).
   mountd_enable=NO # Run mountd (or NO).
   mountd_flags=-r  # Flags to mountd (if NFS server
 enabled).
   weak_mountd_authentication=NO# Allow non-root mount requests
 to be served.



 --
 Alexander Motin
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Alexander Motin

On 09.01.2014 18:18, Adrian Chadd wrote:

Depends if you're thinking locally or globally.

Locally - for nfs? not a big deal.

Globally - NFS, ZFS, GELI, geom/cam, NIC, etc.. suddenly your machine
could default to having a couple thousand worker threads just for a
HBA and a 10GE NIC. That's a little nuts.


So, what is your point? Each NFS thread (unlike GEOM or CAM) executes 
only _one_ request at a time. Would you like your 128-core/many-spindle 
system executed only 4 synchronous requests at a time?



On 9 January 2014 08:00, Alexander Motin m...@freebsd.org wrote:

On 09.01.2014 17:57, Adrian Chadd wrote:


.. so with say, 128 core boxes showing up, is this really a good default?



And what is the price? 16K+ of KVA per thread for thread stack, etc? 4
threads is probably much worse default there. May be nfsd's default could be
tuned, but obviously it should not be hardcoded value.



On 9 January 2014 07:55, Alexander Motin m...@freebsd.org wrote:


Author: mav
Date: Thu Jan  9 15:55:55 2014
New Revision: 260486
URL: http://svnweb.freebsd.org/changeset/base/260486

Log:
Remove very low default limit of 4 nfsd threads.  nfsd's own default
is
8 * hw.ncpu, that sounds more appropriate for these SMP/NCQ/... days.

Modified:
head/etc/defaults/rc.conf

Modified: head/etc/defaults/rc.conf

==
--- head/etc/defaults/rc.conf   Thu Jan  9 15:38:28 2014(r260485)
+++ head/etc/defaults/rc.conf   Thu Jan  9 15:55:55 2014(r260486)
@@ -311,7 +311,7 @@ nfs_client_enable=NO  # This host is a
   nfs_access_cache=60  # Client cache timeout in seconds
   nfs_server_enable=NO # This host is an NFS server (or NO).
   oldnfs_server_enable=NO  # Run the old NFS server (YES/NO).
-nfs_server_flags=-u -t -n 4  # Flags to nfsd (if enabled).
+nfs_server_flags=-u -t   # Flags to nfsd (if enabled).
   mountd_enable=NO # Run mountd (or NO).
   mountd_flags=-r  # Flags to mountd (if NFS server
enabled).
   weak_mountd_authentication=NO# Allow non-root mount requests
to be served.




--
Alexander Motin



--
Alexander Motin
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Adrian Chadd
If it's one request per nfsd then we should likely scale it separate to
ncpu. Otherwise the default for two or core boxes may not be enough.

Adrian
 On Jan 9, 2014 11:29 AM, Alexander Motin m...@freebsd.org wrote:

 On 09.01.2014 18:18, Adrian Chadd wrote:

 Depends if you're thinking locally or globally.

 Locally - for nfs? not a big deal.

 Globally - NFS, ZFS, GELI, geom/cam, NIC, etc.. suddenly your machine
 could default to having a couple thousand worker threads just for a
 HBA and a 10GE NIC. That's a little nuts.


 So, what is your point? Each NFS thread (unlike GEOM or CAM) executes only
 _one_ request at a time. Would you like your 128-core/many-spindle system
 executed only 4 synchronous requests at a time?

  On 9 January 2014 08:00, Alexander Motin m...@freebsd.org wrote:

 On 09.01.2014 17:57, Adrian Chadd wrote:


 .. so with say, 128 core boxes showing up, is this really a good
 default?



 And what is the price? 16K+ of KVA per thread for thread stack, etc? 4
 threads is probably much worse default there. May be nfsd's default
 could be
 tuned, but obviously it should not be hardcoded value.


  On 9 January 2014 07:55, Alexander Motin m...@freebsd.org wrote:


 Author: mav
 Date: Thu Jan  9 15:55:55 2014
 New Revision: 260486
 URL: http://svnweb.freebsd.org/changeset/base/260486

 Log:
 Remove very low default limit of 4 nfsd threads.  nfsd's own
 default
 is
 8 * hw.ncpu, that sounds more appropriate for these SMP/NCQ/...
 days.

 Modified:
 head/etc/defaults/rc.conf

 Modified: head/etc/defaults/rc.conf

 
 ==
 --- head/etc/defaults/rc.conf   Thu Jan  9 15:38:28 2014
  (r260485)
 +++ head/etc/defaults/rc.conf   Thu Jan  9 15:55:55 2014
  (r260486)
 @@ -311,7 +311,7 @@ nfs_client_enable=NO  # This host is
 a
nfs_access_cache=60  # Client cache timeout in seconds
nfs_server_enable=NO # This host is an NFS server (or NO).
oldnfs_server_enable=NO  # Run the old NFS server (YES/NO).
 -nfs_server_flags=-u -t -n 4  # Flags to nfsd (if enabled).
 +nfs_server_flags=-u -t   # Flags to nfsd (if enabled).
mountd_enable=NO # Run mountd (or NO).
mountd_flags=-r  # Flags to mountd (if NFS server
 enabled).
weak_mountd_authentication=NO# Allow non-root mount
 requests
 to be served.




 --
 Alexander Motin



 --
 Alexander Motin

___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260488 - head/sys/net

2014-01-09 Thread Alexander V. Chernikov
Author: melifaro
Date: Thu Jan  9 18:13:25 2014
New Revision: 260488
URL: http://svnweb.freebsd.org/changeset/base/260488

Log:
  Split rt_newaddrmsg_fib() into two different functions.
  Adding/deleting interface addresses involves access to 3 different subsystems,
  int different parts of code. Each call can fail, so reporting successful
  operation by rtsock in the middle of the process error-prone.
  
  Further split routing notification API and actual rtsock calls via creating
  public-available rt_addrmsg() / rt_routemsg() functions with private
  rtsock_* backend.
  
  MFC after:2 weeks

Modified:
  head/sys/net/route.c
  head/sys/net/route.h
  head/sys/net/rtsock.c

Modified: head/sys/net/route.c
==
--- head/sys/net/route.cThu Jan  9 17:27:00 2014(r260487)
+++ head/sys/net/route.cThu Jan  9 18:13:25 2014(r260488)
@@ -37,6 +37,7 @@
 #include opt_inet.h
 #include opt_inet6.h
 #include opt_route.h
+#include opt_sctp.h
 #include opt_mrouting.h
 #include opt_mpath.h
 
@@ -52,6 +53,7 @@
 #include sys/proc.h
 #include sys/domain.h
 #include sys/kernel.h
+#include sys/kdb.h
 
 #include net/if.h
 #include net/if_var.h
@@ -86,6 +88,13 @@
 #defineRT_NUMFIBS  1
 #endif
 
+#if defined(INET) || defined(INET6)
+#ifdef SCTP
+extern void sctp_addr_change(struct ifaddr *ifa, int cmd);
+#endif /* SCTP */
+#endif
+
+
 /* This is read-only.. */
 u_int rt_numfibs = RT_NUMFIBS;
 SYSCTL_UINT(_net, OID_AUTO, fibs, CTLFLAG_RD, rt_numfibs, 0, );
@@ -118,7 +127,8 @@ VNET_DEFINE(int, rttrash);  /* routes no
 
 
 /* compare two sockaddr structures */
-#definesa_equal(a1, a2) (bcmp((a1), (a2), (a1)-sa_len) == 0)
+#definesa_equal(a1, a2) (((a1)-sa_len == (a2)-sa_len)  \
+(bcmp((a1), (a2), (a1)-sa_len) == 0))
 
 /*
  * Convert a 'struct radix_node *' to a 'struct rtentry *'.
@@ -1731,3 +1741,99 @@ rtinit(struct ifaddr *ifa, int cmd, int 
}
return (rtinit1(ifa, cmd, flags, fib));
 }
+
+/*
+ * Announce interface address arrival/withdraw
+ * Returns 0 on success.
+ */
+int
+rt_addrmsg(int cmd, struct ifaddr *ifa, int fibnum)
+{
+
+   KASSERT(cmd == RTM_ADD || cmd == RTM_DELETE,
+   (unexpected cmd %u, cmd));
+   
+   if (fibnum != RT_ALL_FIBS) {
+   KASSERT(fibnum = 0  fibnum  rt_numfibs, (%s: 
+   fibnum out of range 0 = %d  %d, __func__,
+fibnum, rt_numfibs));
+   }
+
+   return (rtsock_addrmsg(cmd, ifa, fibnum));
+}
+
+
+/*
+ * Announce route addition/removal
+ * Users of this function MUST validate input data BEFORE calling.
+ * However we have to be able to handle invalid data:
+ * if some userland app sends us invalid route message (invalid mask,
+ * no dst, wrokg address families, etc...) we need to pass it back
+ * to app (and any other rtsock consumers) with rtm_errno field set to
+ * non-zero value.
+ * Returns 0 on success.
+ */
+int
+rt_routemsg(int cmd, struct ifnet *ifp, int error, struct rtentry *rt,
+int fibnum)
+{
+
+   KASSERT(cmd == RTM_ADD || cmd == RTM_DELETE,
+   (unexpected cmd %u, cmd));
+   
+   if (fibnum != RT_ALL_FIBS) {
+   KASSERT(fibnum = 0  fibnum  rt_numfibs, (%s: 
+   fibnum out of range 0 = %d  %d, __func__,
+fibnum, rt_numfibs));
+   }
+
+   KASSERT(rt_key(rt) != NULL, (:%s: rt_key must be supplied, __func__));
+
+   return (rtsock_routemsg(cmd, ifp, error, rt, fibnum));
+}
+
+void
+rt_newaddrmsg(int cmd, struct ifaddr *ifa, int error, struct rtentry *rt)
+{
+
+   rt_newaddrmsg_fib(cmd, ifa, error, rt, RT_ALL_FIBS);
+}
+
+/*
+ * This is called to generate messages from the routing socket
+ * indicating a network interface has had addresses associated with it.
+ */
+void
+rt_newaddrmsg_fib(int cmd, struct ifaddr *ifa, int error, struct rtentry *rt,
+int fibnum)
+{
+
+   KASSERT(cmd == RTM_ADD || cmd == RTM_DELETE,
+   (unexpected cmd %u, cmd));
+   if (fibnum != RT_ALL_FIBS) {
+   KASSERT(fibnum = 0  fibnum  rt_numfibs, (%s: 
+   fibnum out of range 0 = %d  %d, __func__,
+fibnum, rt_numfibs));
+   }
+
+#if defined(INET) || defined(INET6)
+#ifdef SCTP
+   /*
+* notify the SCTP stack
+* this will only get called when an address is added/deleted
+* XXX pass the ifaddr struct instead if ifa-ifa_addr...
+*/
+   sctp_addr_change(ifa, cmd);
+#endif /* SCTP */
+#endif
+   if (cmd == RTM_ADD) {
+   rt_addrmsg(cmd, ifa, fibnum);
+   if (rt != NULL)
+   rt_routemsg(cmd, ifa-ifa_ifp, error, rt, fibnum);
+   } else {
+   if (rt != NULL)
+   rt_routemsg(cmd, ifa-ifa_ifp, error, rt, fibnum);
+   rt_addrmsg(cmd, ifa, fibnum);
+   }
+}
+

Modified: head/sys/net/route.h

svn commit: r260490 - head/sys/arm/arm

2014-01-09 Thread Ian Lepore
Author: ian
Date: Thu Jan  9 18:51:57 2014
New Revision: 260490
URL: http://svnweb.freebsd.org/changeset/base/260490

Log:
  Add a function to print the contents of the static device mapping table,
  and invoke it for bootverbose logging, and also from a new DDB command,
  show devmap.  Also tweak the format string for the bootverbose output
  of physical memory chunks to get the leading zeros in the hex values.

Modified:
  head/sys/arm/arm/devmap.c
  head/sys/arm/arm/machdep.c

Modified: head/sys/arm/arm/devmap.c
==
--- head/sys/arm/arm/devmap.c   Thu Jan  9 18:28:58 2014(r260489)
+++ head/sys/arm/arm/devmap.c   Thu Jan  9 18:51:57 2014(r260490)
@@ -31,6 +31,8 @@ __FBSDID($FreeBSD$);
  * Routines for mapping device memory.
  */
 
+#include opt_ddb.h
+
 #include sys/param.h
 #include sys/systm.h
 #include vm/vm.h
@@ -54,6 +56,36 @@ static u_int akva_devmap_idx;
 static vm_offset_t akva_devmap_vaddr = ARM_VECTORS_HIGH;
 
 /*
+ * Print the contents of the static mapping table using the provided 
printf-like
+ * output function (which will be either printf or db_printf).
+ */
+static void
+devmap_dump_table(int (*prfunc)(const char *, ...))
+{
+   const struct arm_devmap_entry *pd;
+
+   if (devmap_table == NULL || devmap_table[0].pd_size == 0) {
+   prfunc(No static device mappings.\n);
+   return;
+   }
+
+   prfunc(Static device mappings:\n);
+   for (pd = devmap_table; pd-pd_size != 0; ++pd) {
+   prfunc(  0x%08x - 0x%08x mapped at VA 0x%08x\n,
+   pd-pd_pa, pd-pd_pa + pd-pd_size - 1, pd-pd_va);
+   }
+}
+
+/*
+ * Print the contents of the static mapping table.  Used for bootverbose.
+ */
+void
+arm_devmap_print_table()
+{
+   devmap_dump_table(printf);
+}
+
+/*
  * Return the last kva address used by the registered devmap table.  It's
  * actually the lowest address used by the static mappings, i.e., the address 
of
  * the first unusable byte of KVA.
@@ -266,3 +298,13 @@ pmap_unmapdev(vm_offset_t va, vm_size_t 
kva_free(va, origsize);
 }
 
+#ifdef DDB
+#include ddb/ddb.h
+
+DB_SHOW_COMMAND(devmap, db_show_devmap)
+{
+   devmap_dump_table(db_printf);
+}
+
+#endif /* DDB */
+

Modified: head/sys/arm/arm/machdep.c
==
--- head/sys/arm/arm/machdep.c  Thu Jan  9 18:28:58 2014(r260489)
+++ head/sys/arm/arm/machdep.c  Thu Jan  9 18:51:57 2014(r260490)
@@ -379,10 +379,10 @@ cpu_startup(void *dummy)
vm_paddr_t size;
 
size = phys_avail[indx + 1] - phys_avail[indx];
-   printf(%#08jx - %#08jx, %ju bytes (%ju pages)\n,
+   printf(  0x%08jx - 0x%08jx, %ju KBytes (%ju pages)\n,
(uintmax_t)phys_avail[indx],
(uintmax_t)phys_avail[indx + 1] - 1,
-   (uintmax_t)size, (uintmax_t)size / PAGE_SIZE);
+   (uintmax_t)size / 1024, (uintmax_t)size / 
PAGE_SIZE);
}
}
 
@@ -392,6 +392,9 @@ cpu_startup(void *dummy)
(uintmax_t)ptoa(cnt.v_free_count),
(uintmax_t)ptoa(cnt.v_free_count) / 1048576);
 
+   if (bootverbose)
+   arm_devmap_print_table();
+
bufinit();
vm_pager_bufferinit();
pcb-un_32.pcb32_und_sp = (u_int)thread0.td_kstack +
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260491 - head/contrib/atf/atf-c++/detail

2014-01-09 Thread Julio Merino
Author: jmmv
Date: Thu Jan  9 18:53:21 2014
New Revision: 260491
URL: http://svnweb.freebsd.org/changeset/base/260491

Log:
  Use .cpp as the extension for temporary C++ files.
  
  Using a .c extension for a C++ file raises the following warning, which
  breaks our header file tests if the compiler is using -Werror as well:
  
  c++: warning: treating 'c' input as 'c++' when in C++ mode, this
  behavior is deprecated
  
  Obtained from:atf (git 3104010c2849330440cc0ce108ff34191349)
  MFC after:3 days

Modified:
  head/contrib/atf/atf-c++/detail/test_helpers.cpp

Modified: head/contrib/atf/atf-c++/detail/test_helpers.cpp
==
--- head/contrib/atf/atf-c++/detail/test_helpers.cppThu Jan  9 18:51:57 
2014(r260490)
+++ head/contrib/atf/atf-c++/detail/test_helpers.cppThu Jan  9 18:53:21 
2014(r260491)
@@ -67,14 +67,14 @@ build_check_cxx_o(const atf::tests::tc 
 void
 header_check(const char *hdrname)
 {
-std::ofstream srcfile(test.c);
+std::ofstream srcfile(test.cpp);
 ATF_REQUIRE(srcfile);
 srcfile  #include   hdrname  \n;
 srcfile.close();
 
 const std::string failmsg = std::string(Header check failed; ) +
 hdrname +  is not self-contained;
-build_check_cxx_o_aux(atf::fs::path(test.c), failmsg.c_str(), true);
+build_check_cxx_o_aux(atf::fs::path(test.cpp), failmsg.c_str(), true);
 }
 
 atf::fs::path
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260492 - head/sbin/geom/class/part

2014-01-09 Thread Lars Engels
Author: lme (ports committer)
Date: Thu Jan  9 20:06:14 2014
New Revision: 260492
URL: http://svnweb.freebsd.org/changeset/base/260492

Log:
  Check if the given argument to 'gpart add' is actually a geom device and
  give a hint to use 'gpart create' before trying to add a partition.
  
  Approved by:  pjd

Modified:
  head/sbin/geom/class/part/geom_part.c   (contents, props changed)

Modified: head/sbin/geom/class/part/geom_part.c
==
--- head/sbin/geom/class/part/geom_part.c   Thu Jan  9 18:53:21 2014
(r260491)
+++ head/sbin/geom/class/part/geom_part.c   Thu Jan  9 20:06:14 2014
(r260492)
@@ -454,8 +454,19 @@ gpart_autofill(struct gctl_req *req)
if (s == NULL)
abort();
gp = find_geom(cp, s);
-   if (gp == NULL)
-   errx(EXIT_FAILURE, No such geom: %s., s);
+   if (gp == NULL) {
+   if (g_device_path(s) == NULL) {
+   errx(EXIT_FAILURE, No such geom %s., s);
+   } else {
+   /*
+* We don't free memory allocated by g_device_path() as
+* we are about to exit.
+*/
+   errx(EXIT_FAILURE,
+   No partitioning scheme found on geom %s. Create 
one first using 'gpart create'.,
+   s);
+   }
+   }
pp = LIST_FIRST(gp-lg_consumer)-lg_provider;
if (pp == NULL)
errx(EXIT_FAILURE, Provider for geom %s not found., s);
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260485 - head/sys/netinet6

2014-01-09 Thread John-Mark Gurney
Andrey V. Elsukov wrote this message on Thu, Jan 09, 2014 at 15:38 +:
 Author: ae
 Date: Thu Jan  9 15:38:28 2014
 New Revision: 260485
 URL: http://svnweb.freebsd.org/changeset/base/260485
 
 Log:
   Remove extra nesting from X_ip6_mforward() function.
   Also remove disabled definitions from ip6_mroute.h.

[...]

 Modified: head/sys/netinet6/ip6_mroute.h
 ==
 --- head/sys/netinet6/ip6_mroute.hThu Jan  9 15:35:35 2014
 (r260484)
 +++ head/sys/netinet6/ip6_mroute.hThu Jan  9 15:38:28 2014
 (r260485)
 @@ -145,11 +145,6 @@ struct mrt6stat {
  struct omrt6msg {
   u_long  unused1;
   u_char  im6_msgtype;/* what type of message */
 -#if 0
 -#define MRT6MSG_NOCACHE  1
 -#define MRT6MSG_WRONGMIF 2
 -#define MRT6MSG_WHOLEPKT 3   /* used for user level encap*/
 -#endif
   u_char  im6_mbz;/* must be zero */
   u_char  im6_mif;/* mif rec'd on */
   u_char  unused2;
 @@ -199,7 +194,7 @@ struct sioc_mif_req6 {
   u_quad_t obytes;/* Output byte count on mif */
  };
  
 -#if defined(_KERNEL) || defined(KERNEL)
 +#ifdef _KERNEL
  /*
   * The kernel's multicast-interface structure.
   */

This last change broken netstat...  netstat defines KERNEL to get
these structures...

-- 
  John-Mark Gurney  Voice: +1 415 225 5579

 All that I will do, has been done, All that I have, has not.
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260493 - head/sys/arm/include

2014-01-09 Thread Ian Lepore
Author: ian
Date: Thu Jan  9 20:57:19 2014
New Revision: 260493
URL: http://svnweb.freebsd.org/changeset/base/260493

Log:
  Add a prototype for the new arm_devmap_print_table().  This should have
  been part of r260490.

Modified:
  head/sys/arm/include/devmap.h

Modified: head/sys/arm/include/devmap.h
==
--- head/sys/arm/include/devmap.h   Thu Jan  9 20:06:14 2014
(r260492)
+++ head/sys/arm/include/devmap.h   Thu Jan  9 20:57:19 2014
(r260493)
@@ -87,4 +87,7 @@ void arm_devmap_bootstrap(vm_offset_t _l
 void * arm_devmap_ptov(vm_paddr_t _pa, vm_size_t _sz);
 vm_paddr_t arm_devmap_vtop(void * _va, vm_size_t _sz);
 
+/* Print the static mapping table; used for bootverbose output. */
+void arm_devmap_print_table(void);
+
 #endif
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r260494 - head/sys/conf

2014-01-09 Thread Dimitry Andric
Author: dim
Date: Thu Jan  9 22:16:30 2014
New Revision: 260494
URL: http://svnweb.freebsd.org/changeset/base/260494

Log:
  Fix a braino with r259730: we cannot currently use CFLAGS.gcc or
  CFLAGS.clang in sys/conf/Makefile.arm, since the main kernel build does
  not use bsd.sys.mk.  So revert that particular change for now.
  
  Pointy hat to:me
  Noticed by:   zbb
  MFC after:3 days
  X-MFC-With:   r259730

Modified:
  head/sys/conf/Makefile.arm

Modified: head/sys/conf/Makefile.arm
==
--- head/sys/conf/Makefile.arm  Thu Jan  9 20:57:19 2014(r260493)
+++ head/sys/conf/Makefile.arm  Thu Jan  9 22:16:30 2014(r260494)
@@ -39,16 +39,20 @@ SYSTEM_DEP:= ${SYSTEM_DEP:$S/conf/ldscri
 STRIP_FLAGS = -S
 .endif
 
-CFLAGS.gcc += -mno-thumb-interwork
+.if ${COMPILER_TYPE} != clang
+CFLAGS += -mno-thumb-interwork
+.endif
 
 .if empty(DDB_ENABLED)
-.if defined(WITHOUT_ARM_EABI)
-CFLAGS.gcc += -mno-apcs-frame
+.if defined(WITHOUT_ARM_EABI)  ${COMPILER_TYPE} != clang
+CFLAGS += -mno-apcs-frame
 .endif
 .elif !defined(WITHOUT_ARM_EABI)
 CFLAGS += -funwind-tables
+.if ${COMPILER_TYPE} == clang
 # clang requires us to tell it to emit assembly with unwind information
-CFLAGS.clang += -mllvm -arm-enable-ehabi
+CFLAGS += -mllvm -arm-enable-ehabi
+.endif
 .endif
 
 SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r259730 - in head: gnu/lib/csu gnu/lib/libgcc gnu/lib/libstdc++ gnu/lib/libsupc++ lib/atf/libatf-c/tests share/mk sys/conf tools/tools/ath/athstats tools/tools/net80211/wlanstats usr.b

2014-01-09 Thread Dimitry Andric
On 09 Jan 2014, at 16:02, Ian Lepore i...@freebsd.org wrote:
...
 At r259730:
 
 cc  -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs
 -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline
 -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions
 -Wmissing-include-dirs -fdiagnostics-show-option
 -Wno-error-tautological-compare -Wno-error-empty-body
 -Wno-error-parentheses-equality  -nostdinc  -I.
 -I/local/build/staging/freebsd/imx53/src/sys
 -I/local/build/staging/freebsd/imx53/src/sys/contrib/altq
 -I/local/build/staging/freebsd/imx53/src/sys/contrib/libfdt -D_KERNEL
 -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -funwind-tables
 -ffreestanding
 -Werror  /local/build/staging/freebsd/imx53/src/sys/arm/arm/trap.c
 
 The difference is that the -mllvm and -arm-enable-ehabi flags are
 missing.

Aha, this was a nasty mistake, sorry.  The main kernel builds do not
include bsd.sys.mk, so CFLAGS.clang and CFLAGS.gcc do not work there at
the moment.  Fixed in r260494.

-Dimitry



signature.asc
Description: Message signed with OpenPGP using GPGMail


svn commit: r260496 - head/sys/netinet6

2014-01-09 Thread John-Mark Gurney
Author: jmg
Date: Thu Jan  9 22:41:18 2014
New Revision: 260496
URL: http://svnweb.freebsd.org/changeset/base/260496

Log:
  revert part of r260485 which changes how part of the header gets
  included..  netstat uses -DKERNEL=1 to get these parts and breaks the
  build w/o it...
  
  melifaro@ says that ae@ is probably asleep, and the PR doesn't have
  this part of the patch...  Probably a local change got in by accident..
  
  PR:   185148
  Pointy hat to:ae@

Modified:
  head/sys/netinet6/ip6_mroute.h

Modified: head/sys/netinet6/ip6_mroute.h
==
--- head/sys/netinet6/ip6_mroute.h  Thu Jan  9 22:40:51 2014
(r260495)
+++ head/sys/netinet6/ip6_mroute.h  Thu Jan  9 22:41:18 2014
(r260496)
@@ -194,7 +194,7 @@ struct sioc_mif_req6 {
u_quad_t obytes;/* Output byte count on mif */
 };
 
-#ifdef _KERNEL
+#if defined(_KERNEL) || defined(KERNEL)
 /*
  * The kernel's multicast-interface structure.
  */
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260494 - head/sys/conf

2014-01-09 Thread Ian Lepore
On Thu, 2014-01-09 at 22:16 +, Dimitry Andric wrote:
 Author: dim
 Date: Thu Jan  9 22:16:30 2014
 New Revision: 260494
 URL: http://svnweb.freebsd.org/changeset/base/260494
 
 Log:
   Fix a braino with r259730: we cannot currently use CFLAGS.gcc or
   CFLAGS.clang in sys/conf/Makefile.arm, since the main kernel build does
   not use bsd.sys.mk.  So revert that particular change for now.
   
   Pointy hat to:  me
   Noticed by: zbb
   MFC after:  3 days
   X-MFC-With: r259730
 
 Modified:
   head/sys/conf/Makefile.arm
 
 Modified: head/sys/conf/Makefile.arm
 ==
 --- head/sys/conf/Makefile.armThu Jan  9 20:57:19 2014
 (r260493)
 +++ head/sys/conf/Makefile.armThu Jan  9 22:16:30 2014
 (r260494)
 @@ -39,16 +39,20 @@ SYSTEM_DEP:= ${SYSTEM_DEP:$S/conf/ldscri
  STRIP_FLAGS = -S
  .endif
  
 -CFLAGS.gcc += -mno-thumb-interwork
 +.if ${COMPILER_TYPE} != clang
 +CFLAGS += -mno-thumb-interwork
 +.endif
  
  .if empty(DDB_ENABLED)
 -.if defined(WITHOUT_ARM_EABI)
 -CFLAGS.gcc += -mno-apcs-frame
 +.if defined(WITHOUT_ARM_EABI)  ${COMPILER_TYPE} != clang
 +CFLAGS += -mno-apcs-frame
  .endif
  .elif !defined(WITHOUT_ARM_EABI)
  CFLAGS += -funwind-tables
 +.if ${COMPILER_TYPE} == clang
  # clang requires us to tell it to emit assembly with unwind information
 -CFLAGS.clang += -mllvm -arm-enable-ehabi
 +CFLAGS += -mllvm -arm-enable-ehabi
 +.endif
  .endif
  
  SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \

That fixed it, now we can get backtraces in DDB again.  Thanks.

-- Ian


___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Daniel O'Connor

On 10 Jan 2014, at 2:48, Adrian Chadd adr...@freebsd.org wrote:
 Depends if you're thinking locally or globally.
 
 Locally - for nfs? not a big deal.
 
 Globally - NFS, ZFS, GELI, geom/cam, NIC, etc.. suddenly your machine
 could default to having a couple thousand worker threads just for a
 HBA and a 10GE NIC. That's a little nuts.
 

Most of those aren't paid unless you actually enable the thing in question.

Same with this change, if you aren't using NFS you don't pay the cost.

--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
The nice thing about standards is that there
are so many of them to choose from.
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C








signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Alexander Kabaev
On Thu, 09 Jan 2014 18:29:11 +0200
Alexander Motin m...@freebsd.org wrote:

 On 09.01.2014 18:18, Adrian Chadd wrote:
  Depends if you're thinking locally or globally.
 
  Locally - for nfs? not a big deal.
 
  Globally - NFS, ZFS, GELI, geom/cam, NIC, etc.. suddenly your
  machine could default to having a couple thousand worker threads
  just for a HBA and a 10GE NIC. That's a little nuts.
 
 So, what is your point? Each NFS thread (unlike GEOM or CAM) executes 
 only _one_ request at a time. Would you like your
 128-core/many-spindle system executed only 4 synchronous requests at
 a time?
 

I certainly do not want to have 8 * ncpu threads hanging around.
While said extra CPUs were all but forced on me by Intel innovators, my
NFS workloads hardly did scale at the same pace over the same time
period.

-- 
Alexander Kabaev


signature.asc
Description: PGP signature


svn commit: r260501 - head/sys/dev/usb/wlan

2014-01-09 Thread Kevin Lo
Author: kevlo
Date: Fri Jan 10 02:47:20 2014
New Revision: 260501
URL: http://svnweb.freebsd.org/changeset/base/260501

Log:
  Use m_getcl() instead of MGETHDR/MCLGET macros.
  
  Suggested by: glebius

Modified:
  head/sys/dev/usb/wlan/if_rsu.c

Modified: head/sys/dev/usb/wlan/if_rsu.c
==
--- head/sys/dev/usb/wlan/if_rsu.c  Fri Jan 10 01:44:34 2014
(r260500)
+++ head/sys/dev/usb/wlan/if_rsu.c  Fri Jan 10 02:47:20 2014
(r260501)
@@ -1145,16 +1145,9 @@ rsu_event_survey(struct rsu_softc *sc, u
pktlen = sizeof(*wh) + le32toh(bss-ieslen);
if (__predict_false(pktlen  MCLBYTES))
return;
-   MGETHDR(m, M_NOWAIT, MT_DATA);
+   m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR);
if (__predict_false(m == NULL))
return;
-   if (pktlen  MHLEN) {
-   MCLGET(m, M_NOWAIT);
-   if (!(m-m_flags  M_EXT)) {
-   m_free(m);
-   return;
-   }
-   }
wh = mtod(m, struct ieee80211_frame *);
wh-i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_MGT |
IEEE80211_FC0_SUBTYPE_BEACON;
@@ -1358,19 +1351,11 @@ rsu_rx_frame(struct rsu_softc *sc, uint8
DPRINTFN(5, Rx frame len=%d rate=%d infosz=%d rssi=%d\n,
pktlen, rate, infosz, *rssi);
 
-   MGETHDR(m, M_NOWAIT, MT_DATA);
+   m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR);
if (__predict_false(m == NULL)) {
ifp-if_ierrors++;
return NULL;
}
-   if (pktlen  MHLEN) {
-   MCLGET(m, M_NOWAIT);
-   if (__predict_false(!(m-m_flags  M_EXT))) {
-   ifp-if_ierrors++;
-   m_freem(m);
-   return NULL;
-   }
-   }
/* Finalize mbuf. */
m-m_pkthdr.rcvif = ifp;
/* Hardware does Rx TCP checksum offload. */
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260463 - head/sys/dev/usb/wlan

2014-01-09 Thread Kevin Lo

On 2014/01/09 16:55, Gleb Smirnoff wrote:

On Thu, Jan 09, 2014 at 01:48:34AM +, Kevin Lo wrote:
K Author: kevlo
K Date: Thu Jan  9 01:48:33 2014
K New Revision: 260463
K URL: http://svnweb.freebsd.org/changeset/base/260463
K
K Log:
K   Replace deprecated M_DONTWAIT with M_NOWAIT.
K
K Modified:
K   head/sys/dev/usb/wlan/if_rsu.c
K   head/sys/dev/usb/wlan/if_urtwn.c
K
K Modified: head/sys/dev/usb/wlan/if_rsu.c
K 
==
K --- head/sys/dev/usb/wlan/if_rsu.cThu Jan  9 00:59:03 2014
(r260462)
K +++ head/sys/dev/usb/wlan/if_rsu.cThu Jan  9 01:48:33 2014
(r260463)
K @@ -1145,11 +1145,11 @@ rsu_event_survey(struct rsu_softc *sc, u
K   pktlen = sizeof(*wh) + le32toh(bss-ieslen);
K   if (__predict_false(pktlen  MCLBYTES))
K   return;
K - MGETHDR(m, M_DONTWAIT, MT_DATA);
K + MGETHDR(m, M_NOWAIT, MT_DATA);
K   if (__predict_false(m == NULL))
K   return;
K   if (pktlen  MHLEN) {
K - MCLGET(m, M_DONTWAIT);
K + MCLGET(m, M_NOWAIT);
K   if (!(m-m_flags  M_EXT)) {
K   m_free(m);
K   return;
K @@ -1358,13 +1358,13 @@ rsu_rx_frame(struct rsu_softc *sc, uint8
K   DPRINTFN(5, Rx frame len=%d rate=%d infosz=%d rssi=%d\n,
K   pktlen, rate, infosz, *rssi);
K
K - MGETHDR(m, M_DONTWAIT, MT_DATA);
K + MGETHDR(m, M_NOWAIT, MT_DATA);
K   if (__predict_false(m == NULL)) {
K   ifp-if_ierrors++;
K   return NULL;
K   }
K   if (pktlen  MHLEN) {
K - MCLGET(m, M_DONTWAIT);
K + MCLGET(m, M_NOWAIT);
K   if (__predict_false(!(m-m_flags  M_EXT))) {
K   ifp-if_ierrors++;
K   m_freem(m);

Thanks!

The macros MGETHDR, MCLGET should also be converted to functions.


Fixed in r260501.  Thanks.

Kevin
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r259730 - in head: gnu/lib/csu gnu/lib/libgcc gnu/lib/libstdc++ gnu/lib/libsupc++ lib/atf/libatf-c/tests share/mk sys/conf tools/tools/ath/athstats tools/tools/net80211/wlanstats usr.b

2014-01-09 Thread Bruce Evans

On Thu, 9 Jan 2014, Dimitry Andric wrote:


On 09 Jan 2014, at 16:02, Ian Lepore i...@freebsd.org wrote:
...

At r259730:

cc  -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline
-Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions
-Wmissing-include-dirs -fdiagnostics-show-option
-Wno-error-tautological-compare -Wno-error-empty-body
-Wno-error-parentheses-equality  -nostdinc  -I.
-I/local/build/staging/freebsd/imx53/src/sys
-I/local/build/staging/freebsd/imx53/src/sys/contrib/altq
-I/local/build/staging/freebsd/imx53/src/sys/contrib/libfdt -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -funwind-tables
-ffreestanding
-Werror  /local/build/staging/freebsd/imx53/src/sys/arm/arm/trap.c

The difference is that the -mllvm and -arm-enable-ehabi flags are
missing.


Aha, this was a nasty mistake, sorry.  The main kernel builds do not
include bsd.sys.mk, so CFLAGS.clang and CFLAGS.gcc do not work there at
the moment.  Fixed in r260494.


It is a bug for kernel builds to include anything in /usr/share/mk, since
this gives a dependency on the host environment.  This bug is very old,
but not too bad for files that should rarely change, e.g., sys.mk.  It it
is very bad for critical variations of CFLAGS.

The old bug has been expanded exponentially by namespace pollution in
environment files.  Old versions of conf/*.mk have only the following
includes:

kern.post.mk:.include kern.mk
kmod.mk:.include bsd.init.mk
kmod.mk:.include bsd.links.mk
kmod.mk:.include bsd.dep.mk
kmod.mk:.include bsd.obj.mk
kmod.mk:.include kern.mk

This shows that the old bug was only in kmod.mk and in nested pollution
in sys.mk.  It used to be in kern.post.mk, when that included bsd.kern.mk
instead of kern.mk.  This was fixed for new sources by moving bsd.kern.mk
to kern.mk in the kernel source tree, but collaterally enlarged for old
sources by removing bsd.kern.mk from the host source tree (thus, old
kernel sources no longer compiled with new hosts, even if nothing in
*kern.mk changed).

The other includes here shouldn't cause any problems since they shouldn't
do anything that depends on the host environment including the compiler.

conf/*.mk now has the following includes:

kern.post.mk:.include kern.mk
kern.pre.mk:.include bsd.own.mk
kern.pre.mk:.include bsd.compiler.mk
kmod.mk:.include bsd.init.mk
kmod.mk:.include bsd.compiler.mk
kmod.mk:.include bsd.links.mk
kmod.mk:.include bsd.dep.mk
kmod.mk:.include bsd.obj.mk
kmod.mk:.include kern.mk

bsd.sys.mk still isn't explicitly here.  For modules, it is included
by bsd.kmod.mk.  The layering for *kmod.mk is backwards:

- modules Makefiles include bsd.kmod.mk from the host environment
- bsd.kmod.mk guesses the system directory and includes conf/kmod.mk
  from there
- conf/kmod.mk then includes other files from the host environment,
  as above
- bsd.kmod.mk then includes bsd.sys.mk from the host environment.
  This bug is old.

I think you just copied the bug from bsd.kmod.mk so that it affects
kernel builds too.

Bruce
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r260486 - head/etc/defaults

2014-01-09 Thread Attila Nagy
We have 2 and 4 hw.ncpu NFS servers with 70+ disks, so there may be 
cases, where even the default maximum of 256 threads is not enough to 
feed the -otherwise slow- disks.

I guess the real solution here is to change the nfsd worker model to async.

(adapting to top poster)

On 01/09/14 18:14, Adrian Chadd wrote:

If it's one request per nfsd then we should likely scale it separate to
ncpu. Otherwise the default for two or core boxes may not be enough.

Adrian
  On Jan 9, 2014 11:29 AM, Alexander Motin m...@freebsd.org wrote:


On 09.01.2014 18:18, Adrian Chadd wrote:


Depends if you're thinking locally or globally.

Locally - for nfs? not a big deal.

Globally - NFS, ZFS, GELI, geom/cam, NIC, etc.. suddenly your machine
could default to having a couple thousand worker threads just for a
HBA and a 10GE NIC. That's a little nuts.


So, what is your point? Each NFS thread (unlike GEOM or CAM) executes only
_one_ request at a time. Would you like your 128-core/many-spindle system
executed only 4 synchronous requests at a time?

  On 9 January 2014 08:00, Alexander Motin m...@freebsd.org wrote:

On 09.01.2014 17:57, Adrian Chadd wrote:


.. so with say, 128 core boxes showing up, is this really a good
default?



And what is the price? 16K+ of KVA per thread for thread stack, etc? 4
threads is probably much worse default there. May be nfsd's default
could be
tuned, but obviously it should not be hardcoded value.


  On 9 January 2014 07:55, Alexander Motin m...@freebsd.org wrote:

Author: mav
Date: Thu Jan  9 15:55:55 2014
New Revision: 260486
URL: http://svnweb.freebsd.org/changeset/base/260486

Log:
 Remove very low default limit of 4 nfsd threads.  nfsd's own
default
is
 8 * hw.ncpu, that sounds more appropriate for these SMP/NCQ/...
days.

Modified:
 head/etc/defaults/rc.conf

Modified: head/etc/defaults/rc.conf


==
--- head/etc/defaults/rc.conf   Thu Jan  9 15:38:28 2014
  (r260485)
+++ head/etc/defaults/rc.conf   Thu Jan  9 15:55:55 2014
  (r260486)
@@ -311,7 +311,7 @@ nfs_client_enable=NO  # This host is
a
nfs_access_cache=60  # Client cache timeout in seconds
nfs_server_enable=NO # This host is an NFS server (or NO).
oldnfs_server_enable=NO  # Run the old NFS server (YES/NO).
-nfs_server_flags=-u -t -n 4  # Flags to nfsd (if enabled).
+nfs_server_flags=-u -t   # Flags to nfsd (if enabled).
mountd_enable=NO # Run mountd (or NO).
mountd_flags=-r  # Flags to mountd (if NFS server
enabled).
weak_mountd_authentication=NO# Allow non-root mount
requests
to be served.



--
Alexander Motin


--
Alexander Motin


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


___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org