From owner-svn-src-head@freebsd.org Fri Dec 22 18:34:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7992E82360 for ; Fri, 22 Dec 2017 18:34:42 +0000 (UTC) (envelope-from shurd@freebsd.org) Received: from fed1rmwml304.cox.net (fed1rmwml304.cox.net [68.230.241.172]) by mx1.freebsd.org (Postfix) with ESMTP id C20552B27 for ; Fri, 22 Dec 2017 18:34:42 +0000 (UTC) (envelope-from shurd@freebsd.org) Received: from eastrmimpo209.cox.net ([68.230.241.224]) by eastrmfepo203.cox.net (InterMail vM.8.01.05.28 201-2260-151-171-20160122) with ESMTP id <20171222182222.NRIM4081.eastrmfepo203.cox.net@eastrmimpo209.cox.net> for ; Fri, 22 Dec 2017 13:22:22 -0500 Received: from [192.168.0.33] ([107.5.177.180]) by eastrmimpo209.cox.net with cox id p6NL1w00s3tujNK016NNjY; Fri, 22 Dec 2017 13:22:22 -0500 X-CT-Class: Clean X-CT-Score: 0.00 X-CT-RefID: str=0001.0A020205.5A3D4D5E.01E9, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CT-Spam: 0 X-Authority-Analysis: v=2.2 cv=DKj/22Fb c=1 sm=1 tr=0 a=qjOqI3gpwxmQgA7j5BgDJQ==:117 a=qjOqI3gpwxmQgA7j5BgDJQ==:17 a=IkcTkHD0fZMA:10 a=EqGS7fucKS0A:10 a=6I5d2MoRAAAA:8 a=9OJ7zOEqpIwYj0Q8kDsA:9 a=JW_fZDZ7YfCKXYhO:21 a=QEXdDO2ut3YA:10 a=IjZwj45LgO3ly-622nXo:22 X-CM-Score: 0.00 Authentication-Results: cox.net; auth=pass (PLAIN) smtp.auth=myhuge@cox.net Subject: Re: svn commit: r327013 - head/sys/net To: Oleg Bulyzhin , Stephen Hurd Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, Sean Bruno , erj@freebsd.org References: <201712200103.vBK13YgS025896@repo.freebsd.org> <20171222115825.GA69149@lath.RINET.ru> From: Stephen Hurd Message-ID: <16beab6b-3252-1f84-33f4-f9fc49f158a2@FreeBSD.org> Date: Fri, 22 Dec 2017 13:22:20 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:51.0) Gecko/20100101 Firefox/51.0 SeaMonkey/2.48 MIME-Version: 1.0 In-Reply-To: <20171222115825.GA69149@lath.RINET.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Dec 2017 18:34:43 -0000 Oleg Bulyzhin wrote: > On Wed, Dec 20, 2017 at 01:03:34AM +0000, Stephen Hurd wrote: >> Author: shurd >> Date: Wed Dec 20 01:03:34 2017 >> New Revision: 327013 >> URL: https://svnweb.freebsd.org/changeset/base/327013 >> >> Log: >> Support attaching tx queues to cpus >> >> This will attempt to use a different thread/core on the same L2 >> cache when possible, or use the same cpu as the rx thread when not. >> If SMP isn't enabled, don't go looking for cores to use. This is mostly >> useful when using shared TX/RX queues. >> >> Reviewed by: sbruno >> Sponsored by: Limelight Networks >> Differential Revision: https://reviews.freebsd.org/D12446 > i'm getting this panic: > > [skipped] > ix0: port 0xcc00-0xcc1f mem 0xfde80000-0xfdefffff,0xfde7c000-0xfde7ffff irq 18 at device 0.0 on pci2 > ix0: using 2048 tx descriptors and 2048 rx descriptors > ix0: msix_init qsets capped at 16 > ix0: pxm cpus: 4 queue msgs: 63 admincnt: 1 > ix0: using 4 rx queues 4 tx queues > ix0: attempting to allocate 5 MSI-X vectors (64 supported) > msi: routing MSI-X IRQ 259 to local APIC 0 vector 54 > msi: routing MSI-X IRQ 260 to local APIC 0 vector 55 > msi: routing MSI-X IRQ 261 to local APIC 0 vector 56 > msi: routing MSI-X IRQ 262 to local APIC 0 vector 57 > msi: routing MSI-X IRQ 263 to local APIC 0 vector 58 > ix0: using IRQs 259-263 for MSI-X > ix0: Using MSIX interrupts with 5 vectors > ix0: allocated for 4 queues > ix0: allocated for 4 rx queues > panic: Assertion gtask->gt_taskqueue != NULL failed at /usr/src/sys/net/iflib.c:5177 > cpuid = 0 > time = 1 > KDB: enter: panic > [ thread pid 0 tid 100000 ] > Stopped at kdb_enter+0x3b: movq $0,kdb_why > db> bt > Tracing pid 0 tid 100000 td 0xffffffff80bf63c0 > kdb_enter() at kdb_enter+0x3b/frame 0xffffffff81004130 > vpanic() at vpanic+0x1b9/frame 0xffffffff810041b0 > kassert_panic() at kassert_panic+0x173/frame 0xffffffff81004220 > iflib_irq_set_affinity() at iflib_irq_set_affinity+0xae2/frame 0xffffffff810042e0 > iflib_irq_alloc_generic() at iflib_irq_alloc_generic+0x1f7/frame 0xffffffff81004350 > ixgbe_if_msix_intr_assign() at ixgbe_if_msix_intr_assign+0xa2/frame 0xffffffff810043d0 > iflib_device_register() at iflib_device_register+0x2a6a/frame 0xffffffff810046f0 > iflib_device_attach() at iflib_device_attach+0xb7/frame 0xffffffff81004720 > device_attach() at device_attach+0x3f7/frame 0xffffffff81004770 > bus_generic_attach() at bus_generic_attach+0x5a/frame 0xffffffff81004790 > pci_attach() at pci_attach+0xd5/frame 0xffffffff810047d0 > device_attach() at device_attach+0x3f7/frame 0xffffffff81004820 > bus_generic_attach() at bus_generic_attach+0x5a/frame 0xffffffff81004840 > acpi_pcib_pci_attach() at acpi_pcib_pci_attach+0xa1/frame 0xffffffff81004880 > device_attach() at device_attach+0x3f7/frame 0xffffffff810048d0 > bus_generic_attach() at bus_generic_attach+0x5a/frame 0xffffffff810048f0 > pci_attach() at pci_attach+0xd5/frame 0xffffffff81004930 > device_attach() at device_attach+0x3f7/frame 0xffffffff81004980 > bus_generic_attach() at bus_generic_attach+0x5a/frame 0xffffffff810049a0 > acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x3bc/frame 0xffffffff81004a10 > device_attach() at device_attach+0x3f7/frame 0xffffffff81004a60 > bus_generic_attach() at bus_generic_attach+0x5a/frame 0xffffffff81004a80 > acpi_attach() at acpi_attach+0xe85/frame 0xffffffff81004b30 > device_attach() at device_attach+0x3f7/frame 0xffffffff81004b80 > bus_generic_attach() at bus_generic_attach+0x5a/frame 0xffffffff81004ba0 > nexus_acpi_attach() at nexus_acpi_attach+0x73/frame 0xffffffff81004bd0 > device_attach() at device_attach+0x3f7/frame 0xffffffff81004c20 > bus_generic_new_pass() at bus_generic_new_pass+0x116/frame 0xffffffff81004c50 > bus_set_pass() at bus_set_pass+0x8c/frame 0xffffffff81004c80 > configure() at configure+0x9/frame 0xffffffff81004c90 > mi_startup() at mi_startup+0x9c/frame 0xffffffff81004cb0 > btext() at btext+0x2c Can you provide me with the output of ``sysctl kern.sched.topology_spec''? It would also be useful to add a line in iflib.c at the beginning of iflib_irq_set_affinity() to show the parameters: int cpuid; int err, tid; +device_printf(ctx->ifc_dev, "irq=%d, type=%d, qid=%d, name=%s\n", irq, type, qid, name); cpuid = find_nth(ctx, qid); tid = get_thread_num(ctx, type, qid); MPASS(tid >= 0); And provide the new dmesg with this added output.