svn commit: r323577 - in head: contrib/one-true-awk usr.bin/awk

2017-09-13 Thread Warner Losh
Author: imp
Date: Thu Sep 14 05:48:23 2017
New Revision: 323577
URL: https://svnweb.freebsd.org/changeset/base/323577

Log:
  Implement gawk multiple-arg extension to and, or, and xor.
  
  gawk allows multiple arguemnts to bit-wiste and, or and xor
  functions. Implement an arbitrary number of arguments for these
  functions. Also, use NULL in preference to 0 to match rest of file.
  
  Sponsored by: Netflix
  Differential Revision: https://reviews.freebsd.org/D12361

Modified:
  head/contrib/one-true-awk/run.c
  head/usr.bin/awk/awk.1

Modified: head/contrib/one-true-awk/run.c
==
--- head/contrib/one-true-awk/run.c Thu Sep 14 05:47:55 2017
(r323576)
+++ head/contrib/one-true-awk/run.c Thu Sep 14 05:48:23 2017
(r323577)
@@ -1476,7 +1476,7 @@ Cell *bltin(Node **a, int n)  /* builtin functions. 
a[0
 {
Cell *x, *y;
Awkfloat u;
-   int t;
+   int t, i;
Awkfloat tmp;
char *p, *buf;
Node *nextarg;
@@ -1520,40 +1520,52 @@ Cell *bltin(Node **a, int n)/* builtin functions. 
a[0
u = ~((int)getfval(x));
break;
case FAND:
-   if (nextarg == 0) {
+   if (nextarg == NULL) {
WARNING("and requires two arguments; returning 0");
u = 0;
break;
}
-   y = execute(a[1]->nnext);
-   u = ((int)getfval(x)) & ((int)getfval(y));
-   tempfree(y);
-   nextarg = nextarg->nnext;
+   i = ((int)getfval(x));
+   while (nextarg != NULL) {
+   y = execute(nextarg);
+   i &= (int)getfval(y);
+   tempfree(y);
+   nextarg = nextarg->nnext;
+   }
+   u = i;
break;
case FFOR:
-   if (nextarg == 0) {
+   if (nextarg == NULL) {
WARNING("or requires two arguments; returning 0");
u = 0;
break;
}
-   y = execute(a[1]->nnext);
-   u = ((int)getfval(x)) | ((int)getfval(y));
-   tempfree(y);
-   nextarg = nextarg->nnext;
+   i = ((int)getfval(x));
+   while (nextarg != NULL) {
+   y = execute(nextarg);
+   i |= (int)getfval(y);
+   tempfree(y);
+   nextarg = nextarg->nnext;
+   }
+   u = i;
break;
case FXOR:
-   if (nextarg == 0) {
+   if (nextarg == NULL) {
WARNING("xor requires two arguments; returning 0");
u = 0;
break;
}
-   y = execute(a[1]->nnext);
-   u = ((int)getfval(x)) ^ ((int)getfval(y));
-   tempfree(y);
-   nextarg = nextarg->nnext;
+   i = ((int)getfval(x));
+   while (nextarg != NULL) {
+   y = execute(nextarg);
+   i ^= (int)getfval(y);
+   tempfree(y);
+   nextarg = nextarg->nnext;
+   }
+   u = i;
break;
case FLSHIFT:
-   if (nextarg == 0) {
+   if (nextarg == NULL) {
WARNING("lshift requires two arguments; returning 0");
u = 0;
break;
@@ -1564,7 +1576,7 @@ Cell *bltin(Node **a, int n)  /* builtin functions. 
a[0
nextarg = nextarg->nnext;
break;
case FRSHIFT:
-   if (nextarg == 0) {
+   if (nextarg == NULL) {
WARNING("rshift requires two arguments; returning 0");
u = 0;
break;

Modified: head/usr.bin/awk/awk.1
==
--- head/usr.bin/awk/awk.1  Thu Sep 14 05:47:55 2017(r323576)
+++ head/usr.bin/awk/awk.1  Thu Sep 14 05:48:23 2017(r323577)
@@ -690,12 +690,15 @@ and returns its exit status.
 .Bl -tag -width "lshift(a, b)"
 .It Fn compl x
 Returns the bitwise complement of integer argument x.
-.It Fn and x y
-Performs a bitwise AND on integer arguments x and y.
-.It Fn or x y
-Performs a bitwise OR on integer arguments x and y.
-.It Fn xor x y
-Performs a bitwise Exclusive-OR on integer arguments x and y.
+.It Fn and v1 v2 ...
+Performs a bitwise AND on all arguments provided, as integers.
+There must be at least two values.
+.It Fn or v1 v2 ...
+Performs a bitwise OR on all arguments provided, as integers.
+There must be at least two values.
+.It Fn xor v1 v2 ...
+Performs a bitwise Exclusive-OR on 

svn commit: r323576 - head/contrib/one-true-awk

2017-09-13 Thread Warner Losh
Author: imp
Date: Thu Sep 14 05:47:55 2017
New Revision: 323576
URL: https://svnweb.freebsd.org/changeset/base/323576

Log:
  Bring in bit operation functions, ala gawk.
  
  These are from OpenBSD:
  >>> Extend awk with bitwise operations. This is an extension to the awk
  >>> spec and documented as such, but comes in handy from time to time.
  >>> The prototypes make it compatible with a similar GNU awk extension.
  >>>
  >>> ok millert@, enthusiasm from deraadt@
  
  Edited to fix cut and paste in error messages, as well as
  using tabs instead of spaces after #defines added.
  
  Obtained From: OpenBSD awk.h 1.12, lex.c 1.10, run.c 1.29
  Differential Revision: https://reviews.freebsd.org/D12361
  Sponsored by: Netflix

Modified:
  head/contrib/one-true-awk/awk.h
  head/contrib/one-true-awk/lex.c
  head/contrib/one-true-awk/run.c

Modified: head/contrib/one-true-awk/awk.h
==
--- head/contrib/one-true-awk/awk.h Thu Sep 14 04:51:17 2017
(r323575)
+++ head/contrib/one-true-awk/awk.h Thu Sep 14 05:47:55 2017
(r323576)
@@ -126,6 +126,12 @@ extern Cell*rlengthloc;/* RLENGTH */
 #defineFTOUPPER 12
 #defineFTOLOWER 13
 #defineFFLUSH  14
+#defineFAND15
+#defineFFOR16
+#defineFXOR17
+#defineFCOMPL  18
+#defineFLSHIFT 19
+#defineFRSHIFT 20
 
 /* Node:  parse tree is made of nodes, with Cell's at bottom */
 

Modified: head/contrib/one-true-awk/lex.c
==
--- head/contrib/one-true-awk/lex.c Thu Sep 14 04:51:17 2017
(r323575)
+++ head/contrib/one-true-awk/lex.c Thu Sep 14 05:47:55 2017
(r323576)
@@ -47,9 +47,11 @@ Keyword keywords[] ={/* keep sorted: binary searched 
{ "BEGIN",  XBEGIN, XBEGIN },
{ "END",XEND,   XEND },
{ "NF", VARNF,  VARNF },
+   { "and",FAND,   BLTIN },
{ "atan2",  FATAN,  BLTIN },
{ "break",  BREAK,  BREAK },
{ "close",  CLOSE,  CLOSE },
+   { "compl",  FCOMPL, BLTIN },
{ "continue",   CONTINUE,   CONTINUE },
{ "cos",FCOS,   BLTIN },
{ "delete", DELETE, DELETE },
@@ -69,13 +71,16 @@ Keyword keywords[] ={   /* keep sorted: binary searched 
{ "int",FINT,   BLTIN },
{ "length", FLENGTH,BLTIN },
{ "log",FLOG,   BLTIN },
+   { "lshift", FLSHIFT,BLTIN },
{ "match",  MATCHFCN,   MATCHFCN },
{ "next",   NEXT,   NEXT },
{ "nextfile",   NEXTFILE,   NEXTFILE },
+   { "or", FFOR,   BLTIN },
{ "print",  PRINT,  PRINT },
{ "printf", PRINTF, PRINTF },
{ "rand",   FRAND,  BLTIN },
{ "return", RETURN, RETURN },
+   { "rshift", FRSHIFT,BLTIN },
{ "sin",FSIN,   BLTIN },
{ "split",  SPLIT,  SPLIT },
{ "sprintf",SPRINTF,SPRINTF },
@@ -87,6 +92,7 @@ Keyword keywords[] ={ /* keep sorted: binary searched 
{ "tolower",FTOLOWER,   BLTIN },
{ "toupper",FTOUPPER,   BLTIN },
{ "while",  WHILE,  WHILE },
+   { "xor",FXOR,   BLTIN },
 };
 
 #defineRET(x)  { if(dbg)printf("lex %s\n", tokname(x)); return(x); }

Modified: head/contrib/one-true-awk/run.c
==
--- head/contrib/one-true-awk/run.c Thu Sep 14 04:51:17 2017
(r323575)
+++ head/contrib/one-true-awk/run.c Thu Sep 14 05:47:55 2017
(r323576)
@@ -1516,6 +1516,64 @@ Cell *bltin(Node **a, int n) /* builtin functions. 
a[0
nextarg = nextarg->nnext;
}
break;
+   case FCOMPL:
+   u = ~((int)getfval(x));
+   break;
+   case FAND:
+   if (nextarg == 0) {
+   WARNING("and requires two arguments; returning 0");
+   u = 0;
+   break;
+   }
+   y = execute(a[1]->nnext);
+   u = ((int)getfval(x)) & ((int)getfval(y));
+   tempfree(y);
+   nextarg = nextarg->nnext;
+   break;
+   case FFOR:
+   if (nextarg == 0) {
+   WARNING("or requires two arguments; returning 0");
+   u = 0;
+   break;
+   }
+   y = execute(a[1]->nnext);
+   u = ((int)getfval(x)) | ((int)getfval(y));
+   tempfree(y);
+   nextarg = nextarg->nnext;
+   

svn commit: r323575 - head/sys/dev/ntb/ntb_hw

2017-09-13 Thread Alexander Motin
Author: mav
Date: Thu Sep 14 04:51:17 2017
New Revision: 323575
URL: https://svnweb.freebsd.org/changeset/base/323575

Log:
  Add second entry to LUT on a link side in B2B mode.
  
  Each of two entries on a virtual side should have its counterpart on a
  peer's link side.
  
  MFC after:1 week

Modified:
  head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c

Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
==
--- head/sys/dev/ntb/ntb_hw/ntb_hw_plx.cThu Sep 14 03:42:41 2017
(r323574)
+++ head/sys/dev/ntb/ntb_hw/ntb_hw_plx.cThu Sep 14 04:51:17 2017
(r323575)
@@ -197,8 +197,8 @@ ntb_plx_init(device_t dev)
}
}
 
-   /* Enable Link Interface LUT entry 0 for 0:0.0. */
-   PNTX_WRITE(sc, 0xdb4, 1);
+   /* Enable Link Interface LUT entries 0/1 for peer 0/1. */
+   PNTX_WRITE(sc, 0xdb4, 0x00090001);
}
 
/*
@@ -631,13 +631,12 @@ ntb_plx_mw_set_trans_internal(device_t dev, unsigned m
val64 = 0;
if (size > 0)
val64 = (~(size - 1) & ~0xf);
-   val64 |= 0x4;
+   val64 |= 0xc;
PNTX_WRITE(sc, 0xe8 + (mw->mw_bar - 2) * 4, val64);
PNTX_WRITE(sc, 0xe8 + (mw->mw_bar - 2) * 4 + 4, val64 
>> 32);
 
/* Set Link Interface BAR address. */
val64 = 0x2000 * mw->mw_bar + off;
-   val64 |= 0x4;
PNTX_WRITE(sc, PCIR_BAR(mw->mw_bar), val64);
PNTX_WRITE(sc, PCIR_BAR(mw->mw_bar) + 4, val64 >> 32);
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323574 - head/sys/conf

2017-09-13 Thread Ryan Libby
Author: rlibby
Date: Thu Sep 14 03:42:41 2017
New Revision: 323574
URL: https://svnweb.freebsd.org/changeset/base/323574

Log:
  gcc builds: reenable -Wstrict-overflow for kern.mk
  
  Reviewed by:  emaste
  Sponsored by: Dell EMC Isilon
  Differential Revision:https://reviews.freebsd.org/D12284

Modified:
  head/sys/conf/kern.mk

Modified: head/sys/conf/kern.mk
==
--- head/sys/conf/kern.mk   Thu Sep 14 03:41:49 2017(r323573)
+++ head/sys/conf/kern.mk   Thu Sep 14 03:42:41 2017(r323574)
@@ -58,7 +58,6 @@ CWARNEXTRA?=  -Wno-error=address  
\
-Wno-error=maybe-uninitialized  \
-Wno-error=overflow \
-Wno-error=sequence-point   \
-   -Wno-error=strict-overflow  \
-Wno-error=unused-but-set-variable
 .if ${COMPILER_VERSION} >= 60100
 CWARNEXTRA+=   -Wno-error=misleading-indentation   \
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323573 - head/share/mk

2017-09-13 Thread Ryan Libby
Author: rlibby
Date: Thu Sep 14 03:41:49 2017
New Revision: 323573
URL: https://svnweb.freebsd.org/changeset/base/323573

Log:
  gcc builds: reenable -Wstrict-overflow for bsd.sys.mk
  
  This effectively reverts r304877, after having relegated the warning
  suppression to the zic(8) makefile in r323572.
  
  Reviewed by:  emaste
  Sponsored by: Dell EMC Isilon
  X-Differential Revision:  https://reviews.freebsd.org/D12284

Modified:
  head/share/mk/bsd.sys.mk

Modified: head/share/mk/bsd.sys.mk
==
--- head/share/mk/bsd.sys.mkThu Sep 14 03:39:42 2017(r323572)
+++ head/share/mk/bsd.sys.mkThu Sep 14 03:41:49 2017(r323573)
@@ -131,11 +131,6 @@ CWARNFLAGS+=   -Wno-error=address  
\
-Wno-error=unused-value
 .endif
 
-# GCC 5.3.0
-.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 50300
-CWARNFLAGS+=   -Wno-error=strict-overflow
-.endif
-
 # GCC 6.1.0
 .if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60100
 CWARNFLAGS+=   -Wno-error=misleading-indentation   \
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323572 - head/usr.sbin/zic/zic

2017-09-13 Thread Ryan Libby
Author: rlibby
Date: Thu Sep 14 03:39:42 2017
New Revision: 323572
URL: https://svnweb.freebsd.org/changeset/base/323572

Log:
  zic: -Wno-error=strict-overflow
  
  Reviewed by:  emaste
  Sponsored by: Dell EMC Isilon
  X-Differential Revision:  https://reviews.freebsd.org/D12284

Modified:
  head/usr.sbin/zic/zic/Makefile

Modified: head/usr.sbin/zic/zic/Makefile
==
--- head/usr.sbin/zic/zic/Makefile  Thu Sep 14 01:24:17 2017
(r323571)
+++ head/usr.sbin/zic/zic/Makefile  Thu Sep 14 03:39:42 2017
(r323572)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include 
+
 .PATH: ${SRCTOP}/contrib/tzcode/zic
 
 PROG=  zic
@@ -12,5 +14,9 @@ CFLAGS+= -DHAVE_STRERROR -DHAVE_UNISTD_H
 CFLAGS+= -I${.CURDIR:H} -I${SRCTOP}/contrib/tzcode/stdtime
 
 WARNS?=2
+
+.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 50300
+CWARNFLAGS+=   -Wno-error=strict-overflow
+.endif
 
 .include 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r323393 - in head/sys: sys vm

2017-09-13 Thread Gleb Smirnoff
On Mon, Sep 11, 2017 at 09:30:10AM +0200, Mateusz Guzik wrote:
M> First, there is a bunch of counter(9) fields. I don't know the original
M> reasoning. I would expect these counters to be statically defined in a
M> per-cpu struct.

The reasoning was to remove 'struct vmmeter' from the 'struct pcpu', which
sounds inline with your desire to remote struct vmmeter from the kernel
at all.

Maintainance wise, it is much easier not to bloat 'struct pcpu' with
various global statistics, but keep them as counter(9)s instead. Indeed,
what's the big difference between TCP statistics and VM statistics, why
treat them differently?

Performance wise, I haven't seen any regressions when collapsed
multiple entities of struct vmmeter sitting in struct pcpu, into
single one with counter(9)s.

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


svn commit: r323566 - head/sys/kern

2017-09-13 Thread Gleb Smirnoff
Author: glebius
Date: Wed Sep 13 22:11:05 2017
New Revision: 323566
URL: https://svnweb.freebsd.org/changeset/base/323566

Log:
  Use soref() in sendfile(2) instead fhold() to reference a socket.
  
  The problem is that fdrop() requires syscall context, as it may
  enter sleep in some cases.  The reason to use it in the original
  non-blocking sendfile implementation, was to avoid use of global
  ACCEPT_LOCK() on every I/O completion. Now in head sorele() no
  longer requires this lock.

Modified:
  head/sys/kern/kern_sendfile.c

Modified: head/sys/kern/kern_sendfile.c
==
--- head/sys/kern/kern_sendfile.c   Wed Sep 13 21:56:49 2017
(r323565)
+++ head/sys/kern/kern_sendfile.c   Wed Sep 13 22:11:05 2017
(r323566)
@@ -80,7 +80,7 @@ struct sf_io {
volatile u_int  nios;
u_int   error;
int npages;
-   struct file *sock_fp;
+   struct socket   *so;
struct mbuf *m;
vm_page_t   pa[];
 };
