Date: Tue, 03 Jun 2008 01:02:12 +0200 From: Florian Smeets <flo@kasimir.com> To: John Baldwin <jhb@freebsd.org> Cc: current@freebsd.org Subject: Re: tx(4) MPSAFE patch Message-ID: <48447BF4.4000808@kasimir.com> In-Reply-To: <200806021749.06765.jhb@freebsd.org> References: <200805302339.33935.jhb@freebsd.org> <484461A5.1010003@kasimir.com> <200806021749.06765.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote: > On Monday 02 June 2008 05:09:57 pm Florian Smeets wrote: >> John Baldwin wrote: >>> I have a patch to make tx(4) MPSAFE. I do not have the hardware to test > this >>> however. Unlike many of the previous patches, though, this driver appears > to >>> be for hardware that is not entirely ancient, so there is hopefully a > decent >>> chance someone can test this. >>> >>> http://www.FreeBSD.org/~jhb/patches/tx.patch >>> >> Hi John, >> >> sorry does not work, do you need anything else than the backtrace? FWIW, >> this is an SMP system with 2 CPUs. > > Ok, I've updated the patch to fix this (and to fix a few other minor nits with > the driver). Please refetch the patch from the URL above and try again. > Thanks. > It get's a little further but i get a lot of witness warnings: tx0: <SMC EtherPower II 10/100> port 0xc400-0xc4ff mem 0xe7000000-0xe7000fff irq 18 at device 11.0 on pci0 uma_zalloc_arg: zone "64" with the following non-sleepable locks held: exclusive sleep mutex tx0 (network driver) r = 0 (0xc2046c54) locked @ /usr/src/sys/dev/tx/if_tx.c:382 KDB: stack backtrace: db_trace_self_wrapper(c079791b,c0c20838,c05df997,c0797db3,c0c2084c,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0797db3,c0c2084c,4,1,0,...) at kdb_backtrace+0x29 witness_warn(5,0,c07af22e,c079afd6,c07575ce,...) at witness_warn+0x1d7 uma_zalloc_arg(c1072d20,0,102,2,c08597b4,...) at uma_zalloc_arg+0x34 malloc(2c,c08145c0,102,0,c2048de0,...) at malloc+0xd2 sysctl_add_oid(c2048de0,c08597b4,ffffffff,c2048dec,80000001,...) at sysctl_add_oid+0x95 device_attach(c2132280,c2132280,c0796f86,935,c2132280,...) at device_attach+0x85 device_probe_and_attach(c2132280,3,c0c20974,c04e7aea,c20fad80,...) at device_probe_and_attach+0x100 bus_generic_attach(c20fad80,3,1,c2046c54,c2046c00,...) at bus_generic_attach+0x19 mii_phy_probe(c20fad80,c2046c0c,c0531fa0,c05303d0,c052f1b0,...) at mii_phy_probe+0xfa epic_attach(c20fad80,c20d0854,c080bd04,c0797028,80000000,...) at epic_attach+0x822 device_attach(c20fad80,c20fad80,c0796f86,935,c20fad80,...) at device_attach+0x36f device_probe_and_attach(c20fad80,c2088980,c0c20a94,c048126c,c20fac00,...) at device_probe_and_attach+0x100 bus_generic_attach(c20fac00,c204fda0,1,c0480cb0,c20fac00,0,c204fda0) at bus_generic_attach+0x19 acpi_pci_attach(c20fac00,c20d5854,c080bd04,c0797028,80000000,...) at acpi_pci_attach+0x18c device_attach(c20fac00,c20fac00,c0796f86,935,c20fac00,...) at device_attach+0x36f device_probe_and_attach(c20fac00,c2088c00,c0c20b34,c04832c4,c2088980,...) at device_probe_and_attach+0x100 bus_generic_attach(c2088980,c07b61e2,0,c0c20b24,c204fda0,...) at bus_generic_attach+0x19 acpi_pcib_attach(c2088980,c21151b4,0,c0c20b54,2,...) at acpi_pcib_attach+0x194 acpi_pcib_acpi_attach(c2088980,c20ac054,c080bd04,c0797028,80000000,...) at acpi_pcib_acpi_attach+0x236 device_attach(c2088980,c2088980,c0796f86,935,c2088980,...) at device_attach+0x36f device_probe_and_attach(c2088980,297,c0c20c54,c0478faa,c2088c00,...) at device_probe_and_attach+0x100 bus_generic_attach(c2088c00,294,297,c2112668,294,...) at bus_generic_attach+0x19 acpi_attach(c2088c00,c20ad854,c080bd04,c0797028,80000000,...) at acpi_attach+0xb3a device_attach(c2088c00,c2088c00,c0796f86,935,c2088c00,...) at device_attach+0x36f device_probe_and_attach(c2088c00,c20fa280,c0c20ce8,c0727abe,c20fa280,...) at device_probe_and_attach+0x100 bus_generic_attach(c20fa280,a,c077be4c,0) at bus_generic_attach+0x19 nexus_acpi_attach(c20fa280,c20e6854,c080bd04,c0797028,80000000,...) at nexus_acpi_attach+0x7e device_attach(c20fa280,c20fa280,c0796f86,935,c20fa280,...) at device_attach+0x36f device_probe_and_attach(c20fa280,c07c0298,c0c20d6c,c072c86c,c085b054,...) at device_probe_and_attach+0x100 root_bus_configure(c085b054,c0c20d88,c056af66,0,c1ec00,...) at root_bus_configure+0x1b configure(0,c1ec00,c1ec00,c1e000,c25000,...) at configure+0xc mi_startup() at mi_startup+0x96 begin() at begin+0x2c uma_zalloc_arg: zone "16" with the following non-sleepable locks held: exclusive sleep mutex tx0 (network driver) r = 0 (0xc2046c54) locked @ /usr/src/sys/dev/tx/if_tx.c:382 KDB: stack backtrace: db_trace_self_wrapper(c079791b,c0c20838,c05df997,c0797db3,c0c2084c,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0797db3,c0c2084c,4,1,0,...) at kdb_backtrace+0x29 witness_warn(5,0,c07af22e,c0784364,c07575ce,...) at witness_warn+0x1d7 uma_zalloc_arg(c1072960,0,2,2,c08597b4,...) at uma_zalloc_arg+0x34 malloc(7,c08145c0,2,6,c2048de0,...) at malloc+0xd2 sysctl_add_oid(c2048de0,c08597b4,ffffffff,c2048dec,80000001,...) at sysctl_add_oid+0xd8 device_attach(c2132280,c2132280,c0796f86,935,c2132280,...) at device_attach+0x85 device_probe_and_attach(c2132280,3,c0c20974,c04e7aea,c20fad80,...) at device_probe_and_attach+0x100 bus_generic_attach(c20fad80,3,1,c2046c54,c2046c00,...) at bus_generic_attach+0x19 mii_phy_probe(c20fad80,c2046c0c,c0531fa0,c05303d0,c052f1b0,...) at mii_phy_probe+0xfa epic_attach(c20fad80,c20d0854,c080bd04,c0797028,80000000,...) at epic_attach+0x822 device_attach(c20fad80,c20fad80,c0796f86,935,c20fad80,...) at device_attach+0x36f device_probe_and_attach(c20fad80,c2088980,c0c20a94,c048126c,c20fac00,...) at device_probe_and_attach+0x100 bus_generic_attach(c20fac00,c204fda0,1,c0480cb0,c20fac00,0,c204fda0) at bus_generic_attach+0x19 acpi_pci_attach(c20fac00,c20d5854,c080bd04,c0797028,80000000,...) at acpi_pci_attach+0x18c device_attach(c20fac00,c20fac00,c0796f86,935,c20fac00,...) at device_attach+0x36f device_probe_and_attach(c20fac00,c2088c00,c0c20b34,c04832c4,c2088980,...) at device_probe_and_attach+0x100 bus_generic_attach(c2088980,c07b61e2,0,c0c20b24,c204fda0,...) at bus_generic_attach+0x19 acpi_pcib_attach(c2088980,c21151b4,0,c0c20b54,2,...) at acpi_pcib_attach+0x194 acpi_pcib_acpi_attach(c2088980,c20ac054,c080bd04,c0797028,80000000,...) at acpi_pcib_acpi_attach+0x236 device_attach(c2088980,c2088980,c0796f86,935,c2088980,...) at device_attach+0x36f device_probe_and_attach(c2088980,297,c0c20c54,c0478faa,c2088c00,...) at device_probe_and_attach+0x100 bus_generic_attach(c2088c00,294,297,c2112668,294,...) at bus_generic_attach+0x19 acpi_attach(c2088c00,c20ad854,c080bd04,c0797028,80000000,...) at acpi_attach+0xb3a device_attach(c2088c00,c2088c00,c0796f86,935,c2088c00,...) at device_attach+0x36f device_probe_and_attach(c2088c00,c20fa280,c0c20ce8,c0727abe,c20fa280,...) at device_probe_and_attach+0x100 bus_generic_attach(c20fa280,a,c077be4c,0) at bus_generic_attach+0x19 nexus_acpi_attach(c20fa280,c20e6854,c080bd04,c0797028,80000000,...) at nexus_acpi_attach+0x7e device_attach(c20fa280,c20fa280,c0796f86,935,c20fa280,...) at device_attach+0x36f device_probe_and_attach(c20fa280,c07c0298,c0c20d6c,c072c86c,c085b054,...) at device_probe_and_attach+0x100 root_bus_configure(c085b054,c0c20d88,c056af66,0,c1ec00,...) at root_bus_configure+0x1b configure(0,c1ec00,c1ec00,c1e000,c25000,...) at configure+0xc mi_startup() at mi_startup+0x96 begin() at begin+0x2c It goes on like that forever sometimes the zone varies between "16" "32" and "64". The system does not boot further, or i was just to impatient... Anything i can do? Thanks, Florian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48447BF4.4000808>