Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread Hans Petter Selasky

On 2020-02-12 18:22, Gleb Smirnoff wrote:


Hans already checked in his patch. Great!



You're welcome. Glad it worked.

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


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread Gleb Smirnoff
On Wed, Feb 12, 2020 at 09:18:32AM -0800, Gleb Smirnoff wrote:
T> On Wed, Feb 12, 2020 at 07:41:54PM +0300, y...@mm.st wrote:
T> y> Gleb Smirnoff wrote:
T> y> > On Wed, Feb 12, 2020 at 09:49:12AM +0300, y...@mm.st wrote:
T> y> > y> Getting the following panic after updating to r357793 (expect typos, 
hand
T> y> > y> copied):
T> y> > y>
T> y> > y> panic: Assertion in_epoch(net_epoch_preempt) failed at
T> y> > y> /usr/src/sys/net/iflib.c:2762
T> y> > y>
T> y> > y> db_trace_self_wrapper()
T> y> > y> vpanic()
T> y> > y> panic()
T> y> > y> iflib_rxeof()
T> y> > y> _task_fn_rx()
T> y> > y> gtaskqueue_run_locked()
T> y> > y> gtaskqueue_thread_loop()
T> y> > y> fork_exit()
T> y> > y> fork_trampoline()
T> y> > y> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
T> y> > 
T> y> > Are you running iflib as a loadable module? Your trace clearly
T> y> > has _task_fn_rx(), and Hans's patch covers _task_fn_tx(). However,
T> y> > Hans's patch helped you. So, my guess is happen just due to
T> y> > recompilation and reinstall of the module, not due to patch.
T> y> 
T> y> No, it was a clean install from latest snapshot ISO, updated to that
T> y> revision using the usual {build,install}{world,kernel} procedure without
T> y> any settings in src.conf and using GENERIC conf, so iflib is builtin.
T> 
T> Sorry, Hans's patch is correct. I didn't notice the alternative
T> initializer of taskqueue. Strange that this didn't pop up with
T> my igb0. Will fix in few minutes.

Hans already checked in his patch. Great!

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


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread Gleb Smirnoff
On Wed, Feb 12, 2020 at 07:41:54PM +0300, y...@mm.st wrote:
y> Gleb Smirnoff wrote:
y> > On Wed, Feb 12, 2020 at 09:49:12AM +0300, y...@mm.st wrote:
y> > y> Getting the following panic after updating to r357793 (expect typos, 
hand
y> > y> copied):
y> > y>
y> > y> panic: Assertion in_epoch(net_epoch_preempt) failed at
y> > y> /usr/src/sys/net/iflib.c:2762
y> > y>
y> > y> db_trace_self_wrapper()
y> > y> vpanic()
y> > y> panic()
y> > y> iflib_rxeof()
y> > y> _task_fn_rx()
y> > y> gtaskqueue_run_locked()
y> > y> gtaskqueue_thread_loop()
y> > y> fork_exit()
y> > y> fork_trampoline()
y> > y> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
y> > 
y> > Are you running iflib as a loadable module? Your trace clearly
y> > has _task_fn_rx(), and Hans's patch covers _task_fn_tx(). However,
y> > Hans's patch helped you. So, my guess is happen just due to
y> > recompilation and reinstall of the module, not due to patch.
y> 
y> No, it was a clean install from latest snapshot ISO, updated to that
y> revision using the usual {build,install}{world,kernel} procedure without
y> any settings in src.conf and using GENERIC conf, so iflib is builtin.

Sorry, Hans's patch is correct. I didn't notice the alternative
initializer of taskqueue. Strange that this didn't pop up with
my igb0. Will fix in few minutes.

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


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread yp

Gleb Smirnoff wrote:

On Wed, Feb 12, 2020 at 09:49:12AM +0300, y...@mm.st wrote:
y> Getting the following panic after updating to r357793 (expect typos, hand
y> copied):
y>
y> panic: Assertion in_epoch(net_epoch_preempt) failed at
y> /usr/src/sys/net/iflib.c:2762
y>
y> db_trace_self_wrapper()
y> vpanic()
y> panic()
y> iflib_rxeof()
y> _task_fn_rx()
y> gtaskqueue_run_locked()
y> gtaskqueue_thread_loop()
y> fork_exit()
y> fork_trampoline()
y> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---

Are you running iflib as a loadable module? Your trace clearly
has _task_fn_rx(), and Hans's patch covers _task_fn_tx(). However,
Hans's patch helped you. So, my guess is happen just due to
recompilation and reinstall of the module, not due to patch.


No, it was a clean install from latest snapshot ISO, updated to that 
revision using the usual {build,install}{world,kernel} procedure without 
any settings in src.conf and using GENERIC conf, so iflib is builtin.

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


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread Gleb Smirnoff
On Wed, Feb 12, 2020 at 09:49:12AM +0300, y...@mm.st wrote:
y> Getting the following panic after updating to r357793 (expect typos, hand
y> copied):
y> 
y> panic: Assertion in_epoch(net_epoch_preempt) failed at
y> /usr/src/sys/net/iflib.c:2762
y> 
y> db_trace_self_wrapper()
y> vpanic()
y> panic()
y> iflib_rxeof()
y> _task_fn_rx()
y> gtaskqueue_run_locked()
y> gtaskqueue_thread_loop()
y> fork_exit()
y> fork_trampoline()
y> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---