@@ -255,7 +255,7 @@ static void
 sendfile_iodone(void *arg, vm_page_t *pg, int count, int error)
 {
struct sf_io *sfio = arg;
-   struct socket *so;
+   struct socket *so = sfio->so;
 
for (int i = 0; i < count; i++)
if (pg[i] != bogus_page)
@@ -267,8 +267,6 @@ sendfile_iodone(void *arg, vm_page_t *pg, int count, i
if (!refcount_release(>nios))
return;
 
-   so = sfio->sock_fp->f_data;
-
if (sfio->error) {
struct mbuf *m;
 
@@ -296,8 +294,8 @@ sendfile_iodone(void *arg, vm_page_t *pg, int count, i
CURVNET_RESTORE();
}
 
-   /* XXXGL: curthread */
-   fdrop(sfio->sock_fp, curthread);
+   SOCK_LOCK(so);
+   sorele(so);
free(sfio, M_TEMP);
 }
 
@@ -724,6 +722,7 @@ retry_space:
sfio = malloc(sizeof(struct sf_io) +
npages * sizeof(vm_page_t), M_TEMP, M_WAITOK);
refcount_init(>nios, 1);
+   sfio->so = so;
sfio->error = 0;
 
nios = sendfile_swapin(obj, sfio, off, space, npages, rhpages,
@@ -858,9 +857,8 @@ prepend_header:
error = (*so->so_proto->pr_usrreqs->pru_send)
(so, 0, m, NULL, NULL, td);
} else {
-   sfio->sock_fp = sock_fp;
sfio->npages = npages;
-   fhold(sock_fp);
+   soref(so);
error = (*so->so_proto->pr_usrreqs->pru_send)
(so, PRUS_NOTREADY, m, NULL, NULL, td);
sendfile_iodone(sfio, NULL, 0, 0);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323564 - head/sys/vm

2017-09-13 Thread Mark Johnston
Author: markj
Date: Wed Sep 13 21:54:37 2017
New Revision: 323564
URL: https://svnweb.freebsd.org/changeset/base/323564

Log:
  Widen uk_pgoff, the slab header offset field.
  
  16 bits is only wide enough for kegs with an item size of up to 64KB.
  At that size or larger, slab headers are typically offpage because the
  item size is a multiple of the page size, but there is no requirement
  that this be the case.
  
  We can widen the field without affecting the layout of struct uma_keg
  since the removal of uk_slabsize in r315077 left an adjacent hole.
  
  PR:   218911
  MFC after:2 weeks

Modified:
  head/sys/vm/uma_int.h

Modified: head/sys/vm/uma_int.h
==
--- head/sys/vm/uma_int.h   Wed Sep 13 21:21:33 2017(r323563)
+++ head/sys/vm/uma_int.h   Wed Sep 13 21:54:37 2017(r323564)
@@ -210,7 +210,7 @@ struct uma_keg {
vm_offset_t uk_kva; /* Zone base KVA */
uma_zone_t  uk_slabzone;/* Slab zone backing us, if OFFPAGE */
 
-   uint16_tuk_pgoff;   /* Offset to uma_slab struct */
+   uint32_tuk_pgoff;   /* Offset to uma_slab struct */
uint16_tuk_ppera;   /* pages per allocation from backend */
uint16_tuk_ipers;   /* Items per slab */
uint32_tuk_flags;   /* Internal flags */
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


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

2017-09-13 Thread John Baldwin
On Wednesday, September 13, 2017 10:37:55 AM Ian Lepore wrote:
> On Wed, 2017-09-13 at 09:26 -0700, John Baldwin wrote:
> > On Wednesday, September 13, 2017 09:09:42 AM Sean Bruno wrote:
> > > 
> > > 
> > > On 09/13/17 08:35, John Baldwin wrote:
> > > > 
> > > > On Wednesday, September 13, 2017 03:56:04 AM Sean Bruno wrote:
> > > > > 
> > > > > Author: sbruno
> > > > > Date: Wed Sep 13 03:56:03 2017
> > > > > New Revision: 323518
> > > > > URL: https://svnweb.freebsd.org/changeset/base/323518
> > > > > 
> > > > > Log:
> > > > >   Jenkins i386 LINT build uses NOTES to generate its LINT kernel 
> > > > > config.
> > > > >   
> > > > >   ixl(4) isn't in here either, so I'll remove lio(4) too.
> > > > ixl missing is a bug, please put it in sys/amd64/conf/NOTES (or better 
> > > > yet,
> > > > just fix the build on !amd64)
> > > > 
> > > 
> > > In the case of lio(4), Cavium is explicitly not compiling for 32 bit
> > > architectures.  I'm inquiring to find out if they want to build on the
> > > other 64bit architectures we have.
> > > 
> > > In the case of ixl(4), Intel has said that this is not supported on
> > > 32bit architectures.
> > > 
> > > I'm unsure what the best course of action is.
> > The bug is more if drivers aren't in NOTES at all.  Any thing listed in
> > sys/conf/files.* should be in some NOTES file, either sys/conf/NOTES for
> > things that are MI or sys/${arch}/conf/NOTES for things that are MD.
> > 
> 
> Didn't somebody start a task list of things for junior hackers to work
> on?  Writing a script/tool to verify the assertion in that last
> sentence seems like a good candidate for such a list.

tools/tools/notescheck/notescheck.py

(I haven't run it myself in a long while though)

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


Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-13 Thread Warner Losh
On Wed, Sep 13, 2017 at 7:45 AM, Cy Schubert 
wrote:

> In message  KcmTA@mail.gmail.c
> om>
> , Warner Losh writes:
> > --001a1141f15ac444250559123c56
> > Content-Type: text/plain; charset="UTF-8"
> >
> > On Wed, Sep 13, 2017 at 1:11 AM, Cy Schubert 
> > wrote:
> >
> > > In message <4d5ae475-5a38-4429-8b71-dbecdfb0a...@gmail.com>, Ngie
> Cooper
> > > writes
> > > :
> > > >
> > > > > On Sep 12, 2017, at 18:18, Stephen Hurd  wrote:
> > > > >
> > > > > Author: shurd
> > > > > Date: Wed Sep 13 01:18:42 2017
> > > > > New Revision: 323516
> > > > > URL: https://svnweb.freebsd.org/changeset/base/323516
> > > > >
> > > > > Log:
> > > > >  Roll up iflib commits from github.  This pulls in most of the work
> > > done
> > > > >  by Matt Macy as well as other changes which he has accepted via
> pull
> > > > >  request to his github repo at https://github.com/mattmacy/
> networking/
> > > > >
> > > > >  This should bring -CURRENT and the github repo into close enough
> sync
> > > to
> > > > >  allow small feature branches rather than a large chain of
> > > interdependant
> > > > >  patches being developed out of tree.  The reset of the
> synchronization
> > > > >  should be able to be completed on github by splitting the
> remaining
> > > > >  changes that are not yet ready into short feature branches for
> later
> > > > >  review as smaller commits.
> > > > >
> > > > >  Here is a summary of changes included in this patch:
> > > > >
> > > > >  1)  More checks when INVARIANTS are enabled for eariler problem
> > > > >  detection
> > > > >  2)  Group Task Queue cleanups
> > > > >  - Fix use of duplicate shortdesc for gtaskqueue malloc type.
> > > > >Some interfaces such as memguard(9) use the short
> description to
> > > > >identify malloc types, so duplicates should be avoided.
> > > > >  3)  Allow gtaskqueues to use ithreads in addition to taskqueues
> > > > >  - In some cases, this can improve performance
> > > > >  4)  Better logging when taskqgroup_attach*() fails to set
> interrupt
> > > > >  affinity.
> > > > >  5)  Do not start gtaskqueues until they're needed
> > > > >  6)  Have mp_ring enqueue function enter the ABDICATED rather than
> BUSY
> > > > >  state.  This moves the TX to the gtaskq and allows processing
> to
> > > > >  continue faster as well as make TX batching more likely.
> > > > >  7)  Add an ift_txd_errata function to struct if_txrx.  This allows
> > > > >  drivers to inspect/modify mbufs before transmission.
> > > > >  8)  Add a new IFLIB_NEED_ZERO_CSUM for drivers to indicate they
> need
> > > > >  checksums zeroed for checksum offload to work.  This avoids
> > > modifying
> > > > >  packet data in the TX path when possible.
> > > > >  9)  Use ithreads for iflib I/O instead of taskqueues
> > > > >  10) Clean up ioctl and support async ioctl functions
> > > > >  11) Prefetch two cachlines from each mbuf instead of one up to
> 128B.
> > > We
> > > > >  often need to parse packet header info beyond 64B.
> > > > >  12) Fix potential memory corruption due to fence post error in
> > > > >  bit_nclear() usage.
> > > > >  13) Improved hang detection and handling
> > > > >  14) If the packet is smaller than MTU, disable the TSO flags.
> > > > >  This avoids extra packet parsing when not needed.
> > > > >  15) Move TCP header parsing inside the IS_TSO?() test.
> > > > >  This avoids extra packet parsing when not needed.
> > > > >  16) Pass chains of mbufs that are not consumed by lro to
> if_input()
> > > > >  rather call if_input() for each mbuf.
> > > > >  17) Re-arrange packet header loads to get as much work as possible
> > > done
> > > > >  before a cache stall.
> > > > >  18) Lock the context when calling IFDI_ATTACH_PRE()/IFDI_ATTACH_
> > > POST()/
> > > > >  IFDI_DETACH();
> > > > >  19) Attempt to distribute RX/TX tasks across cores more sensibly,
> > > > >  especially when RX and TX share an interrupt.  RX will
> attempt to
> > > > >  take the first threads on a core, and TX will attempt to take
> > > > >  successive threads.
> > > > >  20) Allow iflib_softirq_alloc_generic() to request affinity to the
> > > same
> > > > >  cpus an interrupt has affinity with.  This allows TX queues to
> > > > >  ensure they are serviced by the socket the device is on.
> > > > >  21) Add new iflib sysctls to net.iflib:
> > > > >  - timer_int - interval at which to run per-queue timers in
> ticks
> > > > >  - force_busdma
> > > > >  22) Add new per-device iflib sysctls to dev.X.Y.iflib
> > > > >  - rx_budget allows tuning the batch size on the RX path
> > > > >  - watchdog_events Count of watchdog events seen since load
> > > > >  23) Fix error where netmap_rxq_init() could get called before
> > > > >  IFDI_INIT()
> > > > >  24) e1000: Fixed version of r323008: post-cold 

svn commit: r323562 - head/sys/vm

2017-09-13 Thread Konstantin Belousov
Author: kib
Date: Wed Sep 13 19:30:09 2017
New Revision: 323562
URL: https://svnweb.freebsd.org/changeset/base/323562

Log:
  Remove inline specifier from vm_page_free_wakeup(), do not
  micro-manage compiler.
  
  Reviewed by:  alc, markj
  Sponsored by: The FreeBSD Foundation
  MFC after:1 week

Modified:
  head/sys/vm/vm_page.c

Modified: head/sys/vm/vm_page.c
==
--- head/sys/vm/vm_page.c   Wed Sep 13 19:22:07 2017(r323561)
+++ head/sys/vm/vm_page.c   Wed Sep 13 19:30:09 2017(r323562)
@@ -2739,7 +2739,7 @@ vm_page_activate(vm_page_t m)
  *
  * The page queues must be locked.
  */
