On Mon, Feb 06, 2017 at 01:35:24PM +0100, Martin Pieuchot wrote:
> On 01/02/17(Wed) 17:39, Walter Alejandro Iglesias wrote:
> > On Wed, Feb 01, 2017 at 11:22:45AM +0100, Martin Pieuchot wrote:
> > > On 31/01/17(Tue) 20:10, Walter Alejandro Iglesias wrote:
> > > > Don't know if related. After upgrading to 30 Jan snapshot (amd64)
> > > > my console shows lots of:
> > > >
> > > > splassert: yield: want 0 have 1
> > >
> > > Could you update to the lastest snapshot and if you still see these
> > > messages, please set kern.splassert=2 and report the traces.
> >
> > I found the traces you mentioned. :-)
>
> Thanks, could you tell me if the diff below helps?
It worked.
I downloaded the sources, built and installed the kernel, rebooted.
The splassert messages are gone. :-)
>
> Index: net/pf_table.c
> ===================================================================
> RCS file: /cvs/src/sys/net/pf_table.c,v
> retrieving revision 1.123
> diff -u -p -r1.123 pf_table.c
> --- net/pf_table.c 24 Jan 2017 10:08:30 -0000 1.123
> +++ net/pf_table.c 6 Feb 2017 12:33:28 -0000
> @@ -36,6 +36,7 @@
> #include <sys/mbuf.h>
> #include <sys/pool.h>
> #include <sys/syslog.h>
> +#include <sys/proc.h>
>
> #include <net/if.h>
>
> @@ -72,11 +73,8 @@
> (bcopy((from), (to), (size)), 0))
>
> #define YIELD(cnt, ok) \
> - do { \
> - if ((cnt % 1024 == 1023) && \
> - (ok)) \
> - yield(); \
> - } while (0)
> + if (curcpu()->ci_schedstate.spc_schedflags & SPCF_SHOULDYIELD) \
> + preempt(NULL) \
>
> #define FILLIN_SIN(sin, addr) \
> do { \