Are you running iflib as a loadable module? Your trace clearly
has _task_fn_rx(), and Hans's patch covers _task_fn_tx(). However,
Hans's patch helped you. So, my guess is happen just due to
recompilation and reinstall of the module, not due to patch.

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


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread Hans Petter Selasky

On 2020-02-12 10:10, y...@mm.st wrote:

Hans Petter Selasky wrote:

Hi,

Does the attached patch fix the issue?


It seems to help, yes, at least no panic right after the boot.


Let us know if this happens again. There is currently some ongoing work 
in this area.


https://svnweb.freebsd.org/changeset/base/357800

--HPS

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


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread yp

Hans Petter Selasky wrote:

Hi,

Does the attached patch fix the issue?


It seems to help, yes, at least no panic right after the boot.
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-12 Thread Hans Petter Selasky

Hi,

Does the attached patch fix the issue?

--HPS
Index: sys/net/iflib.c
===
--- sys/net/iflib.c	(revision 357799)
+++ sys/net/iflib.c	(working copy)
@@ -6060,6 +6060,7 @@
 		gtask = >ifc_txqs[qid].ift_task;
 		tqg = qgroup_if_io_tqg;
 		fn = _task_fn_tx;
+		GROUPTASK_INIT(gtask, 0, fn, q);
 		break;
 	case IFLIB_INTR_RX:
 		q = >ifc_rxqs[qid];
@@ -6066,6 +6067,7 @@
 		gtask = >ifc_rxqs[qid].ifr_task;
 		tqg = qgroup_if_io_tqg;
 		fn = _task_fn_rx;
+		NET_GROUPTASK_INIT(gtask, 0, fn, q);
 		break;
 	case IFLIB_INTR_IOV:
 		q = ctx;
@@ -6072,11 +6074,11 @@
 		gtask = >ifc_vflr_task;
 		tqg = qgroup_if_config_tqg;
 		fn = _task_fn_iov;
+		GROUPTASK_INIT(gtask, 0, fn, q);
 		break;
 	default:
 		panic("unknown net intr type");
 	}
-	GROUPTASK_INIT(gtask, 0, fn, q);
 	if (irq != NULL) {
 		err = iflib_irq_set_affinity(ctx, irq, type, qid, gtask, tqg,
 		q, name);
@@ -6136,7 +6138,7 @@
 	iflib_fast_intr_rxtx, NULL, info, name);
 	if (err != 0)
 		return (err);
-	GROUPTASK_INIT(gtask, 0, fn, q);
+	NET_GROUPTASK_INIT(gtask, 0, fn, q);
 	res = irq->ii_res;
 	taskqgroup_attach(tqg, gtask, q, dev, res, name);
 
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-11 Thread yp

Warner Losh wrote:

Which driver does your system use?


em0:  mem 0x5430-0x5431 at 
device 31.6 on pci0

em0: Using 1024 TX descriptors and 1024 RX descriptors
em0: Using an MSI interrupt
em0: netmap queues/slots: TX 1/1024, RX 1/1024


On Tue, Feb 11, 2020 at 11:49 PM  wrote:


Getting the following panic after updating to r357793 (expect typos,
hand copied):

panic: Assertion in_epoch(net_epoch_preempt) failed at
/usr/src/sys/net/iflib.c:2762

db_trace_self_wrapper()
vpanic()
panic()
iflib_rxeof()
_task_fn_rx()
gtaskqueue_run_locked()
gtaskqueue_thread_loop()
fork_exit()
fork_trampoline()
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---

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


Re: panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-11 Thread Warner Losh
Which driver does your system use?

Warner

On Tue, Feb 11, 2020 at 11:49 PM  wrote:

> Getting the following panic after updating to r357793 (expect typos,
> hand copied):
>
> panic: Assertion in_epoch(net_epoch_preempt) failed at
> /usr/src/sys/net/iflib.c:2762
>
> db_trace_self_wrapper()
> vpanic()
> panic()
> iflib_rxeof()
> _task_fn_rx()
> gtaskqueue_run_locked()
> gtaskqueue_thread_loop()
> fork_exit()
> fork_trampoline()
> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
> ___
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
>
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


panic: Assertion in_epoch(net_epoch_preempt) failed, r357793

2020-02-11 Thread yp
Getting the following panic after updating to r357793 (expect typos, 
hand copied):


panic: Assertion in_epoch(net_epoch_preempt) failed at 
/usr/src/sys/net/iflib.c:2762


db_trace_self_wrapper()
vpanic()
panic()
iflib_rxeof()
_task_fn_rx()
gtaskqueue_run_locked()
gtaskqueue_thread_loop()
fork_exit()
fork_trampoline()
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"