-static inline void
+static void
 vm_page_free_wakeup(void)
 {
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-13 Thread Cy Schubert
In message <48654d1f-4cc7-da05-7a73-ef538b431...@freebsd.org>, Sean Bruno 
write
s:
> This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
> --K3RXSO7fXoxBXqJUE1dpQ1sEQkuJPg1DQ
> Content-Type: multipart/mixed; boundary="lalB5jI6dIhQxjTp1UFWH9Jx4OpW69Pfe";
>  protected-headers="v1"
> From: Sean Bruno 
> To: Cy Schubert ,
>  Ngie Cooper 
> Cc: Stephen Hurd , src-committ...@freebsd.org,
>  svn-src-...@freebsd.org, svn-src-head@freebsd.org
> Message-ID: <48654d1f-4cc7-da05-7a73-ef538b431...@freebsd.org>
> Subject: Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net
>  sys
> References: <201709130711.v8d7blts003...@slippy.cwsent.com>
> In-Reply-To: <201709130711.v8d7blts003...@slippy.cwsent.com>
> 
> --lalB5jI6dIhQxjTp1UFWH9Jx4OpW69Pfe
> Content-Type: text/plain; charset=utf-8
> Content-Language: en-US
> Content-Transfer-Encoding: quoted-printable
> 
> >>>  #blamebruno
> >>>
> >>>  Reviewed by:sbruno
> >>>  Approved by:sbruno (mentor)
> >>>  Sponsored by:Limelight Networks
> >>>  Differential Revision:https://reviews.freebsd.org/D12235
> >>
> >> *gasps at the LoC count and number of changed drivers*
> >>
> >> Could someone please better break this up in the future..?
> >=20
> > Agreed. Down the road parsing out individual commits in this jumbo comm=
> it=20
> > will be difficult to parse. IMO this may as well have simply been, impo=
> rt=20
> > from https://github.com/mattmacy/networking/, just like Mr. Torvalds do=
> es=20
> > at kernel.org. I expect to see a commit like this there but not here. C=
> an=20
> > we break this down to its functional commits?
> >=20
> >=20
> 
> 
> This ridiculous loc was due to the amount of restructuring needed to get
> us back to being in sync with our development.  The future will not have
> this big of a commit/change and should be more bite/fun sized.
> 
> The #blamebruno tag in the commit log was to indicate that this was not
> something Stephen was doing on his own, but was something that I had
> induced over the last few months during testing.

I suppose it is sometimes unavoidable.


-- 
Cheers,
Cy Schubert 
FreeBSD UNIX:     Web:  http://www.FreeBSD.org

The need of the many outweighs the greed of the few.


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


svn commit: r323561 - head/sys/vm

2017-09-13 Thread Konstantin Belousov
Author: kib
Date: Wed Sep 13 19:22:07 2017
New Revision: 323561
URL: https://svnweb.freebsd.org/changeset/base/323561

Log:
  Do not relock free queue mutex for each page, free whole terminating
  object' page queue under the single mutex lock.
  
  First, all pages on the queue are prepared for free by calls to
  vm_page_free_prep(), and pages which should not be returned to the
  physical allocator (e.g. wired or fictitious) are simply removed from
  the queue.  On the second pass, vm_page_free_phys_pglist() inserts all
  pages from the queue without relocking the mutex.
  
  The change improves the object termination, e.g. on the process exit
  where large anonymous memory objects otherwise cause relocks the free
  queue mutex for each page.  More, if several such processes are
  exiting or execing in parallel, the mutex was highly contended on
  the address space demolition.
  
  Diagnosed and tested by:  mjg (previous version)
  Reviewed by:  alc, markj
  Sponsored by: The FreeBSD Foundation
  MFC after:1 week

Modified:
  head/sys/vm/vm_object.c

Modified: head/sys/vm/vm_object.c
==
--- head/sys/vm/vm_object.c Wed Sep 13 19:12:28 2017(r323560)
+++ head/sys/vm/vm_object.c Wed Sep 13 19:22:07 2017(r323561)
@@ -713,9 +713,14 @@ static void
 vm_object_terminate_pages(vm_object_t object)
 {
vm_page_t p, p_next;
+   struct mtx *mtx, *mtx1;
+   struct vm_pagequeue *pq, *pq1;
 
VM_OBJECT_ASSERT_WLOCKED(object);
 
+   mtx = NULL;
+   pq = NULL;
+
/*
 * Free any remaining pageable pages.  This also removes them from the
 * paging queues.  However, don't free wired pages, just remove them
@@ -724,21 +729,51 @@ vm_object_terminate_pages(vm_object_t object)
 */
TAILQ_FOREACH_SAFE(p, >memq, listq, p_next) {
vm_page_assert_unbusied(p);
-   vm_page_lock(p);
-   /*
-* Optimize the page's removal from the object by resetting
-* its "object" field.  Specifically, if the page is not
-* wired, then the effect of this assignment is that
-* vm_page_free()'s call to vm_page_remove() will return
-* immediately without modifying the page or the object.
-*/ 
+   if ((object->flags & OBJ_UNMANAGED) == 0) {
+   /*
+* vm_page_free_prep() only needs the page
+* lock for managed pages.
+*/
+   mtx1 = vm_page_lockptr(p);
+   if (mtx1 != mtx) {
+   if (mtx != NULL)
+   mtx_unlock(mtx);
+   if (pq != NULL) {
+   vm_pagequeue_unlock(pq);
+   pq = NULL;
+   }
+   mtx = mtx1;
+   mtx_lock(mtx);
+   }
+   }
p->object = NULL;
-   if (p->wire_count == 0) {
-   vm_page_free(p);
-   VM_CNT_INC(v_pfree);
+   if (p->wire_count != 0)
+   goto unlist;
+   VM_CNT_INC(v_pfree);
+   p->flags &= ~PG_ZERO;
+   if (p->queue != PQ_NONE) {
+   KASSERT(p->queue < PQ_COUNT, ("vm_object_terminate: "
+   "page %p is not queued", p));
+   pq1 = vm_page_pagequeue(p);
+   if (pq != pq1) {
+   if (pq != NULL)
+   vm_pagequeue_unlock(pq);
+   pq = pq1;
+   vm_pagequeue_lock(pq);
+   }
}
-   vm_page_unlock(p);
+   if (vm_page_free_prep(p, true))
+   continue;
+unlist:
+   TAILQ_REMOVE(>memq, p, listq);
}
+   if (pq != NULL)
+   vm_pagequeue_unlock(pq);
+   if (mtx != NULL)
+   mtx_unlock(mtx);
+
+   vm_page_free_phys_pglist(>memq);
+
/*
 * If the object contained any pages, then reset it to an empty state.
 * None of the object's fields, including "resident_page_count", were
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323559 - head/sys/vm

2017-09-13 Thread Konstantin Belousov
Author: kib
Date: Wed Sep 13 19:11:52 2017
New Revision: 323559
URL: https://svnweb.freebsd.org/changeset/base/323559

Log:
  Split vm_page_free_toq() into two parts, preparation vm_page_free_prep()
  and insertion into the phys allocator free queues vm_page_free_phys().
  Also provide a wrapper vm_page_free_phys_pglist() for batched free.
  
  Reviewed by:  alc, markj
  Tested by:mjg (previous version)
  Sponsored by: The FreeBSD Foundation
  MFC after:1 week

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

Modified: head/sys/vm/vm_page.c
==
--- head/sys/vm/vm_page.c   Wed Sep 13 19:03:59 2017(r323558)
+++ head/sys/vm/vm_page.c   Wed Sep 13 19:11:52 2017(r323559)
@@ -163,6 +163,7 @@ static uma_zone_t fakepg_zone;
 static void vm_page_alloc_check(vm_page_t m);
 static void vm_page_clear_dirty_mask(vm_page_t m, vm_page_bits_t pagebits);
 static void vm_page_enqueue(uint8_t queue, vm_page_t m);
+static void vm_page_free_phys(vm_page_t m);
 static void vm_page_free_wakeup(void);
 static void vm_page_init(void *dummy);
 static int vm_page_insert_after(vm_page_t m, vm_object_t object,
@@ -2402,13 +2403,7 @@ unlock:
mtx_lock(_page_queue_free_mtx);
do {
SLIST_REMOVE_HEAD(, plinks.s.ss);
-   vm_phys_freecnt_adj(m, 1);
-#if VM_NRESERVLEVEL > 0
-   if (!vm_reserv_free_page(m))
-#else
-   if (true)
-#endif
-   vm_phys_free_pages(m, 0);
+   vm_page_free_phys(m);
} while ((m = SLIST_FIRST()) != NULL);
vm_page_free_wakeup();
mtx_unlock(_page_queue_free_mtx);
@@ -2770,15 +2765,18 @@ vm_page_free_wakeup(void)
 }
 
 /*
- * vm_page_free_toq:
+ * vm_page_free_prep:
  *
- * Returns the given page to the free list,
- * disassociating it with any VM object.
+ * Prepares the given page to be put on the free list,
+ * disassociating it from any VM object. The caller may return
+ * the page to the free list only if this function returns true.
  *
- * The object must be locked.  The page must be locked if it is managed.
+ * The object must be locked.  The page must be locked if it is
+ * managed.  For a queued managed page, the pagequeue_locked
+ * argument specifies whether the page queue is already locked.
  */
-void
-vm_page_free_toq(vm_page_t m)
+bool
+vm_page_free_prep(vm_page_t m, bool pagequeue_locked)
 {
 
if ((m->oflags & VPO_UNMANAGED) == 0) {
@@ -2799,16 +2797,20 @@ vm_page_free_toq(vm_page_t m)
 * callback routine until after we've put the page on the
 * appropriate free queue.
 */
-   vm_page_remque(m);
+   if (m->queue != PQ_NONE) {
+   if (pagequeue_locked)
+   vm_page_dequeue_locked(m);
+   else
+   vm_page_dequeue(m);
+   }
vm_page_remove(m);
 
/*
 * If fictitious remove object association and
 * return, otherwise delay object association removal.
 */
-   if ((m->flags & PG_FICTITIOUS) != 0) {
-   return;
-   }
+   if ((m->flags & PG_FICTITIOUS) != 0)
+   return (false);
 
m->valid = 0;
vm_page_undirty(m);
@@ -2820,28 +2822,66 @@ vm_page_free_toq(vm_page_t m)
KASSERT((m->flags & PG_UNHOLDFREE) == 0,
("vm_page_free: freeing PG_UNHOLDFREE page %p", m));
m->flags |= PG_UNHOLDFREE;
-   } else {
-   /*
-* Restore the default memory attribute to the page.
-*/
-   if (pmap_page_get_memattr(m) != VM_MEMATTR_DEFAULT)
-   pmap_page_set_memattr(m, VM_MEMATTR_DEFAULT);
+   return (false);
+   }
 
-   /*
-* Insert the page into the physical memory allocator's free
-* page queues.
-*/
-   mtx_lock(_page_queue_free_mtx);
-   vm_phys_freecnt_adj(m, 1);
+   /*
+* Restore the default memory attribute to the page.
+*/
+   if (pmap_page_get_memattr(m) != VM_MEMATTR_DEFAULT)
+   pmap_page_set_memattr(m, VM_MEMATTR_DEFAULT);
+
+   return (true);
+}
+
+/*
+ * Insert the page into the physical memory allocator's free page
+ * queues.  This is the last step to free a page.
+ */
+static void
+vm_page_free_phys(vm_page_t m)
+{
+
+   mtx_assert(_page_queue_free_mtx, MA_OWNED);
+
+   vm_phys_freecnt_adj(m, 1);
 #if VM_NRESERVLEVEL > 0
-   if (!vm_reserv_free_page(m))
-#else
-   if (TRUE)
+   if (!vm_reserv_free_page(m))
 #endif
-   vm_phys_free_pages(m, 0);
-   vm_page_free_wakeup();
-   mtx_unlock(_page_queue_free_mtx);
-   }
+  

svn commit: r323558 - head/sys/vm

2017-09-13 Thread Konstantin Belousov
Author: kib
Date: Wed Sep 13 19:03:59 2017
New Revision: 323558
URL: https://svnweb.freebsd.org/changeset/base/323558

Log:
  Use existing tag name for the vm_object' memq.
  
  Reviewed by:  alc, markj
  Sponsored by: The FreeBSD Foundation
  MFC after:1 week

Modified:
  head/sys/vm/vm_object.h
  head/sys/vm/vm_page.h

Modified: head/sys/vm/vm_object.h
==
--- head/sys/vm/vm_object.h Wed Sep 13 18:32:43 2017(r323557)
+++ head/sys/vm/vm_object.h Wed Sep 13 19:03:59 2017(r323558)
@@ -87,12 +87,17 @@
  *
  */
 
+#ifndef VM_PAGE_HAVE_PGLIST
+TAILQ_HEAD(pglist, vm_page);
+#define VM_PAGE_HAVE_PGLIST
+#endif
+
 struct vm_object {
struct rwlock lock;
TAILQ_ENTRY(vm_object) object_list; /* list of all objects */
LIST_HEAD(, vm_object) shadow_head; /* objects that this is a shadow 
for */
LIST_ENTRY(vm_object) shadow_list; /* chain of shadow objects */
-   TAILQ_HEAD(respgs, vm_page) memq; /* list of resident pages */
+   struct pglist memq; /* list of resident pages */
struct vm_radix rtree;  /* root of the resident page radix 
trie*/
vm_pindex_t size;   /* Object size */
int generation; /* generation ID */

Modified: head/sys/vm/vm_page.h
==
--- head/sys/vm/vm_page.h   Wed Sep 13 18:32:43 2017(r323557)
+++ head/sys/vm/vm_page.h   Wed Sep 13 19:03:59 2017(r323558)
@@ -210,7 +210,10 @@ struct vm_page {
 #definePQ_UNSWAPPABLE  3
 #definePQ_COUNT4
 
+#ifndef VM_PAGE_HAVE_PGLIST
 TAILQ_HEAD(pglist, vm_page);
+#define VM_PAGE_HAVE_PGLIST
+#endif
 SLIST_HEAD(spglist, vm_page);
 
 struct vm_pagequeue {
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r314942 - head/usr.bin/awk

2017-09-13 Thread Warner Losh
Maybe you can bring them in here? :)

Warner

On Wed, Sep 13, 2017 at 12:37 PM, Pedro Giffuni  wrote:

>
>
> On 13/09/2017 13:15, John Baldwin wrote:
>
>> On Thursday, March 09, 2017 03:27:53 AM Baptiste Daroussin wrote:
>>
>>> Author: bapt
>>> Date: Thu Mar  9 03:27:53 2017
>>> New Revision: 314942
>>> URL: https://svnweb.freebsd.org/changeset/base/314942
>>>
>>> Log:
>>>Import the awk(1) manpage from OpenBSD
>>>   As discussed during AsiaBSDcon devsummit, import the manpage from
>>> OpenBSD which
>>>is has been rewritten in mdoc(7) format making it readable by default
>>> with
>>>mandoc, it also has been extended by OpenBSD to cover all awk(1)
>>> options
>>>   Obtained from:OpenBSD
>>>MFH: 1 week
>>>
>> One problem noted today by imp@ is that this doesn't quite document the
>> awk we
>> ship:
>>
>> % echo 42 | awk '{ print lshift($1, 1) }'
>> awk: calling undefined function lshift
>>   input record number 1, file
>>   source line number 1
>>
>> None of the bit operations described in this manpage are implemented in
>> one-true-awk.  Hmm, it seems that OpenBSD added those as a local patch
>> relative to one-true-awk in 1.10 of lex.c.  So Someone(tm) needs to
>> probably
>> compare OpenBSD's awk to one-true-awk to see what local changes they have
>> and either update the manpage here or pull the local diffs across.  (I'd
>> probably we just grab the implementation for the bitwise ops myself.)
>>
>> Hmm ...
>
> TBH, many years ago I tried to upstream the OpenBSD (actually gawk)
> extensions  but upstream (bwk) was not interested.
>
> Pedro.
>
>
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r314942 - head/usr.bin/awk

2017-09-13 Thread Baptiste Daroussin
On Wed, Sep 13, 2017 at 06:15:39PM +, John Baldwin wrote:
> On Thursday, March 09, 2017 03:27:53 AM Baptiste Daroussin wrote:
> > Author: bapt
> > Date: Thu Mar  9 03:27:53 2017
> > New Revision: 314942
> > URL: https://svnweb.freebsd.org/changeset/base/314942
> > 
> > Log:
> >   Import the awk(1) manpage from OpenBSD
> >   
> >   As discussed during AsiaBSDcon devsummit, import the manpage from OpenBSD 
> > which
> >   is has been rewritten in mdoc(7) format making it readable by default with
> >   mandoc, it also has been extended by OpenBSD to cover all awk(1) options
> >   
> >   Obtained from:OpenBSD
> >   MFH:  1 week
> 
> One problem noted today by imp@ is that this doesn't quite document the awk we
> ship:
> 
> % echo 42 | awk '{ print lshift($1, 1) }'
> awk: calling undefined function lshift
>  input record number 1, file 
>  source line number 1
> 
> None of the bit operations described in this manpage are implemented in
> one-true-awk.  Hmm, it seems that OpenBSD added those as a local patch
> relative to one-true-awk in 1.10 of lex.c.  So Someone(tm) needs to probably
> compare OpenBSD's awk to one-true-awk to see what local changes they have
> and either update the manpage here or pull the local diffs across.  (I'd
> probably we just grab the implementation for the bitwise ops myself.)
> 

Good catch, I will have a look after eurobsdcon

Best regards,
Bapt


signature.asc
Description: PGP signature


Re: svn commit: r314942 - head/usr.bin/awk

2017-09-13 Thread Pedro Giffuni



On 13/09/2017 13:15, John Baldwin wrote:

On Thursday, March 09, 2017 03:27:53 AM Baptiste Daroussin wrote:

Author: bapt
Date: Thu Mar  9 03:27:53 2017
New Revision: 314942
URL: https://svnweb.freebsd.org/changeset/base/314942

Log:
   Import the awk(1) manpage from OpenBSD
   
   As discussed during AsiaBSDcon devsummit, import the manpage from OpenBSD which

   is has been rewritten in mdoc(7) format making it readable by default with
   mandoc, it also has been extended by OpenBSD to cover all awk(1) options
   
   Obtained from:	OpenBSD

   MFH: 1 week

One problem noted today by imp@ is that this doesn't quite document the awk we
ship:

% echo 42 | awk '{ print lshift($1, 1) }'
awk: calling undefined function lshift
  input record number 1, file
  source line number 1

None of the bit operations described in this manpage are implemented in
one-true-awk.  Hmm, it seems that OpenBSD added those as a local patch
relative to one-true-awk in 1.10 of lex.c.  So Someone(tm) needs to probably
compare OpenBSD's awk to one-true-awk to see what local changes they have
and either update the manpage here or pull the local diffs across.  (I'd
probably we just grab the implementation for the bitwise ops myself.)


Hmm ...

TBH, many years ago I tried to upstream the OpenBSD (actually gawk) 
extensions  but upstream (bwk) was not interested.


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

svn commit: r323557 - head/share/man/man4

2017-09-13 Thread Glen Barber
Author: gjb
Date: Wed Sep 13 18:32:43 2017
New Revision: 323557
URL: https://svnweb.freebsd.org/changeset/base/323557

Log:
  Remove an unneeded sentence stop.
  
  MFC after:3 days
  Sponsored by: The FreeBSD Foundation

Modified:
  head/share/man/man4/siba.4

Modified: head/share/man/man4/siba.4
==
--- head/share/man/man4/siba.4  Wed Sep 13 17:49:23 2017(r323556)
+++ head/share/man/man4/siba.4  Wed Sep 13 18:32:43 2017(r323557)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 3, 2016
+.Dd September 13, 2017
 .Dt SIBA 4
 .Os
 .Sh NAME
@@ -75,7 +75,7 @@ The
 device driver first appeared in
 .Fx 8.0 .
 The driver was rewritten for
-.Fx 11.0 .
+.Fx 11.0
 to support the common Broadcom
 .Xr bhnd 4
 bus interface.
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r314942 - head/usr.bin/awk

2017-09-13 Thread John Baldwin
On Thursday, March 09, 2017 03:27:53 AM Baptiste Daroussin wrote:
> Author: bapt
> Date: Thu Mar  9 03:27:53 2017
> New Revision: 314942
> URL: https://svnweb.freebsd.org/changeset/base/314942
> 
> Log:
>   Import the awk(1) manpage from OpenBSD
>   
>   As discussed during AsiaBSDcon devsummit, import the manpage from OpenBSD 
> which
>   is has been rewritten in mdoc(7) format making it readable by default with
>   mandoc, it also has been extended by OpenBSD to cover all awk(1) options
>   
>   Obtained from:  OpenBSD
>   MFH:1 week

One problem noted today by imp@ is that this doesn't quite document the awk we
ship:

% echo 42 | awk '{ print lshift($1, 1) }'
awk: calling undefined function lshift
 input record number 1, file 
 source line number 1

None of the bit operations described in this manpage are implemented in
one-true-awk.  Hmm, it seems that OpenBSD added those as a local patch
relative to one-true-awk in 1.10 of lex.c.  So Someone(tm) needs to probably
compare OpenBSD's awk to one-true-awk to see what local changes they have
and either update the manpage here or pull the local diffs across.  (I'd
probably we just grab the implementation for the bitwise ops myself.)

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


svn commit: r323556 - in head/sys: dev/cxgb/ulp modules/cxgb modules/cxgb/iw_cxgb modules/cxgb/tom

2017-09-13 Thread Navdeep Parhar
Author: np
Date: Wed Sep 13 17:49:23 2017
New Revision: 323556
URL: https://svnweb.freebsd.org/changeset/base/323556

Log:
  Retire the T3 iWARP and TOE drivers.  This saves catch-up work when OFED or
  other kernel infrastructure changes.
  
  Note that this doesn't affect the base cxgb(4) NIC driver for T3 at all.
  
  MFC after:No MFC.
  Sponsored by: Chelsio Communications

Deleted:
  head/sys/dev/cxgb/ulp/
  head/sys/modules/cxgb/iw_cxgb/
  head/sys/modules/cxgb/tom/
Modified:
  head/sys/modules/cxgb/Makefile

Modified: head/sys/modules/cxgb/Makefile
==
--- head/sys/modules/cxgb/Makefile  Wed Sep 13 17:43:18 2017
(r323555)
+++ head/sys/modules/cxgb/Makefile  Wed Sep 13 17:49:23 2017
(r323556)
@@ -5,14 +5,5 @@ SYSDIR?=${SRCTOP}/sys
 
 SUBDIR= cxgb
 SUBDIR+= cxgb_t3fw
-SUBDIR+= ${_tom}
-SUBDIR+= ${_iw_cxgb}
-
-.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
-_tom=  tom
-.if ${MK_OFED} != "no" || defined(ALL_MODULES)
-_iw_cxgb=  iw_cxgb
-.endif
-.endif
 
 .include 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323555 - head/sys/dev/intpm

2017-09-13 Thread Conrad Meyer
Author: cem
Date: Wed Sep 13 17:43:18 2017
New Revision: 323555
URL: https://svnweb.freebsd.org/changeset/base/323555

Log:
  intpm(4): Decrease requested i/o port range width
  
  On some AMD FCH devices driven by intpm(4) (read: mine), the SMBus I/O port
  range is split in two and the low range is only 0x10 wide.  intpm(4) does
  not access any registers above 0x0f, so there is no need for the wider
  range.
  
  Discussed with:   avg
  Sponsored by: Dell EMC Isilon

Modified:
  head/sys/dev/intpm/intpm.c

Modified: head/sys/dev/intpm/intpm.c
==
--- head/sys/dev/intpm/intpm.c  Wed Sep 13 17:00:02 2017(r323554)
+++ head/sys/dev/intpm/intpm.c  Wed Sep 13 17:43:18 2017(r323555)
@@ -128,7 +128,7 @@ amd_pmio_read(struct resource *res, uint8_t reg)
 static int
 sb8xx_attach(device_t dev)
 {
-   static const intAMDSB_SMBIO_WIDTH = 0x14;
+   static const intAMDSB_SMBIO_WIDTH = 0x10;
struct intsmb_softc *sc;
struct resource *res;
uint32_tdevid;
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r323554 - head/sys/boot/efi/boot1

2017-09-13 Thread Allan Jude
On 2017-09-13 13:00, Allan Jude wrote:
> Author: allanjude
> Date: Wed Sep 13 17:00:02 2017
> New Revision: 323554
> URL: https://svnweb.freebsd.org/changeset/base/323554
> 
> Log:
>   Increase EFI boot file size frok 128k to 384k
>   
>   generate_fat.sh does the following:
>   - create an 800kb zero-filled file
>   - create an md device backed by this file
>   - format the device fat12
>   - mount the filesystem
>   - create the EFI ESP directory structure
>   - create the EFI boot file (BOOTx64 for amd64, BOOTaa64 for aarch64, etc)
>   - Adds a marker to the beginning of the file, and pad it to 384kb
>   - 384kb was chosen as it is less than half of 800kb, thus allowing
> users to keep a backup of their older boot file in the small partition
>   - Unmount the filesystem
>   - Scan the image and find the offset where the marker was inserted
>   - The process requires root, to make image generation easier, images for
> each architecture are pregenerated, compressed with xz, and checked
> into svn.
>   
>   The Makefile that generates boot1.efifat does the following:
>   - Ensure the compiled boot1.efi file is no larger than the generated image
>   - Decompress the template created by generate-fat.sh
>   - dd the contents of boot1.efi into boot1.efifat starting at the offset
> where the marker is found. This allows any file less than the maximum
> size to be written into the fat filesystem without having to mount it,
> so no root privileges are required.
>   
>   Later work by imp and myself makes bsdinstall create a 200mb fat16 instead
>   of using this process, but it is retained to make image generation easier.
>   
>   Submitted by:   Eric McCorkle (original version)
>   Reviewed by:emaste, tsoome, Eric McCorkle
>   MFC after:  1 month
>   Differential Revision:  https://reviews.freebsd.org/D9680
> 
> Added:
>   head/sys/boot/efi/boot1/fat-amd64.tmpl.xz   (contents, props changed)
>   head/sys/boot/efi/boot1/fat-arm.tmpl.xz   (contents, props changed)
>   head/sys/boot/efi/boot1/fat-arm64.tmpl.xz   (contents, props changed)
>   head/sys/boot/efi/boot1/fat-i386.tmpl.xz   (contents, props changed)
> Deleted:
>   head/sys/boot/efi/boot1/fat-amd64.tmpl.bz2.uu
>   head/sys/boot/efi/boot1/fat-arm.tmpl.bz2.uu
>   head/sys/boot/efi/boot1/fat-arm64.tmpl.bz2.uu
>   head/sys/boot/efi/boot1/fat-i386.tmpl.bz2.uu
> Modified:
>   head/sys/boot/efi/boot1/Makefile
>   head/sys/boot/efi/boot1/Makefile.fat
>   head/sys/boot/efi/boot1/generate-fat.sh
> 

I forgot to mention:

I did away with uuencoding the binary files, because svn and git can
handle binary files just fine, and it was just silly.

I switched from bzip to xzip, as we are getting away from using bzip as
a part of the toolchain.


-- 
Allan Jude



signature.asc
Description: OpenPGP digital signature


svn commit: r323554 - head/sys/boot/efi/boot1

2017-09-13 Thread Allan Jude
Author: allanjude
Date: Wed Sep 13 17:00:02 2017
New Revision: 323554
URL: https://svnweb.freebsd.org/changeset/base/323554

Log:
  Increase EFI boot file size frok 128k to 384k
  
  generate_fat.sh does the following:
  - create an 800kb zero-filled file
  - create an md device backed by this file
  - format the device fat12
  - mount the filesystem
  - create the EFI ESP directory structure
  - create the EFI boot file (BOOTx64 for amd64, BOOTaa64 for aarch64, etc)
  - Adds a marker to the beginning of the file, and pad it to 384kb
  - 384kb was chosen as it is less than half of 800kb, thus allowing
users to keep a backup of their older boot file in the small partition
  - Unmount the filesystem
  - Scan the image and find the offset where the marker was inserted
  - The process requires root, to make image generation easier, images for
each architecture are pregenerated, compressed with xz, and checked
into svn.
  
  The Makefile that generates boot1.efifat does the following:
  - Ensure the compiled boot1.efi file is no larger than the generated image
  - Decompress the template created by generate-fat.sh
  - dd the contents of boot1.efi into boot1.efifat starting at the offset
where the marker is found. This allows any file less than the maximum
size to be written into the fat filesystem without having to mount it,
so no root privileges are required.
  
  Later work by imp and myself makes bsdinstall create a 200mb fat16 instead
  of using this process, but it is retained to make image generation easier.
  
  Submitted by: Eric McCorkle (original version)
  Reviewed by:  emaste, tsoome, Eric McCorkle
  MFC after:1 month
  Differential Revision:https://reviews.freebsd.org/D9680

Added:
  head/sys/boot/efi/boot1/fat-amd64.tmpl.xz   (contents, props changed)
  head/sys/boot/efi/boot1/fat-arm.tmpl.xz   (contents, props changed)
  head/sys/boot/efi/boot1/fat-arm64.tmpl.xz   (contents, props changed)
  head/sys/boot/efi/boot1/fat-i386.tmpl.xz   (contents, props changed)
Deleted:
  head/sys/boot/efi/boot1/fat-amd64.tmpl.bz2.uu
  head/sys/boot/efi/boot1/fat-arm.tmpl.bz2.uu
  head/sys/boot/efi/boot1/fat-arm64.tmpl.bz2.uu
  head/sys/boot/efi/boot1/fat-i386.tmpl.bz2.uu
Modified:
  head/sys/boot/efi/boot1/Makefile
  head/sys/boot/efi/boot1/Makefile.fat
  head/sys/boot/efi/boot1/generate-fat.sh

Modified: head/sys/boot/efi/boot1/Makefile
==
--- head/sys/boot/efi/boot1/MakefileWed Sep 13 16:54:27 2017
(r323553)
+++ head/sys/boot/efi/boot1/MakefileWed Sep 13 17:00:02 2017
(r323554)
@@ -135,9 +135,7 @@ boot1.efifat: boot1.efi
exit 1; \
fi
echo ${.OBJDIR}
-   uudecode ${.CURDIR}/fat-${MACHINE}.tmpl.bz2.uu
-   mv fat-${MACHINE}.tmpl.bz2 ${.TARGET}.bz2
-   bzip2 -f -d ${.TARGET}.bz2
+   xz -d -c ${.CURDIR}/fat-${MACHINE}.tmpl.xz > ${.TARGET}
${DD} if=${.ALLSRC} of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc
 
 CLEANFILES= boot1.efi boot1.efifat

Modified: head/sys/boot/efi/boot1/Makefile.fat
==
--- head/sys/boot/efi/boot1/Makefile.fatWed Sep 13 16:54:27 2017
(r323553)
+++ head/sys/boot/efi/boot1/Makefile.fatWed Sep 13 17:00:02 2017
(r323554)
@@ -1,4 +1,4 @@
 # This file autogenerated by generate-fat.sh - DO NOT EDIT
 # $FreeBSD$
 BOOT1_OFFSET=0x2d
-BOOT1_MAXSIZE=131072
+BOOT1_MAXSIZE=393216

Added: head/sys/boot/efi/boot1/fat-amd64.tmpl.xz
==
Binary file. No diff available.

Added: head/sys/boot/efi/boot1/fat-arm.tmpl.xz
==
Binary file. No diff available.

Added: head/sys/boot/efi/boot1/fat-arm64.tmpl.xz
==
Binary file. No diff available.

Added: head/sys/boot/efi/boot1/fat-i386.tmpl.xz
==
Binary file. No diff available.

Modified: head/sys/boot/efi/boot1/generate-fat.sh
==
--- head/sys/boot/efi/boot1/generate-fat.sh Wed Sep 13 16:54:27 2017
(r323553)
+++ head/sys/boot/efi/boot1/generate-fat.sh Wed Sep 13 17:00:02 2017
(r323554)
@@ -14,7 +14,7 @@
 FAT_SIZE=1600  #Size in 512-byte blocks of the produced image
 
 BOOT1_OFFSET=2d
-BOOT1_SIZE=128k
+BOOT1_SIZE=384k
 
 if [ $(id -u) != 0 ]; then
echo "${0##*/}: must run as root" >&2
@@ -70,13 +70,7 @@ while read ARCH FILENAME; do
exit 1
fi
 
-   bzip2 $OUTPUT_FILE
-   echo 'FAT template boot filesystem created by generate-fat.sh' > 
$OUTPUT_FILE.bz2.uu
-   echo 'DO NOT EDIT' >> $OUTPUT_FILE.bz2.uu
-   echo "\$FreeBSD\$" >> 

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

2017-09-13 Thread Bruce Evans

On Wed, 13 Sep 2017, John Baldwin wrote:


On Wednesday, September 13, 2017 09:09:42 AM Sean Bruno wrote:


On 09/13/17 08:35, John Baldwin wrote:

On Wednesday, September 13, 2017 03:56:04 AM Sean Bruno wrote:

Author: sbruno
Date: Wed Sep 13 03:56:03 2017
New Revision: 323518
URL: https://svnweb.freebsd.org/changeset/base/323518

Log:
  Jenkins i386 LINT build uses NOTES to generate its LINT kernel config.

  ixl(4) isn't in here either, so I'll remove lio(4) too.


ixl missing is a bug, please put it in sys/amd64/conf/NOTES (or better yet,
just fix the build on !amd64)


In the case of lio(4), Cavium is explicitly not compiling for 32 bit
architectures.  I'm inquiring to find out if they want to build on the
other 64bit architectures we have.

In the case of ixl(4), Intel has said that this is not supported on
32bit architectures.

I'm unsure what the best course of action is.


Put it in NOTES for arches that support it.  Strictly it should be in MD
NOTES, but MI notes already has lots of MD buses like pci and drivers
like bge that depend on pci.  Some MD NOTES have many nodevice lines to
kill non-MI things in MI NOTES, but apparently none needs to kill pci
or the hundreds of drivers that depend on it yet.


The bug is more if drivers aren't in NOTES at all.  Any thing listed in
sys/conf/files.* should be in some NOTES file, either sys/conf/NOTES for
things that are MI or sys/${arch}/conf/NOTES for things that are MD.


The most broken drivers aren't even listed in sys/conf/files.*.

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


svn commit: r323553 - in head/sys: arm/at91 arm/broadcom/bcm2835 arm/freescale/imx arm/ti dev/glxiic

2017-09-13 Thread Ian Lepore
Author: ian
Date: Wed Sep 13 16:54:27 2017
New Revision: 323553
URL: https://svnweb.freebsd.org/changeset/base/323553

Log:
  Defer attaching and probing iicbus and its children until interrupts are
  available, in i2c controller drivers that require interrupts for transfers.
  
  This is the result of auditing all 22 existing drivers that attach iicbus.
  These drivers were the only ones remaining that require interrupts and were
  not using config_intrhook to defer attachment.  That has led, over the
  years, to various i2c slave device drivers needing to use config_intrhook
  themselves rather than performing bus transactions in their probe() and
  attach() methods, just in case they were attached too early.

Modified:
  head/sys/arm/at91/at91_twi.c
  head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
  head/sys/arm/freescale/imx/imx_i2c.c
  head/sys/arm/ti/ti_i2c.c
  head/sys/dev/glxiic/glxiic.c

Modified: head/sys/arm/at91/at91_twi.c
==
--- head/sys/arm/at91/at91_twi.cWed Sep 13 16:47:23 2017
(r323552)
+++ head/sys/arm/at91/at91_twi.cWed Sep 13 16:54:27 2017
(r323553)
@@ -160,8 +160,8 @@ at91_twi_attach(device_t dev)
 
if ((sc->iicbus = device_add_child(dev, "iicbus", -1)) == NULL)
device_printf(dev, "could not allocate iicbus instance\n");
-   /* probe and attach the iicbus */
-   bus_generic_attach(dev);
+   /* Probe and attach the iicbus when interrupts are available. */
+   config_intrhook_oneshot((ich_func_t)bus_generic_attach, dev);
 out:
if (err)
at91_twi_deactivate(dev);

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
==
--- head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Wed Sep 13 16:47:23 2017
(r323552)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Wed Sep 13 16:54:27 2017
(r323553)
@@ -309,7 +309,10 @@ bcm_bsc_attach(device_t dev)
return (ENXIO);
}
 
-   return (bus_generic_attach(dev));
+   /* Probe and attach the iicbus when interrupts are available. */
+   config_intrhook_oneshot((ich_func_t)bus_generic_attach, dev);
+
+   return (0);
 }
 
 static int

Modified: head/sys/arm/freescale/imx/imx_i2c.c
==
--- head/sys/arm/freescale/imx/imx_i2c.cWed Sep 13 16:47:23 2017
(r323552)
+++ head/sys/arm/freescale/imx/imx_i2c.cWed Sep 13 16:54:27 2017
(r323553)
@@ -443,7 +443,8 @@ no_recovery:
 
/* We don't do a hardware reset here because iicbus_attach() does it. */
 
-   bus_generic_attach(dev);
+   /* Probe and attach the iicbus when interrupts are available. */
+   config_intrhook_oneshot((ich_func_t)bus_generic_attach, dev);
return (0);
 }
 

Modified: head/sys/arm/ti/ti_i2c.c
==
--- head/sys/arm/ti/ti_i2c.cWed Sep 13 16:47:23 2017(r323552)
+++ head/sys/arm/ti/ti_i2c.cWed Sep 13 16:54:27 2017(r323553)
@@ -37,11 +37,6 @@
  * incorporate that sometime in the future.  The idea being that for 
transaction
  * larger than a certain size the DMA engine is used, for anything less the
  * normal interrupt/fifo driven option is used.
- *
- *
- * WARNING: This driver uses mtx_sleep and interrupts to perform transactions,
- * which means you can't do a transaction during startup before the interrupts
- * have been enabled.  Hint - the freebsd function config_intrhook_establish().
  */
 
 #include 
@@ -909,8 +904,8 @@ ti_i2c_attach(device_t dev)
goto out;
}
 
-   /* Probe and attach the iicbus */
-   bus_generic_attach(dev);
+   /* Probe and attach the iicbus when interrupts are available. */
+   config_intrhook_oneshot((ich_func_t)bus_generic_attach, dev);
 
 out:
if (err) {

Modified: head/sys/dev/glxiic/glxiic.c
==
--- head/sys/dev/glxiic/glxiic.cWed Sep 13 16:47:23 2017
(r323552)
+++ head/sys/dev/glxiic/glxiic.cWed Sep 13 16:54:27 2017
(r323553)
@@ -408,11 +408,10 @@ glxiic_attach(device_t dev)
glxiic_gpio_enable(sc);
glxiic_smb_enable(sc, IIC_FASTEST, 0);
 
-   error = bus_generic_attach(dev);
-   if (error != 0) {
-   device_printf(dev, "Could not probe and attach children\n");
-   error = ENXIO;
-   }
+   /* Probe and attach the iicbus when interrupts are available. */
+   config_intrhook_oneshot((ich_func_t)bus_generic_attach, dev);
+   error = 0;
+
 out:
if (error != 0) {
callout_drain(>callout);
___
svn-src-head@freebsd.org mailing list

svn commit: r323552 - head/sys/kern

2017-09-13 Thread Gleb Smirnoff
Author: glebius
Date: Wed Sep 13 16:47:23 2017
New Revision: 323552
URL: https://svnweb.freebsd.org/changeset/base/323552

Log:
  Fix two issues with not ready data in sockets (read: sendfile)
  in UNIX sockets.
  
  o Check that socket is still connected in uipc_ready(). If not
we are responsible to free mbufs.
  o In uipc_send() if socket appears to be disconnected, but we
are sending data with pending I/Os, don't free mbufs.
  
  Reported by:  Kevin Bowling 
  Tested by:Kevin Bowling 
  PR:   59
  Reported by:  Mark Martinec 
  MFC after:3 days

Modified:
  head/sys/kern/uipc_usrreq.c

Modified: head/sys/kern/uipc_usrreq.c
==
--- head/sys/kern/uipc_usrreq.c Wed Sep 13 16:43:31 2017(r323551)
+++ head/sys/kern/uipc_usrreq.c Wed Sep 13 16:47:23 2017(r323552)
@@ -1056,7 +1056,11 @@ uipc_send(struct socket *so, int flags, struct mbuf *m
 release:
if (control != NULL)
m_freem(control);
-   if (m != NULL)
+   /*
+* In case of PRUS_NOTREADY, uipc_ready() is responsible
+* for freeing memory.
+*/   
+   if (m != NULL && (flags & PRUS_NOTREADY) == 0)
m_freem(m);
return (error);
 }
@@ -1071,7 +1075,12 @@ uipc_ready(struct socket *so, struct mbuf *m, int coun
unp = sotounpcb(so);
 
UNP_LINK_RLOCK();
-   unp2 = unp->unp_conn;
+   if ((unp2 = unp->unp_conn) == NULL) {
+   UNP_LINK_RUNLOCK();
+   for (int i = 0; i < count; i++)
+   m = m_free(m);
+   return (ECONNRESET);
+   }
UNP_PCB_LOCK(unp2);
so2 = unp2->unp_socket;
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323551 - head/sys/dev/intpm

2017-09-13 Thread Conrad Meyer
Author: cem
Date: Wed Sep 13 16:43:31 2017
New Revision: 323551
URL: https://svnweb.freebsd.org/changeset/base/323551

Log:
  intpm(4): While here, remove redundant 'res' check
  
  Reported by:  avg
  Sponsored by: Dell EMC Isilon

Modified:
  head/sys/dev/intpm/intpm.c

Modified: head/sys/dev/intpm/intpm.c
==
--- head/sys/dev/intpm/intpm.c  Wed Sep 13 16:35:16 2017(r323550)
+++ head/sys/dev/intpm/intpm.c  Wed Sep 13 16:43:31 2017(r323551)
@@ -185,10 +185,6 @@ sb8xx_attach(device_t dev)
device_printf(dev, "bus_set_resource for SMBus IO failed\n");
return (ENXIO);
}
-   if (res == NULL) {
-   device_printf(dev, "bus_alloc_resource for SMBus IO failed\n");
-   return (ENXIO);
-   }
sc->io_res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, >io_rid,
RF_ACTIVE);
if (sc->io_res == NULL) {
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


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

2017-09-13 Thread Ian Lepore
On Wed, 2017-09-13 at 09:26 -0700, John Baldwin wrote:
> On Wednesday, September 13, 2017 09:09:42 AM Sean Bruno wrote:
> > 
> > 
> > On 09/13/17 08:35, John Baldwin wrote:
> > > 
> > > On Wednesday, September 13, 2017 03:56:04 AM Sean Bruno wrote:
> > > > 
> > > > Author: sbruno
> > > > Date: Wed Sep 13 03:56:03 2017
> > > > New Revision: 323518
> > > > URL: https://svnweb.freebsd.org/changeset/base/323518
> > > > 
> > > > Log:
> > > >   Jenkins i386 LINT build uses NOTES to generate its LINT kernel config.
> > > >   
> > > >   ixl(4) isn't in here either, so I'll remove lio(4) too.
> > > ixl missing is a bug, please put it in sys/amd64/conf/NOTES (or better 
> > > yet,
> > > just fix the build on !amd64)
> > > 
> > 
> > In the case of lio(4), Cavium is explicitly not compiling for 32 bit
> > architectures.  I'm inquiring to find out if they want to build on the
> > other 64bit architectures we have.
> > 
> > In the case of ixl(4), Intel has said that this is not supported on
> > 32bit architectures.
> > 
> > I'm unsure what the best course of action is.
> The bug is more if drivers aren't in NOTES at all.  Any thing listed in
> sys/conf/files.* should be in some NOTES file, either sys/conf/NOTES for
> things that are MI or sys/${arch}/conf/NOTES for things that are MD.
> 

Didn't somebody start a task list of things for junior hackers to work
on?  Writing a script/tool to verify the assertion in that last
sentence seems like a good candidate for such a list.

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


svn commit: r323550 - in head: . etc/defaults etc/periodic/weekly libexec/makewhatis.local share/man/man5 sys/mips/rmi targets/pseudo/userland tools/build/mk tools/build/options usr.bin usr.bin/cat...

2017-09-13 Thread Gordon Tetlow
Author: gordon
Date: Wed Sep 13 16:35:16 2017
New Revision: 323550
URL: https://svnweb.freebsd.org/changeset/base/323550

Log:
  Deorbit catman. The tradeoff of disk for performance has long since tipped
  in favor of just rendering the manpage instead of relying on pre-formatted
  catpages. Note, this does not impede the ability to use existing catpages,
  it just removes the utility to generate them.
  
  Reviewed by:  imp, allanjude
  Approved by:  emaste (mentor)
  Differential Revision:https://reviews.freebsd.org/D12317

Deleted:
  head/etc/periodic/weekly/330.catman
  head/usr.bin/catman/
Modified:
  head/ObsoleteFiles.inc
  head/etc/defaults/periodic.conf
  head/etc/periodic/weekly/Makefile
  head/libexec/makewhatis.local/Makefile
  head/libexec/makewhatis.local/makewhatis.local.8
  head/libexec/makewhatis.local/makewhatis.local.sh
  head/share/man/man5/periodic.conf.5
  head/share/man/man5/rc.conf.5
  head/share/man/man5/src.conf.5
  head/sys/mips/rmi/rootfs_list.txt
  head/targets/pseudo/userland/Makefile.depend
  head/tools/build/mk/OptionalObsoleteFiles.inc
  head/tools/build/options/WITHOUT_MAN_UTILS
  head/usr.bin/Makefile
  head/usr.bin/su/su.1
  head/usr.sbin/crunch/examples/really-big.conf

Modified: head/ObsoleteFiles.inc
==
--- head/ObsoleteFiles.inc  Wed Sep 13 16:23:59 2017(r323549)
+++ head/ObsoleteFiles.inc  Wed Sep 13 16:35:16 2017(r323550)
@@ -38,6 +38,13 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20170913: remove unneeded catman utility
+OLD_FILES+=etc/periodic/weekly/330.catman
+OLD_FILES+=usr/bin/catman
+OLD_FILES+=usr/libexec/catman.local
+OLD_FILES+=usr/share/man/man1/catman.1.gz
+OLD_FILES+=usr/share/man/man8/catman.local.8.gz
+
 # 20170802: ksyms(4) ioctl interface was removed
 OLD_FILES+=usr/include/sys/ksyms.h
 

Modified: head/etc/defaults/periodic.conf
==
--- head/etc/defaults/periodic.conf Wed Sep 13 16:23:59 2017
(r323549)
+++ head/etc/defaults/periodic.conf Wed Sep 13 16:35:16 2017
(r323550)
@@ -181,9 +181,6 @@ weekly_locate_enable="YES"  # 
Update locate weekly
 # 320.whatis
 weekly_whatis_enable="YES" # Update whatis weekly
 
-# 330.catman
-weekly_catman_enable="NO"  # Preformat man pages
-
 # 340.noid
 weekly_noid_enable="NO"# Find unowned 
files
 weekly_noid_dirs="/"   # Look here

Modified: head/etc/periodic/weekly/Makefile
==
--- head/etc/periodic/weekly/Makefile   Wed Sep 13 16:23:59 2017
(r323549)
+++ head/etc/periodic/weekly/Makefile   Wed Sep 13 16:35:16 2017
(r323550)
@@ -13,7 +13,7 @@ FILES+=   310.locate
 .endif
 
 .if ${MK_MAN_UTILS} != "no"
-FILES+=320.whatis 330.catman
+FILES+=320.whatis
 .endif
 
 .include 

Modified: head/libexec/makewhatis.local/Makefile
==
--- head/libexec/makewhatis.local/Makefile  Wed Sep 13 16:23:59 2017
(r323549)
+++ head/libexec/makewhatis.local/Makefile  Wed Sep 13 16:35:16 2017
(r323550)
@@ -3,7 +3,5 @@
 SCRIPTS=   makewhatis.local.sh
 MAN=   makewhatis.local.8
 SCRIPTSDIR=${LIBEXECDIR}
-LINKS= ${SCRIPTSDIR}/makewhatis.local ${SCRIPTSDIR}/catman.local
-MLINKS=makewhatis.local.8 catman.local.8
 
 .include 

Modified: head/libexec/makewhatis.local/makewhatis.local.8
==
--- head/libexec/makewhatis.local/makewhatis.local.8Wed Sep 13 16:23:59 
2017(r323549)
+++ head/libexec/makewhatis.local/makewhatis.local.8Wed Sep 13 16:35:16 
2017(r323550)
@@ -27,22 +27,19 @@
 .Dt MAKEWHATIS.LOCAL 8
 .Os
 .Sh NAME
-.Nm makewhatis.local , catman.local
-.Nd start makewhatis or catman for local file systems
+.Nm makewhatis.local
+.Nd start makewhatis for local file systems
 .Sh SYNOPSIS
 .Nm /usr/libexec/makewhatis.local
 .Op options
 .Ar directories ...
-.Nm /usr/libexec/catman.local
-.Op options
-.Ar directories ...
 .Sh DESCRIPTION
 The
 .Nm
 utility starts
 .Xr makewhatis 1
 only for file systems physically mounted on the system
-where the
+where
 .Nm
 is being executed.
 Running makewhatis
@@ -53,25 +50,14 @@ your NFS server -- all NFS clients start makewhatis at
 So use this wrapper for
 .Xr cron 8
 instead of calling makewhatis directly.
-The
-.Nm catman.local
-utility is using for same purposes as
-.Nm
-but for
-.Xr catman 1 .
 .Sh FILES
 .Bl -tag -width /etc/periodic/weekly/320.whatis.XXX -compact
 .It Pa /etc/periodic/weekly/320.whatis
 run
 .Nm
 every week
-.It Pa /etc/p

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

2017-09-13 Thread John Baldwin
On Wednesday, September 13, 2017 09:09:42 AM Sean Bruno wrote:
> 
> On 09/13/17 08:35, John Baldwin wrote:
> > On Wednesday, September 13, 2017 03:56:04 AM Sean Bruno wrote:
> >> Author: sbruno
> >> Date: Wed Sep 13 03:56:03 2017
> >> New Revision: 323518
> >> URL: https://svnweb.freebsd.org/changeset/base/323518
> >>
> >> Log:
> >>   Jenkins i386 LINT build uses NOTES to generate its LINT kernel config.
> >>   
> >>   ixl(4) isn't in here either, so I'll remove lio(4) too.
> > 
> > ixl missing is a bug, please put it in sys/amd64/conf/NOTES (or better yet,
> > just fix the build on !amd64)
> > 
> 
> 
> In the case of lio(4), Cavium is explicitly not compiling for 32 bit
> architectures.  I'm inquiring to find out if they want to build on the
> other 64bit architectures we have.
> 
> In the case of ixl(4), Intel has said that this is not supported on
> 32bit architectures.
> 
> I'm unsure what the best course of action is.

The bug is more if drivers aren't in NOTES at all.  Any thing listed in
sys/conf/files.* should be in some NOTES file, either sys/conf/NOTES for
things that are MI or sys/${arch}/conf/NOTES for things that are MD.

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


svn commit: r323549 - head/sys/dev/intpm

2017-09-13 Thread Conrad Meyer
Author: cem
Date: Wed Sep 13 16:23:59 2017
New Revision: 323549
URL: https://svnweb.freebsd.org/changeset/base/323549

Log:
  intpm(4): Do not attach if io_res can not be allocated
  
  Attempts to use the driver without an io_res result in immediate panic.
  
  Sponsored by: Dell EMC Isilon

Modified:
  head/sys/dev/intpm/intpm.c

Modified: head/sys/dev/intpm/intpm.c
==
--- head/sys/dev/intpm/intpm.c  Wed Sep 13 16:21:11 2017(r323548)
+++ head/sys/dev/intpm/intpm.c  Wed Sep 13 16:23:59 2017(r323549)
@@ -191,6 +191,10 @@ sb8xx_attach(device_t dev)
}
sc->io_res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, >io_rid,
RF_ACTIVE);
+   if (sc->io_res == NULL) {
+   device_printf(dev, "Could not allocate I/O space\n");
+   return (ENXIO);
+   }
sc->poll = 1;
return (0);
 }
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323547 - head/lib/libedit

2017-09-13 Thread Pedro F. Giffuni
Author: pfg
Date: Wed Sep 13 16:13:14 2017
New Revision: 323547
URL: https://svnweb.freebsd.org/changeset/base/323547

Log:
  libedit: add missing bracket.
  
  We never hit this because we always build with widechar support.
  
  Reported by:  cognet
  MFC after:3 days

Modified:
  head/lib/libedit/chartype.c

Modified: head/lib/libedit/chartype.c
==
--- head/lib/libedit/chartype.c Wed Sep 13 16:05:26 2017(r323546)
+++ head/lib/libedit/chartype.c Wed Sep 13 16:13:14 2017(r323547)
@@ -223,6 +223,7 @@ ct_mbrtowc(wchar_t *wc, const char *s, size_t n)
 
 size_t
 ct_mbrtowc(wchar_t *wc, const char *s, size_t n)
+{
if (s == NULL)
return 0;
if (n == 0)
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323544 - head/sys/vm

2017-09-13 Thread Mark Johnston
Author: markj
Date: Wed Sep 13 15:44:54 2017
New Revision: 323544
URL: https://svnweb.freebsd.org/changeset/base/323544

Log:
  Fix a logic error in the item size calculation for internal UMA zones.
  
  Kegs for internal zones always keep the slab header in the slab itself.
  Therefore, when determining the allocation size, we need to take the
  slab header size into account.
  
  Reported and tested by:   ae, rakuco
  Reviewed by:  avg
  MFC after:2 weeks
  Differential Revision:https://reviews.freebsd.org/D12342

Modified:
  head/sys/vm/uma_core.c
  head/sys/vm/vm_page.c

Modified: head/sys/vm/uma_core.c
==
--- head/sys/vm/uma_core.c  Wed Sep 13 15:17:35 2017(r323543)
+++ head/sys/vm/uma_core.c  Wed Sep 13 15:44:54 2017(r323544)
@@ -1306,10 +1306,6 @@ keg_large_init(uma_keg_t keg)
keg->uk_ipers = 1;
keg->uk_rsize = keg->uk_size;
 
-   /* We can't do OFFPAGE if we're internal, bail out here. */
-   if (keg->uk_flags & UMA_ZFLAG_INTERNAL)
-   return;
-
/* Check whether we have enough space to not do OFFPAGE. */
if ((keg->uk_flags & UMA_ZONE_OFFPAGE) == 0) {
shsize = sizeof(struct uma_slab);
@@ -1317,8 +1313,17 @@ keg_large_init(uma_keg_t keg)
shsize = (shsize & ~UMA_ALIGN_PTR) +
(UMA_ALIGN_PTR + 1);
 
-   if ((PAGE_SIZE * keg->uk_ppera) - keg->uk_rsize < shsize)
-   keg->uk_flags |= UMA_ZONE_OFFPAGE;
+   if (PAGE_SIZE * keg->uk_ppera - keg->uk_rsize < shsize) {
+   /*
+* We can't do OFFPAGE if we're internal, in which case
+* we need an extra page per allocation to contain the
+* slab header.
+*/
+   if ((keg->uk_flags & UMA_ZFLAG_INTERNAL) == 0)
+   keg->uk_flags |= UMA_ZONE_OFFPAGE;
+   else
+   keg->uk_ppera++;
+   }
}
 
if ((keg->uk_flags & UMA_ZONE_OFFPAGE) &&

Modified: head/sys/vm/vm_page.c
==
--- head/sys/vm/vm_page.c   Wed Sep 13 15:17:35 2017(r323543)
+++ head/sys/vm/vm_page.c   Wed Sep 13 15:44:54 2017(r323544)
@@ -473,7 +473,8 @@ vm_page_startup(vm_offset_t vaddr)
 * 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);
+   sizeof(struct uma_cache) * (mp_maxid + 1) +
+   roundup2(sizeof(struct uma_slab), sizeof(void *)), 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;
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323543 - head/sys/modules

2017-09-13 Thread Sean Bruno
Author: sbruno
Date: Wed Sep 13 15:17:35 2017
New Revision: 323543
URL: https://svnweb.freebsd.org/changeset/base/323543

Log:
  Don't (try to) build lio(4) if the SOURCELESS_UCODE is set.
  
  Submitted by: Fabien Keil 

Modified:
  head/sys/modules/Makefile

Modified: head/sys/modules/Makefile
==
--- head/sys/modules/Makefile   Wed Sep 13 14:30:30 2017(r323542)
+++ head/sys/modules/Makefile   Wed Sep 13 15:17:35 2017(r323543)
@@ -711,7 +711,9 @@ _ixl=   ixl
 _ixlv= ixlv
 _linux64=  linux64
 _linux_common= linux_common
+.if ${MK_SOURCELESS_UCODE} != "no"
 _lio=  lio
+.endif
 _ntb=  ntb
 _pms=  pms
 _qlxge=qlxge
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-13 Thread Sean Bruno
>>>  #blamebruno
>>>
>>>  Reviewed by:sbruno
>>>  Approved by:sbruno (mentor)
>>>  Sponsored by:Limelight Networks
>>>  Differential Revision:https://reviews.freebsd.org/D12235
>>
>> *gasps at the LoC count and number of changed drivers*
>>
>> Could someone please better break this up in the future..?
> 
> Agreed. Down the road parsing out individual commits in this jumbo commit 
> will be difficult to parse. IMO this may as well have simply been, import 
> from https://github.com/mattmacy/networking/, just like Mr. Torvalds does 
> at kernel.org. I expect to see a commit like this there but not here. Can 
> we break this down to its functional commits?
> 
> 


This ridiculous loc was due to the amount of restructuring needed to get
us back to being in sync with our development.  The future will not have
this big of a commit/change and should be more bite/fun sized.

The #blamebruno tag in the commit log was to indicate that this was not
something Stephen was doing on his own, but was something that I had
induced over the last few months during testing.

sean



signature.asc
Description: OpenPGP digital signature


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

2017-09-13 Thread Sean Bruno


On 09/13/17 08:35, John Baldwin wrote:
> On Wednesday, September 13, 2017 03:56:04 AM Sean Bruno wrote:
>> Author: sbruno
>> Date: Wed Sep 13 03:56:03 2017
>> New Revision: 323518
>> URL: https://svnweb.freebsd.org/changeset/base/323518
>>
>> Log:
>>   Jenkins i386 LINT build uses NOTES to generate its LINT kernel config.
>>   
>>   ixl(4) isn't in here either, so I'll remove lio(4) too.
> 
> ixl missing is a bug, please put it in sys/amd64/conf/NOTES (or better yet,
> just fix the build on !amd64)
> 


In the case of lio(4), Cavium is explicitly not compiling for 32 bit
architectures.  I'm inquiring to find out if they want to build on the
other 64bit architectures we have.

In the case of ixl(4), Intel has said that this is not supported on
32bit architectures.

I'm unsure what the best course of action is.

sean



signature.asc
Description: OpenPGP digital signature


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

2017-09-13 Thread John Baldwin
On Wednesday, September 13, 2017 03:56:04 AM Sean Bruno wrote:
> Author: sbruno
> Date: Wed Sep 13 03:56:03 2017
> New Revision: 323518
> URL: https://svnweb.freebsd.org/changeset/base/323518
> 
> Log:
>   Jenkins i386 LINT build uses NOTES to generate its LINT kernel config.
>   
>   ixl(4) isn't in here either, so I'll remove lio(4) too.

ixl missing is a bug, please put it in sys/amd64/conf/NOTES (or better yet,
just fix the build on !amd64)

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


svn commit: r323542 - in head/release: arm arm64

2017-09-13 Thread Glen Barber
Author: gjb
Date: Wed Sep 13 14:30:30 2017
New Revision: 323542
URL: https://svnweb.freebsd.org/changeset/base/323542

Log:
  Increase arm{,64} SoC image sizes to prevent "filesystem full" build
  failures.
  
  Sponsored by: The FreeBSD Foundation

Modified:
  head/release/arm/BEAGLEBONE.conf
  head/release/arm/CUBIEBOARD.conf
  head/release/arm/GUMSTIX.conf
  head/release/arm/PANDABOARD.conf
  head/release/arm/RPI-B.conf
  head/release/arm64/RPI3.conf

Modified: head/release/arm/BEAGLEBONE.conf
==
--- head/release/arm/BEAGLEBONE.confWed Sep 13 14:27:13 2017
(r323541)
+++ head/release/arm/BEAGLEBONE.confWed Sep 13 14:30:30 2017
(r323542)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-beaglebone"
 KERNEL="BEAGLEBONE"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x8800"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="1536M"
 PART_SCHEME="MBR"
 FAT_SIZE="2m"
 FAT_TYPE="12"

Modified: head/release/arm/CUBIEBOARD.conf
==
--- head/release/arm/CUBIEBOARD.confWed Sep 13 14:27:13 2017
(r323541)
+++ head/release/arm/CUBIEBOARD.confWed Sep 13 14:30:30 2017
(r323542)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-cubieboard"
 KERNEL="ALLWINNER_UP"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x4200"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="1536M"
 PART_SCHEME="MBR"
 FAT_SIZE="32m -b 1m"
 FAT_TYPE="16"

Modified: head/release/arm/GUMSTIX.conf
==
--- head/release/arm/GUMSTIX.conf   Wed Sep 13 14:27:13 2017
(r323541)
+++ head/release/arm/GUMSTIX.conf   Wed Sep 13 14:30:30 2017
(r323542)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-duovero"
 KERNEL="GUMSTIX"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x8800"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="1536M"
 PART_SCHEME="MBR"
 FAT_SIZE="2m"
 FAT_TYPE="12"

Modified: head/release/arm/PANDABOARD.conf
==
--- head/release/arm/PANDABOARD.confWed Sep 13 14:27:13 2017
(r323541)
+++ head/release/arm/PANDABOARD.confWed Sep 13 14:30:30 2017
(r323542)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-pandaboard"
 KERNEL="PANDABOARD"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x8800"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="1536M"
 PART_SCHEME="MBR"
 FAT_SIZE="2m"
 FAT_TYPE="12"

Modified: head/release/arm/RPI-B.conf
==
--- head/release/arm/RPI-B.conf Wed Sep 13 14:27:13 2017(r323541)
+++ head/release/arm/RPI-B.conf Wed Sep 13 14:30:30 2017(r323542)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-rpi"
 KERNEL="RPI-B"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x200"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="1536M"
 PART_SCHEME="MBR"
 FAT_SIZE="17m"
 FAT_TYPE="16"

Modified: head/release/arm64/RPI3.conf
==
--- head/release/arm64/RPI3.confWed Sep 13 14:27:13 2017
(r323541)
+++ head/release/arm64/RPI3.confWed Sep 13 14:30:30 2017
(r323542)
@@ -10,7 +10,7 @@ EMBEDDED_TARGET_ARCH="aarch64"
 EMBEDDEDPORTS="sysutils/u-boot-rpi3 security/ca_root_nss"
 KERNEL="GENERIC"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x4200"
-IMAGE_SIZE="2G"
+IMAGE_SIZE="2560M"
 PART_SCHEME="MBR"
 FAT_SIZE="50m -b 1m"
 FAT_TYPE="16"
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323541 - head/sys/boot/efi/libefi

2017-09-13 Thread Toomas Soome
Author: tsoome
Date: Wed Sep 13 14:27:13 2017
New Revision: 323541
URL: https://svnweb.freebsd.org/changeset/base/323541

Log:
  libefi: efipart_realstrategy rsize pointer may be NULL
  
  Need to check rsize before dereferencing it.

Modified:
  head/sys/boot/efi/libefi/efipart.c

Modified: head/sys/boot/efi/libefi/efipart.c
==
--- head/sys/boot/efi/libefi/efipart.c  Wed Sep 13 13:03:29 2017
(r323540)
+++ head/sys/boot/efi/libefi/efipart.c  Wed Sep 13 14:27:13 2017
(r323541)
@@ -924,7 +924,8 @@ efipart_realstrategy(void *devdata, int rw, daddr_t bl
readstart = off / blkio->Media->BlockSize;
 
if (diskend <= readstart) {
-   *rsize = 0;
+   if (rsize != NULL)
+   *rsize = 0;
 
return (EIO);
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-13 Thread Cy Schubert
In message 
, Warner Losh writes:
> --001a1141f15ac444250559123c56
> Content-Type: text/plain; charset="UTF-8"
> 
> On Wed, Sep 13, 2017 at 1:11 AM, Cy Schubert 
> wrote:
> 
> > In message <4d5ae475-5a38-4429-8b71-dbecdfb0a...@gmail.com>, Ngie Cooper
> > writes
> > :
> > >
> > > > On Sep 12, 2017, at 18:18, Stephen Hurd  wrote:
> > > >
> > > > Author: shurd
> > > > Date: Wed Sep 13 01:18:42 2017
> > > > New Revision: 323516
> > > > URL: https://svnweb.freebsd.org/changeset/base/323516
> > > >
> > > > Log:
> > > >  Roll up iflib commits from github.  This pulls in most of the work
> > done
> > > >  by Matt Macy as well as other changes which he has accepted via pull
> > > >  request to his github repo at https://github.com/mattmacy/networking/
> > > >
> > > >  This should bring -CURRENT and the github repo into close enough sync
> > to
> > > >  allow small feature branches rather than a large chain of
> > interdependant
> > > >  patches being developed out of tree.  The reset of the synchronization
> > > >  should be able to be completed on github by splitting the remaining
> > > >  changes that are not yet ready into short feature branches for later
> > > >  review as smaller commits.
> > > >
> > > >  Here is a summary of changes included in this patch:
> > > >
> > > >  1)  More checks when INVARIANTS are enabled for eariler problem
> > > >  detection
> > > >  2)  Group Task Queue cleanups
> > > >  - Fix use of duplicate shortdesc for gtaskqueue malloc type.
> > > >Some interfaces such as memguard(9) use the short description to
> > > >identify malloc types, so duplicates should be avoided.
> > > >  3)  Allow gtaskqueues to use ithreads in addition to taskqueues
> > > >  - In some cases, this can improve performance
> > > >  4)  Better logging when taskqgroup_attach*() fails to set interrupt
> > > >  affinity.
> > > >  5)  Do not start gtaskqueues until they're needed
> > > >  6)  Have mp_ring enqueue function enter the ABDICATED rather than BUSY
> > > >  state.  This moves the TX to the gtaskq and allows processing to
> > > >  continue faster as well as make TX batching more likely.
> > > >  7)  Add an ift_txd_errata function to struct if_txrx.  This allows
> > > >  drivers to inspect/modify mbufs before transmission.
> > > >  8)  Add a new IFLIB_NEED_ZERO_CSUM for drivers to indicate they need
> > > >  checksums zeroed for checksum offload to work.  This avoids
> > modifying
> > > >  packet data in the TX path when possible.
> > > >  9)  Use ithreads for iflib I/O instead of taskqueues
> > > >  10) Clean up ioctl and support async ioctl functions
> > > >  11) Prefetch two cachlines from each mbuf instead of one up to 128B.
> > We
> > > >  often need to parse packet header info beyond 64B.
> > > >  12) Fix potential memory corruption due to fence post error in
> > > >  bit_nclear() usage.
> > > >  13) Improved hang detection and handling
> > > >  14) If the packet is smaller than MTU, disable the TSO flags.
> > > >  This avoids extra packet parsing when not needed.
> > > >  15) Move TCP header parsing inside the IS_TSO?() test.
> > > >  This avoids extra packet parsing when not needed.
> > > >  16) Pass chains of mbufs that are not consumed by lro to if_input()
> > > >  rather call if_input() for each mbuf.
> > > >  17) Re-arrange packet header loads to get as much work as possible
> > done
> > > >  before a cache stall.
> > > >  18) Lock the context when calling IFDI_ATTACH_PRE()/IFDI_ATTACH_
> > POST()/
> > > >  IFDI_DETACH();
> > > >  19) Attempt to distribute RX/TX tasks across cores more sensibly,
> > > >  especially when RX and TX share an interrupt.  RX will attempt to
> > > >  take the first threads on a core, and TX will attempt to take
> > > >  successive threads.
> > > >  20) Allow iflib_softirq_alloc_generic() to request affinity to the
> > same
> > > >  cpus an interrupt has affinity with.  This allows TX queues to
> > > >  ensure they are serviced by the socket the device is on.
> > > >  21) Add new iflib sysctls to net.iflib:
> > > >  - timer_int - interval at which to run per-queue timers in ticks
> > > >  - force_busdma
> > > >  22) Add new per-device iflib sysctls to dev.X.Y.iflib
> > > >  - rx_budget allows tuning the batch size on the RX path
> > > >  - watchdog_events Count of watchdog events seen since load
> > > >  23) Fix error where netmap_rxq_init() could get called before
> > > >  IFDI_INIT()
> > > >  24) e1000: Fixed version of r323008: post-cold sleep instead of DELAY
> > > >  when waiting for firmware
> > > >  - After interrupts are enabled, convert all waits to sleeps
> > > >  - Eliminates e1000 software/firmware synchronization busy waits
> > after
> > > >startup
> > > >  25) e1000: Remove special case for budget=1 in 

Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-13 Thread Warner Losh
On Wed, Sep 13, 2017 at 1:11 AM, Cy Schubert 
wrote:

> In message <4d5ae475-5a38-4429-8b71-dbecdfb0a...@gmail.com>, Ngie Cooper
> writes
> :
> >
> > > On Sep 12, 2017, at 18:18, Stephen Hurd  wrote:
> > >
> > > Author: shurd
> > > Date: Wed Sep 13 01:18:42 2017
> > > New Revision: 323516
> > > URL: https://svnweb.freebsd.org/changeset/base/323516
> > >
> > > Log:
> > >  Roll up iflib commits from github.  This pulls in most of the work
> done
> > >  by Matt Macy as well as other changes which he has accepted via pull
> > >  request to his github repo at https://github.com/mattmacy/networking/
> > >
> > >  This should bring -CURRENT and the github repo into close enough sync
> to
> > >  allow small feature branches rather than a large chain of
> interdependant
> > >  patches being developed out of tree.  The reset of the synchronization
> > >  should be able to be completed on github by splitting the remaining
> > >  changes that are not yet ready into short feature branches for later
> > >  review as smaller commits.
> > >
> > >  Here is a summary of changes included in this patch:
> > >
> > >  1)  More checks when INVARIANTS are enabled for eariler problem
> > >  detection
> > >  2)  Group Task Queue cleanups
> > >  - Fix use of duplicate shortdesc for gtaskqueue malloc type.
> > >Some interfaces such as memguard(9) use the short description to
> > >identify malloc types, so duplicates should be avoided.
> > >  3)  Allow gtaskqueues to use ithreads in addition to taskqueues
> > >  - In some cases, this can improve performance
> > >  4)  Better logging when taskqgroup_attach*() fails to set interrupt
> > >  affinity.
> > >  5)  Do not start gtaskqueues until they're needed
> > >  6)  Have mp_ring enqueue function enter the ABDICATED rather than BUSY
> > >  state.  This moves the TX to the gtaskq and allows processing to
> > >  continue faster as well as make TX batching more likely.
> > >  7)  Add an ift_txd_errata function to struct if_txrx.  This allows
> > >  drivers to inspect/modify mbufs before transmission.
> > >  8)  Add a new IFLIB_NEED_ZERO_CSUM for drivers to indicate they need
> > >  checksums zeroed for checksum offload to work.  This avoids
> modifying
> > >  packet data in the TX path when possible.
> > >  9)  Use ithreads for iflib I/O instead of taskqueues
> > >  10) Clean up ioctl and support async ioctl functions
> > >  11) Prefetch two cachlines from each mbuf instead of one up to 128B.
> We
> > >  often need to parse packet header info beyond 64B.
> > >  12) Fix potential memory corruption due to fence post error in
> > >  bit_nclear() usage.
> > >  13) Improved hang detection and handling
> > >  14) If the packet is smaller than MTU, disable the TSO flags.
> > >  This avoids extra packet parsing when not needed.
> > >  15) Move TCP header parsing inside the IS_TSO?() test.
> > >  This avoids extra packet parsing when not needed.
> > >  16) Pass chains of mbufs that are not consumed by lro to if_input()
> > >  rather call if_input() for each mbuf.
> > >  17) Re-arrange packet header loads to get as much work as possible
> done
> > >  before a cache stall.
> > >  18) Lock the context when calling IFDI_ATTACH_PRE()/IFDI_ATTACH_
> POST()/
> > >  IFDI_DETACH();
> > >  19) Attempt to distribute RX/TX tasks across cores more sensibly,
> > >  especially when RX and TX share an interrupt.  RX will attempt to
> > >  take the first threads on a core, and TX will attempt to take
> > >  successive threads.
> > >  20) Allow iflib_softirq_alloc_generic() to request affinity to the
> same
> > >  cpus an interrupt has affinity with.  This allows TX queues to
> > >  ensure they are serviced by the socket the device is on.
> > >  21) Add new iflib sysctls to net.iflib:
> > >  - timer_int - interval at which to run per-queue timers in ticks
> > >  - force_busdma
> > >  22) Add new per-device iflib sysctls to dev.X.Y.iflib
> > >  - rx_budget allows tuning the batch size on the RX path
> > >  - watchdog_events Count of watchdog events seen since load
> > >  23) Fix error where netmap_rxq_init() could get called before
> > >  IFDI_INIT()
> > >  24) e1000: Fixed version of r323008: post-cold sleep instead of DELAY
> > >  when waiting for firmware
> > >  - After interrupts are enabled, convert all waits to sleeps
> > >  - Eliminates e1000 software/firmware synchronization busy waits
> after
> > >startup
> > >  25) e1000: Remove special case for budget=1 in em_txrx.c
> > >  - Premature optimization which may actually be incorrect with
> > >multi-segment packets
> > >  26) e1000: Split out TX interrupt rather than share an interrupt for
> > >  RX and TX.
> > >  - Allows better performance by keeping RX and TX paths separate
> > >  27) e1000: Separate igb from em code where suitable
> > >  Much easier to 

svn commit: r323540 - head/sys/dev/jedec_ts

2017-09-13 Thread Andriy Gapon
Author: avg
Date: Wed Sep 13 13:03:29 2017
New Revision: 323540
URL: https://svnweb.freebsd.org/changeset/base/323540

Log:
  jedec_ts: add many more devices from various vendors
  
  The new IDs are taken from the hardware to which I have access
  and from open datasheets.
  
  Also, the hardware probing is moved to the device probe method.
  
  Reviewed by:  rpokala
  MFC after:1 week
  Differential Revision: https://reviews.freebsd.org/D11730

Modified:
  head/sys/dev/jedec_ts/jedec_ts.c

Modified: head/sys/dev/jedec_ts/jedec_ts.c
==
--- head/sys/dev/jedec_ts/jedec_ts.cWed Sep 13 12:16:27 2017
(r323539)
+++ head/sys/dev/jedec_ts/jedec_ts.cWed Sep 13 13:03:29 2017
(r323540)
@@ -42,6 +42,116 @@ __FBSDID("$FreeBSD$");
 
 
 /*
+ * General device identification notes.
+ *
+ * The JEDEC TSE2004av specification defines the device ID that all compliant
+ * devices should use, but very few do in practice.  Maybe that's because
+ * TSE2002av was rather vague about that.
+ * Rare examples are IDT TSE2004GB2B0 and Atmel AT30TSE004A, not sure if
+ * they are TSE2004av compliant by design or by accident.
+ * Also, the specification mandates that PCI SIG manufacturer IDs are to be
+ * used, but in practice the JEDEC manufacturer IDs are often used.
+ */
+
+const struct ts_dev {
+   uint16_tvendor_id;
+   uint8_t device_id;
+   const char  *description;
+} known_devices[] = {
+   /*
+* Analog Devices ADT7408.
+* 
http://www.analog.com/media/en/technical-documentation/data-sheets/ADT7408.pdf
+*/
+   { 0x11d4, 0x08, "Analog Devices DIMM temperature sensor" },
+
+   /*
+* Atmel AT30TSE002B, AT30TSE004A.
+* http://www.atmel.com/images/doc8711.pdf
+* http://www.atmel.com/images/atmel-8868-dts-at30tse004a-datasheet.pdf
+* Note how one chip uses the JEDEC Manufacturer ID while the other
+* uses the PCI SIG one.
+*/
+   { 0x001f, 0x82, "Atmel DIMM temperature sensor" },
+   { 0x1114, 0x22, "Atmel DIMM temperature sensor" },
+
+   /*
+* Integrated Device Technology (IDT) TS3000B3A, TSE2002B3C,
+* TSE2004GB2B0 chips and their variants.
+* 
http://www.idt.com/sites/default/files/documents/IDT_TSE2002B3C_DST_20100512_120303152056.pdf
+* 
http://www.idt.com/sites/default/files/documents/IDT_TS3000B3A_DST_20101129_120303152013.pdf
+* https://www.idt.com/document/dst/tse2004gb2b0-datasheet
+*/
+   { 0x00b3, 0x29, "IDT DIMM temperature sensor" },
+   { 0x00b3, 0x22, "IDT DIMM temperature sensor" },
+
+   /*
+* Maxim Integrated MAX6604.
+* Different document revisions specify different Device IDs.
+* Document 19-3837; Rev 0; 10/05 has 0x3e00 while
+* 19-3837; Rev 3; 10/11 has 0x5400.
+* http://datasheets.maximintegrated.com/en/ds/MAX6604.pdf
+*/
+   { 0x004d, 0x3e, "Maxim Integrated DIMM temperature sensor" },
+   { 0x004d, 0x54, "Maxim Integrated DIMM temperature sensor" },
+
+   /*
+* Microchip Technology MCP9805, MCP9843, MCP98242, MCP98243
+* and their variants.
+* http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
+* Microchip Technology EMC1501.
+* http://ww1.microchip.com/downloads/en/DeviceDoc/1605A.pdf
+*/
+   { 0x0054, 0x00, "Microchip DIMM temperature sensor" },
+   { 0x0054, 0x20, "Microchip DIMM temperature sensor" },
+   { 0x0054, 0x21, "Microchip DIMM temperature sensor" },
+   { 0x1055, 0x08, "Microchip DIMM temperature sensor" },
+
+   /*
+* NXP Semiconductors SE97 and SE98.
+* http://www.nxp.com/docs/en/data-sheet/SE97B.pdf
+*/
+   { 0x1131, 0xa1, "NXP DIMM temperature sensor" },
+   { 0x1131, 0xa2, "NXP DIMM temperature sensor" },
+
+   /*
+* ON Semiconductor CAT34TS02 revisions B and C, CAT6095 and compatible.
+* https://www.onsemi.com/pub/Collateral/CAT34TS02-D.PDF
+* http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
+*/
+   { 0x1b09, 0x08, "ON Semiconductor DIMM temperature sensor" },
+   { 0x1b09, 0x0a, "ON Semiconductor DIMM temperature sensor" },
+
+   /*
+* ST[Microelectronics] STTS424E02, STTS2002 and others.
+* http://www.st.com/resource/en/datasheet/cd00157558.pdf
+* http://www.st.com/resource/en/datasheet/stts2002.pdf
+*/
+   { 0x104a, 0x00, "ST DIMM temperature sensor" },
+   { 0x104a, 0x03, "ST DIMM temperature sensor" },
+};
+
+static const char *
+ts_match_device(uint16_t vid, uint16_t did)
+{
+   const struct ts_dev *d;
+   int i;
+
+   for (i = 0; i < nitems(known_devices); i++) {
+   d = _devices[i];
+   if (vid == d->vendor_id && (did >> 8) == d->device_id)
+   return (d->description);
+   }
+
+  

svn commit: r323539 - head/sys/modules

2017-09-13 Thread Ed Maste
Author: emaste
Date: Wed Sep 13 12:16:27 2017
New Revision: 323539
URL: https://svnweb.freebsd.org/changeset/base/323539

Log:
  qlnx: exclude if WITHOUT_SOURCELESS_UCODE set
  
  PR:   77
  Submitted by: Fabian Keil
  Obtained from:ElectroBSD
  MFC after:1 week

Modified:
  head/sys/modules/Makefile

Modified: head/sys/modules/Makefile
==
--- head/sys/modules/Makefile   Wed Sep 13 11:29:48 2017(r323538)
+++ head/sys/modules/Makefile   Wed Sep 13 12:16:27 2017(r323539)
@@ -718,8 +718,8 @@ _qlxge= qlxge
 _qlxgb=qlxgb
 .if ${MK_SOURCELESS_UCODE} != "no"
 _qlxgbe=   qlxgbe
-.endif
 _qlnx= qlnx
+.endif
 _sfxge=sfxge
 _sgx=  sgx
 _sgx_linux=sgx_linux
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323532 - in head/sys: amd64/conf arm/conf

2017-09-13 Thread Ilya Bakulin
Author: kibab
Date: Wed Sep 13 10:56:02 2017
New Revision: 323532
URL: https://svnweb.freebsd.org/changeset/base/323532

Log:
  Add MMCCAM-enabled kernel config for IMX6, reduce debug noice in MMCCAM 
kernels
  
  CAM_DEBUG_TRACE results in way too much debug output than needed now.
  When debugging, it's always possible to turn on trace level using camcontrol.
  
  Approved by:  imp (mentor)
  Differential Revision:https://reviews.freebsd.org/D12110

Added:
  head/sys/amd64/conf/GENERIC-MMCCAM
 - copied, changed from r323530, head/sys/amd64/conf/MMCCAM
  head/sys/arm/conf/IMX6-MMCCAM   (contents, props changed)
Deleted:
  head/sys/amd64/conf/MMCCAM
Modified:
  head/sys/arm/conf/BEAGLEBONE-MMCCAM

Copied and modified: head/sys/amd64/conf/GENERIC-MMCCAM (from r323530, 
head/sys/amd64/conf/MMCCAM)
==
--- head/sys/amd64/conf/MMCCAM  Wed Sep 13 10:45:49 2017(r323530, copy 
source)
+++ head/sys/amd64/conf/GENERIC-MMCCAM  Wed Sep 13 10:56:02 2017
(r323532)
@@ -4,7 +4,7 @@
 
 include MINIMAL
 
-ident  MMCCAM
+ident  GENERIC-MMCCAM
 
 # Access GPT-formatted and labeled root volume
 options GEOM_PART_GPT
@@ -28,9 +28,9 @@ devicevirtio_balloon  # VirtIO Memory 
Balloon device
 device pass
 device scbus
 device da
-device mmccam
 
-optionsMMCCAM
+options   MMCCAM
+
 # Add CAMDEBUG stuff
-options CAMDEBUG
-options 
CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH|CAM_DEBUG_TRACE)
+options   CAMDEBUG
+options   
CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)

Modified: head/sys/arm/conf/BEAGLEBONE-MMCCAM
==
--- head/sys/arm/conf/BEAGLEBONE-MMCCAM Wed Sep 13 10:54:56 2017
(r323531)
+++ head/sys/arm/conf/BEAGLEBONE-MMCCAM Wed Sep 13 10:56:02 2017
(r323532)
@@ -6,16 +6,18 @@
 #
 # $FreeBSD$
 
+#NO_UNIVERSE
+
 includeBEAGLEBONE
 
+optionsMMCCAM
+
 # Add CAMDEBUG stuff
 optionsCAMDEBUG
-options
CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH|CAM_DEBUG_TRACE)
+options
CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)
 
 # pass(4) device
 device pass
-device mmccam
-optionsMMCCAM
 
 nodevice   mmc
 nodevice   mmcsd

Added: head/sys/arm/conf/IMX6-MMCCAM
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/arm/conf/IMX6-MMCCAM   Wed Sep 13 10:56:02 2017
(r323532)
@@ -0,0 +1,23 @@
+#
+# IMX6-MMCCAM
+#
+# Custom kernel for IMX6 plus MMCCAM as opposed to the prior MMC stack. It is
+# present to keep it building in tree since it wouldn't work in LINT.
+#
+# $FreeBSD$
+
+#NO_UNIVERSE
+
+includeIMX6
+
+optionsMMCCAM
+
+# Add CAMDEBUG stuff
+optionsCAMDEBUG
+options
CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)
+
+# pass(4) device
+device pass
+
+nodevice   mmc
+nodevice   mmcsd
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323528 - head/cddl/contrib/opensolaris/lib/libzpool/common

2017-09-13 Thread Andriy Gapon
Author: avg
Date: Wed Sep 13 10:34:31 2017
New Revision: 323528
URL: https://svnweb.freebsd.org/changeset/base/323528

Log:
  MFV r323527: 5815 libzpool's panic function doesn't set global panicstr, 
::status not as useful
  
  illumos/illumos-gate@fae6347731c9d3f46b26338313b0422927f29cf6
  
https://github.com/illumos/illumos-gate/commit/fae6347731c9d3f46b26338313b0422927f29cf6
  
  https://www.illumos.org/issues/5815
When panic() is called from within ztest, the mdb ::status command isn't as
useful as it could be since the global panicstr variable isn't updated. We
should modify the function to make sure panicstr is set, so ::status can
present the error message just like it does on a failed assertion.
  
  Reviewed by: Matthew Ahrens 
  Reviewed by: Sebastien Roy 
  Reviewed by: Gordon Ross 
  Reviewed by: Rich Lowe 
  Approved by: Dan McDonald 
  Author: Prakash Surya 
  MFC after:4 weeks

Modified:
  head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
Directory Properties:
  head/cddl/contrib/opensolaris/   (props changed)

Modified: head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
==
--- head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c  Wed Sep 13 
10:33:09 2017(r323527)
+++ head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c  Wed Sep 13 
10:34:31 2017(r323528)
@@ -735,11 +735,9 @@ static char ce_suffix[CE_IGNORE][2] = { "", "\n", "\n"
 void
 vpanic(const char *fmt, va_list adx)
 {
-   (void) fprintf(stderr, "error: ");
-   (void) vfprintf(stderr, fmt, adx);
-   (void) fprintf(stderr, "\n");
-
-   abort();/* think of it as a "user-level crash dump" */
+   char buf[512];
+   (void) vsnprintf(buf, 512, fmt, adx);
+   assfail(buf, NULL, 0);
 }
 
 void
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323525 - head/cddl/contrib/opensolaris/lib/libzfs/common

2017-09-13 Thread Andriy Gapon
Author: avg
Date: Wed Sep 13 10:23:55 2017
New Revision: 323525
URL: https://svnweb.freebsd.org/changeset/base/323525

Log:
  MFV r323523: 8331 zfs_unshare returns wrong error code for smb unshare failure
  
  illumos/illumos-gate@4f4378cc54b7deec3a35c529dc397dbdc325b4bb
  
https://github.com/illumos/illumos-gate/commit/4f4378cc54b7deec3a35c529dc397dbdc325b4bb
  
  https://www.illumos.org/issues/8331
zfs_unshare returns EZFS_UNSHARENFSFAILED on error for all share types.
  
  Reviewed by: Marcel Telka 
  Reviewed by: Toomas Soome 
  Approved by: Dan McDonald 
  Author: Andrew Stormont 
  
  MFC after:4 weeks

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
Directory Properties:
  head/cddl/contrib/opensolaris/   (props changed)
  head/cddl/contrib/opensolaris/lib/libzfs/   (props changed)

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
==
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c  Wed Sep 
13 10:22:09 2017(r323524)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c  Wed Sep 
13 10:23:55 2017(r323525)
@@ -24,6 +24,7 @@
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014 by Delphix. All rights reserved.
  * Copyright 2016 Igor Kozhukhov 
+ * Copyright 2017 RackTop Systems.
  */
 
 /*
@@ -88,7 +89,7 @@ zfs_share_type_t zfs_is_shared_proto(zfs_handle_t *, c
 zfs_share_proto_t);
 
 /*
- * The share protocols table must be in the same order as the zfs_share_prot_t
+ * The share protocols table must be in the same order as the zfs_share_proto_t
  * enum in libzfs_impl.h
  */
 typedef struct {
@@ -873,7 +874,7 @@ unshare_one(libzfs_handle_t *hdl, const char *name, co
/* make sure libshare initialized */
if ((err = zfs_init_libshare(hdl, SA_INIT_SHARE_API)) != SA_OK) {
free(mntpt);/* don't need the copy anymore */
-   return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED,
+   return (zfs_error_fmt(hdl, proto_table[proto].p_unshare_err,
dgettext(TEXT_DOMAIN, "cannot unshare '%s': %s"),
name, _sa_errorstr(err)));
}
@@ -884,12 +885,13 @@ unshare_one(libzfs_handle_t *hdl, const char *name, co
if (share != NULL) {
err = zfs_sa_disable_share(share, proto_table[proto].p_name);
if (err != SA_OK) {
-   return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED,
+   return (zfs_error_fmt(hdl,
+   proto_table[proto].p_unshare_err,
dgettext(TEXT_DOMAIN, "cannot unshare '%s': %s"),
name, _sa_errorstr(err)));
}
} else {
-   return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED,
+   return (zfs_error_fmt(hdl, proto_table[proto].p_unshare_err,
dgettext(TEXT_DOMAIN, "cannot unshare '%s': not found"),
name));
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323524 - head/cddl/contrib/opensolaris/lib/libzfs/common

2017-09-13 Thread Andriy Gapon
Author: avg
Date: Wed Sep 13 10:22:09 2017
New Revision: 323524
URL: https://svnweb.freebsd.org/changeset/base/323524

Log:
  MFV r316932: 6280 libzfs: unshare_one() could fail with EZFS_SHARENFSFAILED
  
  illumos/illumos-gate@d1672efb6feac57c42788e27f739dfa3c4f3baf7
  
https://github.com/illumos/illumos-gate/commit/d1672efb6feac57c42788e27f739dfa3c4f3baf7
  
  https://www.illumos.org/issues/6280
The unshare_one() in libzfs could fail with EZFS_SHARENFSFAILED at line 834
here:
831/* make sure libshare initialized */
832if ((err = zfs_init_libshare(hdl, SA_INIT_SHARE_API)) != SA_OK) {
833free(mntpt);/* don't need the copy anymore */
834return (zfs_error_fmt(hdl, EZFS_SHARENFSFAILED,
835dgettext(TEXT_DOMAIN, "cannot unshare '%s': %s"),
836name, _sa_errorstr(err)));
837}
The correct error should be EZFS_UNSHARENFSFAILED instead.
  
  Reviewed by: Toomas Soome 
  Reviewed by: Dan McDonald 
  Reviewed by: Matthew Ahrens 
  Approved by: Gordon Ross 
  Author: Marcel Telka 
  
  MFC after:4 weeks

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
Directory Properties:
  head/cddl/contrib/opensolaris/   (props changed)
  head/cddl/contrib/opensolaris/lib/libzfs/   (props changed)

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
==
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c  Wed Sep 
13 10:17:14 2017(r323523)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c  Wed Sep 
13 10:22:09 2017(r323524)
@@ -20,6 +20,7 @@
  */
 
 /*
+ * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014 by Delphix. All rights reserved.
  * Copyright 2016 Igor Kozhukhov 
@@ -872,7 +873,7 @@ unshare_one(libzfs_handle_t *hdl, const char *name, co
/* make sure libshare initialized */
if ((err = zfs_init_libshare(hdl, SA_INIT_SHARE_API)) != SA_OK) {
free(mntpt);/* don't need the copy anymore */
-   return (zfs_error_fmt(hdl, EZFS_SHARENFSFAILED,
+   return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED,
dgettext(TEXT_DOMAIN, "cannot unshare '%s': %s"),
name, _sa_errorstr(err)));
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-13 Thread Cy Schubert
In message <4d5ae475-5a38-4429-8b71-dbecdfb0a...@gmail.com>, Ngie Cooper 
writes
:
> 
> > On Sep 12, 2017, at 18:18, Stephen Hurd  wrote:
> > 
> > Author: shurd
> > Date: Wed Sep 13 01:18:42 2017
> > New Revision: 323516
> > URL: https://svnweb.freebsd.org/changeset/base/323516
> > 
> > Log:
> >  Roll up iflib commits from github.  This pulls in most of the work done
> >  by Matt Macy as well as other changes which he has accepted via pull
> >  request to his github repo at https://github.com/mattmacy/networking/
> > 
> >  This should bring -CURRENT and the github repo into close enough sync to
> >  allow small feature branches rather than a large chain of interdependant
> >  patches being developed out of tree.  The reset of the synchronization
> >  should be able to be completed on github by splitting the remaining
> >  changes that are not yet ready into short feature branches for later
> >  review as smaller commits.
> > 
> >  Here is a summary of changes included in this patch:
> > 
> >  1)  More checks when INVARIANTS are enabled for eariler problem
> >  detection
> >  2)  Group Task Queue cleanups
> >  - Fix use of duplicate shortdesc for gtaskqueue malloc type.
> >Some interfaces such as memguard(9) use the short description to
> >identify malloc types, so duplicates should be avoided.
> >  3)  Allow gtaskqueues to use ithreads in addition to taskqueues
> >  - In some cases, this can improve performance
> >  4)  Better logging when taskqgroup_attach*() fails to set interrupt
> >  affinity.
> >  5)  Do not start gtaskqueues until they're needed
> >  6)  Have mp_ring enqueue function enter the ABDICATED rather than BUSY
> >  state.  This moves the TX to the gtaskq and allows processing to
> >  continue faster as well as make TX batching more likely.
> >  7)  Add an ift_txd_errata function to struct if_txrx.  This allows
> >  drivers to inspect/modify mbufs before transmission.
> >  8)  Add a new IFLIB_NEED_ZERO_CSUM for drivers to indicate they need
> >  checksums zeroed for checksum offload to work.  This avoids modifying
> >  packet data in the TX path when possible.
> >  9)  Use ithreads for iflib I/O instead of taskqueues
> >  10) Clean up ioctl and support async ioctl functions
> >  11) Prefetch two cachlines from each mbuf instead of one up to 128B.  We
> >  often need to parse packet header info beyond 64B.
> >  12) Fix potential memory corruption due to fence post error in
> >  bit_nclear() usage.
> >  13) Improved hang detection and handling
> >  14) If the packet is smaller than MTU, disable the TSO flags.
> >  This avoids extra packet parsing when not needed.
> >  15) Move TCP header parsing inside the IS_TSO?() test.
> >  This avoids extra packet parsing when not needed.
> >  16) Pass chains of mbufs that are not consumed by lro to if_input()
> >  rather call if_input() for each mbuf.
> >  17) Re-arrange packet header loads to get as much work as possible done
> >  before a cache stall.
> >  18) Lock the context when calling IFDI_ATTACH_PRE()/IFDI_ATTACH_POST()/
> >  IFDI_DETACH();
> >  19) Attempt to distribute RX/TX tasks across cores more sensibly,
> >  especially when RX and TX share an interrupt.  RX will attempt to
> >  take the first threads on a core, and TX will attempt to take
> >  successive threads.
> >  20) Allow iflib_softirq_alloc_generic() to request affinity to the same
> >  cpus an interrupt has affinity with.  This allows TX queues to
> >  ensure they are serviced by the socket the device is on.
> >  21) Add new iflib sysctls to net.iflib:
> >  - timer_int - interval at which to run per-queue timers in ticks
> >  - force_busdma
> >  22) Add new per-device iflib sysctls to dev.X.Y.iflib
> >  - rx_budget allows tuning the batch size on the RX path
> >  - watchdog_events Count of watchdog events seen since load
> >  23) Fix error where netmap_rxq_init() could get called before
> >  IFDI_INIT()
> >  24) e1000: Fixed version of r323008: post-cold sleep instead of DELAY
> >  when waiting for firmware
> >  - After interrupts are enabled, convert all waits to sleeps
> >  - Eliminates e1000 software/firmware synchronization busy waits after
> >startup
> >  25) e1000: Remove special case for budget=1 in em_txrx.c
> >  - Premature optimization which may actually be incorrect with
> >multi-segment packets
> >  26) e1000: Split out TX interrupt rather than share an interrupt for
> >  RX and TX.
> >  - Allows better performance by keeping RX and TX paths separate
> >  27) e1000: Separate igb from em code where suitable
> >  Much easier to understand separate functions and "if (is_igb)" than
> >  previous tests like "if (reg_icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC))"
> > 
> >  #blamebruno
> > 
> >  Reviewed by:sbruno
> >  Approved by:sbruno (mentor)
> >  Sponsored by:Limelight Networks
> > 

svn commit: r323522 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2017-09-13 Thread Andriy Gapon
Author: avg
Date: Wed Sep 13 07:09:58 2017
New Revision: 323522
URL: https://svnweb.freebsd.org/changeset/base/323522

Log:
  slightly simplify zfs_vptocnp
  
  It's not necessary to look up the parent's ID to check if the node is
  the root node of the filesystem.
  
  MFC after:2 weeks

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Sep 
13 06:57:52 2017(r323521)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Sep 
13 07:09:58 2017(r323522)
@@ -5925,7 +5925,6 @@ zfs_vptocnp(struct vop_vptocnp_args *ap)
vnode_t *vp = ap->a_vp;;
zfsvfs_t *zfsvfs = vp->v_vfsp->vfs_data;
znode_t *zp = VTOZ(vp);
-   uint64_t parent;
int ltype;
int error;
 
@@ -5936,13 +5935,7 @@ zfs_vptocnp(struct vop_vptocnp_args *ap)
 * If we are a snapshot mounted under .zfs, run the operation
 * on the covered vnode.
 */
-   if ((error = sa_lookup(zp->z_sa_hdl,
-   SA_ZPL_PARENT(zfsvfs), , sizeof (parent))) != 0) {
-   ZFS_EXIT(zfsvfs);
-   return (error);
-   }
-
-   if (zp->z_id != parent || zfsvfs->z_parent == zfsvfs) {
+   if (zp->z_id != zfsvfs->z_root || zfsvfs->z_parent == zfsvfs) {
char name[MAXNAMLEN + 1];
znode_t *dzp;
size_t len;
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r323521 - head/usr.bin/sockstat

2017-09-13 Thread Michael Tuexen
Author: tuexen
Date: Wed Sep 13 06:57:52 2017
New Revision: 323521
URL: https://svnweb.freebsd.org/changeset/base/323521

Log:
  Add a command line option for using a wider field for displaying
  addresses. This allows the table to be consistent when IPv6
  addresses have to be printed.
  While there, document the -v option in the man page.
  
  Sponsored by: Netflix, Inc.

Modified:
  head/usr.bin/sockstat/sockstat.1
  head/usr.bin/sockstat/sockstat.c

Modified: head/usr.bin/sockstat/sockstat.1
==
--- head/usr.bin/sockstat/sockstat.1Wed Sep 13 06:07:02 2017
(r323520)
+++ head/usr.bin/sockstat/sockstat.1Wed Sep 13 06:57:52 2017
(r323521)
@@ -35,7 +35,7 @@
 .Nd list open sockets
 .Sh SYNOPSIS
 .Nm
-.Op Fl 46cLlSsUu
+.Op Fl 46cLlSsUuvw
 .Op Fl j Ar jid
 .Op Fl p Ar ports
 .Op Fl P Ar protocols
@@ -97,6 +97,10 @@ Show
 .Dv AF_LOCAL
 .Pq Ux
 sockets.
+.It Fl v
+Verbose mode.
+.It Fl w
+Use wider field size for displaying addresses.
 .El
 .Pp
 If neither

Modified: head/usr.bin/sockstat/sockstat.c
==
--- head/usr.bin/sockstat/sockstat.cWed Sep 13 06:07:02 2017
(r323520)
+++ head/usr.bin/sockstat/sockstat.cWed Sep 13 06:57:52 2017
(r323521)
@@ -78,6 +78,7 @@ static int opt_s; /* Show protocol state if 
applicab
 static int  opt_U; /* Show remote UDP encapsulation port number */
 static int  opt_u; /* Show Unix domain sockets */
 static int  opt_v; /* Verbose mode */
+static int  opt_w; /* Wide print area for addresses */
 
 /*
  * Default protocols to use if no -P was defined.
@@ -1020,7 +1021,8 @@ displaysock(struct sock *s, int pos)
faddr = s->faddr;
first = 1;
while (laddr != NULL || faddr != NULL) {
-   while (pos < 36)
+   offset = 36;
+   while (pos < offset)
pos += xprintf(" ");
switch (s->family) {
case AF_INET:
@@ -1030,10 +1032,12 @@ displaysock(struct sock *s, int pos)
if (s->family == AF_INET6 && pos >= 58)
pos += xprintf(" ");
}
-   while (pos < 58)
+   offset += opt_w ? 46 : 22;
+   while (pos < offset)
pos += xprintf(" ");
if (faddr != NULL)
pos += printaddr(>address);
+   offset += opt_w ? 46 : 22;
break;
case AF_UNIX:
if ((laddr == NULL) || (faddr == NULL))
@@ -1048,6 +1052,7 @@ displaysock(struct sock *s, int pos)
p = *(void **)&(faddr->address);
if (p == NULL) {
pos += xprintf("(not connected)");
+   offset += opt_w ? 92 : 44;
break;
}
pos += xprintf("-> ");
@@ -1065,11 +1070,11 @@ displaysock(struct sock *s, int pos)
pos += xprintf("??");
else
pos += printaddr(_tmp->laddr->address);
+   offset += opt_w ? 92 : 44;
break;
default:
abort();
}
-   offset = 80;
if (opt_U) {
if (faddr != NULL &&
s->proto == IPPROTO_SCTP &&
@@ -1147,9 +1152,10 @@ display(void)
struct sock *s;
int hash, n, pos;
 
-   printf("%-8s %-10s %-5s %-2s %-6s %-21s %-21s",
+   printf("%-8s %-10s %-5s %-2s %-6s %-*s %-*s",
"USER", "COMMAND", "PID", "FD", "PROTO",
-   "LOCAL ADDRESS", "FOREIGN ADDRESS");
+   opt_w ? 45 : 21, "LOCAL ADDRESS",
+   opt_w ? 45 : 21, "FOREIGN ADDRESS");
if (opt_U)
printf(" %-6s", "ENCAPS");
if (opt_s) {
@@ -1228,7 +1234,7 @@ static void
 usage(void)
 {
fprintf(stderr,
-   "usage: sockstat [-46cLlSsu] [-j jid] [-p ports] [-P protocols]\n");
+   "usage: sockstat [-46cLlSsUuvw] [-j jid] [-p ports] [-P 
protocols]\n");
exit(1);
 }
 
@@ -1239,7 +1245,7 @@ main(int argc, char *argv[])
int o, i;
 
opt_j = -1;
-   while ((o = getopt(argc, argv, "46cj:Llp:P:SsUuv")) != -1)
+   while ((o = getopt(argc, argv, "46cj:Llp:P:SsUuvw")) != -1)
switch (o) {
case '4':
opt_4 = 1;
@@ -1279,6 +1285,9 @@ main(int argc, char *argv[])
break;
case 'v':
++opt_v;
+   break;
+   case 'w':
+  

Re: svn commit: r323516 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-13 Thread Ngie Cooper

> On Sep 12, 2017, at 18:18, Stephen Hurd  wrote:
> 
> Author: shurd
> Date: Wed Sep 13 01:18:42 2017
> New Revision: 323516
> URL: https://svnweb.freebsd.org/changeset/base/323516
> 
> Log:
>  Roll up iflib commits from github.  This pulls in most of the work done
>  by Matt Macy as well as other changes which he has accepted via pull
>  request to his github repo at https://github.com/mattmacy/networking/
> 
>  This should bring -CURRENT and the github repo into close enough sync to
>  allow small feature branches rather than a large chain of interdependant
>  patches being developed out of tree.  The reset of the synchronization
>  should be able to be completed on github by splitting the remaining
>  changes that are not yet ready into short feature branches for later
>  review as smaller commits.
> 
>  Here is a summary of changes included in this patch:
> 
>  1)  More checks when INVARIANTS are enabled for eariler problem
>  detection
>  2)  Group Task Queue cleanups
>  - Fix use of duplicate shortdesc for gtaskqueue malloc type.
>Some interfaces such as memguard(9) use the short description to
>identify malloc types, so duplicates should be avoided.
>  3)  Allow gtaskqueues to use ithreads in addition to taskqueues
>  - In some cases, this can improve performance
>  4)  Better logging when taskqgroup_attach*() fails to set interrupt
>  affinity.
>  5)  Do not start gtaskqueues until they're needed
>  6)  Have mp_ring enqueue function enter the ABDICATED rather than BUSY
>  state.  This moves the TX to the gtaskq and allows processing to
>  continue faster as well as make TX batching more likely.
>  7)  Add an ift_txd_errata function to struct if_txrx.  This allows
>  drivers to inspect/modify mbufs before transmission.
>  8)  Add a new IFLIB_NEED_ZERO_CSUM for drivers to indicate they need
>  checksums zeroed for checksum offload to work.  This avoids modifying
>  packet data in the TX path when possible.
>  9)  Use ithreads for iflib I/O instead of taskqueues
>  10) Clean up ioctl and support async ioctl functions
>  11) Prefetch two cachlines from each mbuf instead of one up to 128B.  We
>  often need to parse packet header info beyond 64B.
>  12) Fix potential memory corruption due to fence post error in
>  bit_nclear() usage.
>  13) Improved hang detection and handling
>  14) If the packet is smaller than MTU, disable the TSO flags.
>  This avoids extra packet parsing when not needed.
>  15) Move TCP header parsing inside the IS_TSO?() test.
>  This avoids extra packet parsing when not needed.
>  16) Pass chains of mbufs that are not consumed by lro to if_input()
>  rather call if_input() for each mbuf.
>  17) Re-arrange packet header loads to get as much work as possible done
>  before a cache stall.
>  18) Lock the context when calling IFDI_ATTACH_PRE()/IFDI_ATTACH_POST()/
>  IFDI_DETACH();
>  19) Attempt to distribute RX/TX tasks across cores more sensibly,
>  especially when RX and TX share an interrupt.  RX will attempt to
>  take the first threads on a core, and TX will attempt to take
>  successive threads.
>  20) Allow iflib_softirq_alloc_generic() to request affinity to the same
>  cpus an interrupt has affinity with.  This allows TX queues to
>  ensure they are serviced by the socket the device is on.
>  21) Add new iflib sysctls to net.iflib:
>  - timer_int - interval at which to run per-queue timers in ticks
>  - force_busdma
>  22) Add new per-device iflib sysctls to dev.X.Y.iflib
>  - rx_budget allows tuning the batch size on the RX path
>  - watchdog_events Count of watchdog events seen since load
>  23) Fix error where netmap_rxq_init() could get called before
>  IFDI_INIT()
>  24) e1000: Fixed version of r323008: post-cold sleep instead of DELAY
>  when waiting for firmware
>  - After interrupts are enabled, convert all waits to sleeps
>  - Eliminates e1000 software/firmware synchronization busy waits after
>startup
>  25) e1000: Remove special case for budget=1 in em_txrx.c
>  - Premature optimization which may actually be incorrect with
>multi-segment packets
>  26) e1000: Split out TX interrupt rather than share an interrupt for
>  RX and TX.
>  - Allows better performance by keeping RX and TX paths separate
>  27) e1000: Separate igb from em code where suitable
>  Much easier to understand separate functions and "if (is_igb)" than
>  previous tests like "if (reg_icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC))"
> 
>  #blamebruno
> 
>  Reviewed by:sbruno
>  Approved by:sbruno (mentor)
>  Sponsored by:Limelight Networks
>  Differential Revision:https://reviews.freebsd.org/D12235

*gasps at the LoC count and number of changed drivers*

Could someone please better break this up in the future..?

Thank you,
-Ngie
___
svn-src-head@freebsd.org 

svn commit: r323520 - head/sys/dev/cxgbe

2017-09-13 Thread Navdeep Parhar
Author: np
Date: Wed Sep 13 06:07:02 2017
New Revision: 323520
URL: https://svnweb.freebsd.org/changeset/base/323520

Log:
  cxgbe(4): Ignore capabilities that depend on TOE when the firmware
  reports TOE is not available.
  
  MFC after:1 week
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/t4_main.c

Modified: head/sys/dev/cxgbe/t4_main.c
==
--- head/sys/dev/cxgbe/t4_main.cWed Sep 13 04:32:23 2017
(r323519)
+++ head/sys/dev/cxgbe/t4_main.cWed Sep 13 06:07:02 2017
(r323520)
@@ -3576,6 +3576,18 @@ get_params__post_init(struct adapter *sc)
READ_CAPS(iscsicaps);
READ_CAPS(fcoecaps);
 
+   /*
+* The firmware attempts memfree TOE configuration for -SO cards and
+* will report toecaps=0 if it runs out of resources (this depends on
+* the config file).  It may not report 0 for other capabilities
+* dependent on the TOE in this case.  Set them to 0 here so that the
+* driver doesn't bother tracking resources that will never be used.
+*/
+   if (sc->toecaps == 0) {
+   sc->iscsicaps = 0;
+   sc->rdmacaps = 0;
+   }
+
if (sc->niccaps & FW_CAPS_CONFIG_NIC_ETHOFLD) {
param[0] = FW_PARAM_PFVF(ETHOFLD_START);
param[1] = FW_PARAM_PFVF(ETHOFLD_END);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r323508 - head/usr.sbin/bsdinstall/partedit

2017-09-13 Thread Ngie Cooper

> On Sep 12, 2017, at 15:19, Ravi Pokala  wrote:
> 
> Author: rpokala
> Date: Tue Sep 12 22:19:21 2017
> New Revision: 323508
> URL: https://svnweb.freebsd.org/changeset/base/323508
> 
> Log:
>  When doing a non-interactive installation, don't display an interactive
>  warning about a filesystem which doesn't have a mountpoint. Presumably, the
>  person who wrote the install script knew what they were doing.

This seems very counterintuitive. It should fail citing the error, not 
prompt. This only mutes the prompt.
Thanks,
-Ngie
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"