Re: svn commit: r327013 - head/sys/net
On Wed, Dec 20, 2017 at 01:03:34AM +, 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 0xfde8-0xfdef,0xfde7c000-0xfde7 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 10 ] Stopped at kdb_enter+0x3b: movq$0,kdb_why db> bt Tracing pid 0 tid 10 td 0x80bf63c0 kdb_enter() at kdb_enter+0x3b/frame 0x81004130 vpanic() at vpanic+0x1b9/frame 0x810041b0 kassert_panic() at kassert_panic+0x173/frame 0x81004220 iflib_irq_set_affinity() at iflib_irq_set_affinity+0xae2/frame 0x810042e0 iflib_irq_alloc_generic() at iflib_irq_alloc_generic+0x1f7/frame 0x81004350 ixgbe_if_msix_intr_assign() at ixgbe_if_msix_intr_assign+0xa2/frame 0x810043d0 iflib_device_register() at iflib_device_register+0x2a6a/frame 0x810046f0 iflib_device_attach() at iflib_device_attach+0xb7/frame 0x81004720 device_attach() at device_attach+0x3f7/frame 0x81004770 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004790 pci_attach() at pci_attach+0xd5/frame 0x810047d0 device_attach() at device_attach+0x3f7/frame 0x81004820 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004840 acpi_pcib_pci_attach() at acpi_pcib_pci_attach+0xa1/frame 0x81004880 device_attach() at device_attach+0x3f7/frame 0x810048d0 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x810048f0 pci_attach() at pci_attach+0xd5/frame 0x81004930 device_attach() at device_attach+0x3f7/frame 0x81004980 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x810049a0 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x3bc/frame 0x81004a10 device_attach() at device_attach+0x3f7/frame 0x81004a60 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004a80 acpi_attach() at acpi_attach+0xe85/frame 0x81004b30 device_attach() at device_attach+0x3f7/frame 0x81004b80 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004ba0 nexus_acpi_attach() at nexus_acpi_attach+0x73/frame 0x81004bd0 device_attach() at device_attach+0x3f7/frame 0x81004c20 bus_generic_new_pass() at bus_generic_new_pass+0x116/frame 0x81004c50 bus_set_pass() at bus_set_pass+0x8c/frame 0x81004c80 configure() at configure+0x9/frame 0x81004c90 mi_startup() at mi_startup+0x9c/frame 0x81004cb0 btext() at btext+0x2c -- Oleg. === Oleg Bulyzhin -- OBUL-RIPN -- OBUL-RIPE -- o...@rinet.ru === ___ 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: r327084 - head/sys/dev/pccard
Author: imp Date: Fri Dec 22 16:59:50 2017 New Revision: 327084 URL: https://svnweb.freebsd.org/changeset/base/327084 Log: PC Card PNP tables are terminated by a NULL sentinel. This shouldn't be recorded in the linker hints, so subtract one to omit it. Modified: head/sys/dev/pccard/pccardvar.h Modified: head/sys/dev/pccard/pccardvar.h == --- head/sys/dev/pccard/pccardvar.h Fri Dec 22 16:27:29 2017 (r327083) +++ head/sys/dev/pccard/pccardvar.h Fri Dec 22 16:59:50 2017 (r327084) @@ -95,7 +95,7 @@ struct pccard_product { */ #define PCCARD_PNP_DESCR "D:#;V32:manufacturer;V32:product;Z:cisvendor;Z:cisproduct;" #define PCCARD_PNP_INFO(t) \ - MODULE_PNP_INFO(PCCARD_PNP_DESCR, pccard, t, t, sizeof(t[0]), sizeof(t) / sizeof(t[0])); \ + MODULE_PNP_INFO(PCCARD_PNP_DESCR, pccard, t, t, sizeof(t[0]), sizeof(t) / sizeof(t[0]) - 1); \ typedef int (*pccard_product_match_fn) (device_t dev, const struct pccard_product *ent, int vpfmatch); ___ 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: r327085 - head/sys/dev/fdc
Author: imp Date: Fri Dec 22 17:13:54 2017 New Revision: 327085 URL: https://svnweb.freebsd.org/changeset/base/327085 Log: Need to NULL terminate this list. It worked before by accidental data in the module following it that terminated the search. Modified: head/sys/dev/fdc/fdc_pccard.c Modified: head/sys/dev/fdc/fdc_pccard.c == --- head/sys/dev/fdc/fdc_pccard.c Fri Dec 22 16:59:50 2017 (r327084) +++ head/sys/dev/fdc/fdc_pccard.c Fri Dec 22 17:13:54 2017 (r327085) @@ -49,6 +49,7 @@ static int fdc_pccard_attach(device_t); static const struct pccard_product fdc_pccard_products[] = { PCMCIA_CARD(YEDATA, EXTERNAL_FDD), + { NULL } }; static int ___ 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: r327086 - head/sys/dev/lmc
Author: pfg Date: Fri Dec 22 17:15:02 2017 New Revision: 327086 URL: https://svnweb.freebsd.org/changeset/base/327086 Log: SPDX: Reverse License ID tags from the lmc driver. While the BSD-2-Clause license is there, the GPLv2 is also present. I am unsure of the implications of having both licenses as they are here. I'll just leave it untagged and open for interpretation. Modified: head/sys/dev/lmc/if_lmc.c head/sys/dev/lmc/if_lmc.h Modified: head/sys/dev/lmc/if_lmc.c == --- head/sys/dev/lmc/if_lmc.c Fri Dec 22 17:13:54 2017(r327085) +++ head/sys/dev/lmc/if_lmc.c Fri Dec 22 17:15:02 2017(r327086) @@ -1,6 +1,4 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * * $FreeBSD$ * * Copyright (c) 2002-2004 David Boggs. Modified: head/sys/dev/lmc/if_lmc.h == --- head/sys/dev/lmc/if_lmc.h Fri Dec 22 17:13:54 2017(r327085) +++ head/sys/dev/lmc/if_lmc.h Fri Dec 22 17:15:02 2017(r327086) @@ -1,6 +1,4 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * * $FreeBSD$ * * Copyright (c) 2002-2004 David Boggs. (bo...@boggs.palo-alto.ca.us) ___ 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: r326982 - head/share/man/man9
On 12/19/2017 21:00, Bruce Evans wrote: > On Tue, 19 Dec 2017, Alan Cox wrote: > >> Log: >> ... >> Reorder and revise some of the existing text. For example, more >> precisely describe when ordinary accesses are atomic. >> ... >> Modified: head/share/man/man9/atomic.9 >> == >> >> --- head/share/man/man9/atomic.9Tue Dec 19 16:45:40 2017 >> (r326981) >> +++ head/share/man/man9/atomic.9Tue Dec 19 17:07:50 2017 >> (r326982) >> ... >> @@ -147,8 +149,7 @@ unsigned 8-bit integer >> unsigned 16-bit integer >> .El >> .Pp >> -These must not be used in MI code because the instructions to >> implement them >> -efficiently might not be available. >> +These types must not be used in machine-independent code. > > Example of normal use of "must". It is a requirement forthe caller. > >> .Pp >> -When an atomic operation has acquire semantics, the effects of the >> operation >> -must have completed before any subsequent load or store (by program >> order) is >> +When an atomic operation has acquire semantics, the operation must have >> +completed before any subsequent load or store (by program order) is > > Most other uses of "must" are requirements for the implementation. This > commit seemed to introduce this misuse, but I just noticed that it was > common and this commit only increased it a lot. > > POSIX uses "shall" a lot for requirements on the implementation. This is > at best noise if it is copied to man pages, and we have the > /usr/share/examples/mdoc/deshallify.sh script for removing the noise, > e.g., by s/shall be/is/g (with complications or singular vs plural...). > This is rarely used since the otherwise better wording in POSIX is rarely > used in FreeBSD man pages, but the man pages are fairly shall-free, with > most shalls being for requirements related to copyrights. > > s/must have competed/completes/g seems to be a correct demustification > for > the above. atomic.9 has to be more careful with tenses than most man > pages > since it is half about delicate ordering, so I wouldn't trust automatic > translation of irregular verbs. It would be better to describe the > ordering using symbols like <= than with words like "before" and > complicated verbs. Okay, I'll take a look at this. ___ 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: r327088 - head/share/man/man9
Author: kib Date: Fri Dec 22 17:52:38 2017 New Revision: 327088 URL: https://svnweb.freebsd.org/changeset/base/327088 Log: Update HISTORY section for the atomic(9) page. In collaboration with:alc Sponsored by: The FreeBSD Foundation (kib) MFC after:1 week Modified: head/share/man/man9/atomic.9 Modified: head/share/man/man9/atomic.9 == --- head/share/man/man9/atomic.9Fri Dec 22 17:19:08 2017 (r327087) +++ head/share/man/man9/atomic.9Fri Dec 22 17:52:38 2017 (r327088) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 19, 2017 +.Dd December 22, 2017 .Dt ATOMIC 9 .Os .Sh NAME @@ -175,8 +175,11 @@ and semantics. .Pp Atomic operations on memory have up to three variants. -The first variant performs the operation without imposing any ordering -constraints on memory accesses to other locations. +The first, or +.Em relaxed +variant, performs the operation without imposing any ordering constraints on +accesses to other memory locations. +This variant is the default. The second variant has acquire semantics, and the third variant has release semantics. .Pp @@ -546,43 +549,54 @@ The .Fn atomic_set , and .Fn atomic_subtract -operations were first introduced in +operations were introduced in .Fx 3.0 . -This first set only supported the types +Initially, these operations were defined on the types .Dq Li char , .Dq Li short , .Dq Li int , and .Dq Li long . +.Pp The .Fn atomic_cmpset , -.Fn atomic_load , +.Fn atomic_load_acq , .Fn atomic_readandclear , and -.Fn atomic_store +.Fn atomic_store_rel operations were added in .Fx 5.0 . -The types +Simultaneously, the acquire and release variants were introduced, and +support was added for operation on the types .Dq Li 8 , .Dq Li 16 , .Dq Li 32 , .Dq Li 64 , and -.Dq Li ptr -and all of the acquire and release variants -were added in -.Fx 5.0 -as well. +.Dq Li ptr . +.Pp The .Fn atomic_fetchadd -operations were added in +operation was added in .Fx 6.0 . +.Pp The .Fn atomic_swap and .Fn atomic_testandset operations were added in .Fx 10.0 . +.Pp +The .Fn atomic_testandclear -operation was added in +and +.Fn atomic_thread_fence +operations were added in .Fx 11.0 . +.Pp +The relaxed variants of +.Fn atomic_load +and +.Fn atomic_store +were added in +.Fx 12.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: r327089 - in head/sys: dev/drm2/i915 dev/drm2/radeon dev/ed dev/intpm dev/ioat dev/ntb/ntb_hw net
Author: imp Date: Fri Dec 22 17:53:27 2017 New Revision: 327089 URL: https://svnweb.freebsd.org/changeset/base/327089 Log: Use '#' rather than some made up name for fields we want to ignore. Modified: head/sys/dev/drm2/i915/i915_drv.c head/sys/dev/drm2/radeon/radeon_drv.c head/sys/dev/ed/if_ed_pci.c head/sys/dev/intpm/intpm.c head/sys/dev/ioat/ioat.c head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c head/sys/net/iflib.h Modified: head/sys/dev/drm2/i915/i915_drv.c == --- head/sys/dev/drm2/i915/i915_drv.c Fri Dec 22 17:52:38 2017 (r327088) +++ head/sys/dev/drm2/i915/i915_drv.c Fri Dec 22 17:53:27 2017 (r327089) @@ -1236,7 +1236,7 @@ MODULE_DEPEND(i915kms, agp, 1, 1, 1); MODULE_DEPEND(i915kms, iicbus, 1, 1, 1); MODULE_DEPEND(i915kms, iic, 1, 1, 1); MODULE_DEPEND(i915kms, iicbb, 1, 1, 1); -MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:human", vgapci, i915, pciidlist, +MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:#", vgapci, i915, pciidlist, sizeof(pciidlist[0]), nitems(pciidlist)); /* We give fast paths for the really cool registers */ Modified: head/sys/dev/drm2/radeon/radeon_drv.c == --- head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 17:52:38 2017 (r327088) +++ head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 17:53:27 2017 (r327089) @@ -401,5 +401,5 @@ MODULE_DEPEND(radeonkms, iicbus, 1, 1, 1); MODULE_DEPEND(radeonkms, iic, 1, 1, 1); MODULE_DEPEND(radeonkms, iicbb, 1, 1, 1); MODULE_DEPEND(radeonkms, firmware, 1, 1, 1); -MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:human", vgapci, radeonkms, +MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:@", vgapci, radeonkms, pciidlist, sizeof(pciidlist[0]), nitems(pciidlist)); Modified: head/sys/dev/ed/if_ed_pci.c == --- head/sys/dev/ed/if_ed_pci.c Fri Dec 22 17:52:38 2017(r327088) +++ head/sys/dev/ed/if_ed_pci.c Fri Dec 22 17:53:27 2017(r327089) @@ -145,6 +145,6 @@ static driver_t ed_pci_driver = { DRIVER_MODULE(ed, pci, ed_pci_driver, ed_devclass, 0, 0); MODULE_DEPEND(ed, pci, 1, 1, 1); MODULE_DEPEND(ed, ether, 1, 1, 1); -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ed, pci_ids, sizeof(pci_ids[0]), +MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ed, pci_ids, sizeof(pci_ids[0]), nitems(pci_ids) - 1); Modified: head/sys/dev/intpm/intpm.c == --- head/sys/dev/intpm/intpm.c Fri Dec 22 17:52:38 2017(r327088) +++ head/sys/dev/intpm/intpm.c Fri Dec 22 17:53:27 2017(r327089) @@ -895,5 +895,5 @@ DRIVER_MODULE_ORDERED(intsmb, pci, intsmb_driver, ints DRIVER_MODULE(smbus, intsmb, smbus_driver, smbus_devclass, 0, 0); MODULE_DEPEND(intsmb, smbus, SMBUS_MINVER, SMBUS_PREFVER, SMBUS_MAXVER); MODULE_VERSION(intsmb, 1); -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, intpm, intsmb_products, +MODULE_PNP_INFO("W32:vendor/device;D:#", pci, intpm, intsmb_products, sizeof(intsmb_products[0]), nitems(intsmb_products)); Modified: head/sys/dev/ioat/ioat.c == --- head/sys/dev/ioat/ioat.cFri Dec 22 17:52:38 2017(r327088) +++ head/sys/dev/ioat/ioat.cFri Dec 22 17:53:27 2017(r327089) @@ -240,7 +240,7 @@ static struct _pcsid { 0x20218086, "SKX IOAT" }, }; -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ioat, pci_ids, +MODULE_PNP_INFO("W32:vendor/device;D:#", pci, ioat, pci_ids, sizeof(pci_ids[0]), nitems(pci_ids)); /* Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c == --- head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Fri Dec 22 17:52:38 2017 (r327088) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Fri Dec 22 17:53:27 2017 (r327089) @@ -3119,5 +3119,5 @@ static DEFINE_CLASS_0(ntb_hw, ntb_intel_driver, ntb_in DRIVER_MODULE(ntb_hw_intel, pci, ntb_intel_driver, ntb_hw_devclass, NULL, NULL); MODULE_DEPEND(ntb_hw_intel, ntb, 1, 1, 1); MODULE_VERSION(ntb_hw_intel, 1); -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ntb_hw_intel, pci_ids, +MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ntb_hw_intel, pci_ids, sizeof(pci_ids[0]), nitems(pci_ids)); Modified: head/sys/net/iflib.h == --- head/sys/net/iflib.hFri Dec 22 17:52:38 2017(r327088) +++ head/sys/net/iflib.hFri Dec 22 17:53:27 2017(r327089) @@ -174,7 +174,7 @@ typedef struct pci_vendor_info { #define PVID_END {0, 0, 0, 0, 0, 0, NULL} #define IFLIB_PNP_DESCR "U32:vendor;U32:device;U32:subvendor;U32:subdevice;" \ -"U32:revision;U32:class;D:human" +"U32:revision;U32:class;D:#" #define
Re: svn commit: r327089 - in head/sys: dev/drm2/i915 dev/drm2/radeon dev/ed dev/intpm dev/ioat dev/ntb/ntb_hw net
On 12/22/17, Warner Losh wrote: > Author: imp > Date: Fri Dec 22 17:53:27 2017 > New Revision: 327089 > URL: https://svnweb.freebsd.org/changeset/base/327089 > > Log: > Use '#' rather than some made up name for fields we want to ignore. > > Modified: > head/sys/dev/drm2/i915/i915_drv.c > head/sys/dev/drm2/radeon/radeon_drv.c > head/sys/dev/ed/if_ed_pci.c > head/sys/dev/intpm/intpm.c > head/sys/dev/ioat/ioat.c > head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c > head/sys/net/iflib.h > > Modified: head/sys/dev/drm2/i915/i915_drv.c > == > --- head/sys/dev/drm2/i915/i915_drv.c Fri Dec 22 17:52:38 2017 > (r327088) > +++ head/sys/dev/drm2/i915/i915_drv.c Fri Dec 22 17:53:27 2017 > (r327089) > @@ -1236,7 +1236,7 @@ MODULE_DEPEND(i915kms, agp, 1, 1, 1); > MODULE_DEPEND(i915kms, iicbus, 1, 1, 1); > MODULE_DEPEND(i915kms, iic, 1, 1, 1); > MODULE_DEPEND(i915kms, iicbb, 1, 1, 1); > -MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:human", vgapci, i915, > pciidlist, > +MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:#", vgapci, i915, pciidlist, > sizeof(pciidlist[0]), nitems(pciidlist)); > > /* We give fast paths for the really cool registers */ > > Modified: head/sys/dev/drm2/radeon/radeon_drv.c > == > --- head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 17:52:38 > 2017 (r327088) > +++ head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 17:53:27 > 2017 (r327089) > @@ -401,5 +401,5 @@ MODULE_DEPEND(radeonkms, iicbus, 1, 1, 1); > MODULE_DEPEND(radeonkms, iic, 1, 1, 1); > MODULE_DEPEND(radeonkms, iicbb, 1, 1, 1); > MODULE_DEPEND(radeonkms, firmware, 1, 1, 1); > -MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:human", vgapci, radeonkms, > +MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:@", vgapci, radeonkms, @ vs # > pciidlist, sizeof(pciidlist[0]), nitems(pciidlist)); > > Modified: head/sys/dev/ed/if_ed_pci.c > == > --- head/sys/dev/ed/if_ed_pci.c Fri Dec 22 17:52:38 2017 > (r327088) > +++ head/sys/dev/ed/if_ed_pci.c Fri Dec 22 17:53:27 2017 > (r327089) > @@ -145,6 +145,6 @@ static driver_t ed_pci_driver = { > DRIVER_MODULE(ed, pci, ed_pci_driver, ed_devclass, 0, 0); > MODULE_DEPEND(ed, pci, 1, 1, 1); > MODULE_DEPEND(ed, ether, 1, 1, 1); > -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ed, pci_ids, > sizeof(pci_ids[0]), > +MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ed, pci_ids, @ vs # > sizeof(pci_ids[0]), > nitems(pci_ids) - 1); > > > Modified: head/sys/dev/intpm/intpm.c > == > --- head/sys/dev/intpm/intpm.cFri Dec 22 17:52:38 2017 > (r327088) > +++ head/sys/dev/intpm/intpm.cFri Dec 22 17:53:27 2017 > (r327089) > @@ -895,5 +895,5 @@ DRIVER_MODULE_ORDERED(intsmb, pci, intsmb_driver, ints > DRIVER_MODULE(smbus, intsmb, smbus_driver, smbus_devclass, 0, 0); > MODULE_DEPEND(intsmb, smbus, SMBUS_MINVER, SMBUS_PREFVER, SMBUS_MAXVER); > MODULE_VERSION(intsmb, 1); > -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, intpm, intsmb_products, > +MODULE_PNP_INFO("W32:vendor/device;D:#", pci, intpm, intsmb_products, > sizeof(intsmb_products[0]), nitems(intsmb_products)); > > Modified: head/sys/dev/ioat/ioat.c > == > --- head/sys/dev/ioat/ioat.c Fri Dec 22 17:52:38 2017(r327088) > +++ head/sys/dev/ioat/ioat.c Fri Dec 22 17:53:27 2017(r327089) > @@ -240,7 +240,7 @@ static struct _pcsid > { 0x20218086, "SKX IOAT" }, > }; > > -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ioat, pci_ids, > +MODULE_PNP_INFO("W32:vendor/device;D:#", pci, ioat, pci_ids, > sizeof(pci_ids[0]), nitems(pci_ids)); > > /* > > Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c > == > --- head/sys/dev/ntb/ntb_hw/ntb_hw_intel.cFri Dec 22 17:52:38 > 2017 (r327088) > +++ head/sys/dev/ntb/ntb_hw/ntb_hw_intel.cFri Dec 22 17:53:27 > 2017 (r327089) > @@ -3119,5 +3119,5 @@ static DEFINE_CLASS_0(ntb_hw, ntb_intel_driver, > ntb_in > DRIVER_MODULE(ntb_hw_intel, pci, ntb_intel_driver, ntb_hw_devclass, NULL, > NULL); > MODULE_DEPEND(ntb_hw_intel, ntb, 1, 1, 1); > MODULE_VERSION(ntb_hw_intel, 1); > -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ntb_hw_intel, pci_ids, > +MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ntb_hw_intel, pci_ids, @ vs # > sizeof(pci_ids[0]), nitems(pci_ids)); > > Modified: head/sys/net/iflib.h > == > --- head/sys/net/iflib.h Fri Dec 22 17:52:38 2017(r327088) > +++ head/sys/net/iflib.h Fri Dec 22 17:53:27 2017(r327089) > @@ -174,7 +1
Re: svn commit: r327013 - head/sys/net
Oleg Bulyzhin wrote: On Wed, Dec 20, 2017 at 01:03:34AM +, 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 0xfde8-0xfdef,0xfde7c000-0xfde7 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 10 ] Stopped at kdb_enter+0x3b: movq$0,kdb_why db> bt Tracing pid 0 tid 10 td 0x80bf63c0 kdb_enter() at kdb_enter+0x3b/frame 0x81004130 vpanic() at vpanic+0x1b9/frame 0x810041b0 kassert_panic() at kassert_panic+0x173/frame 0x81004220 iflib_irq_set_affinity() at iflib_irq_set_affinity+0xae2/frame 0x810042e0 iflib_irq_alloc_generic() at iflib_irq_alloc_generic+0x1f7/frame 0x81004350 ixgbe_if_msix_intr_assign() at ixgbe_if_msix_intr_assign+0xa2/frame 0x810043d0 iflib_device_register() at iflib_device_register+0x2a6a/frame 0x810046f0 iflib_device_attach() at iflib_device_attach+0xb7/frame 0x81004720 device_attach() at device_attach+0x3f7/frame 0x81004770 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004790 pci_attach() at pci_attach+0xd5/frame 0x810047d0 device_attach() at device_attach+0x3f7/frame 0x81004820 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004840 acpi_pcib_pci_attach() at acpi_pcib_pci_attach+0xa1/frame 0x81004880 device_attach() at device_attach+0x3f7/frame 0x810048d0 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x810048f0 pci_attach() at pci_attach+0xd5/frame 0x81004930 device_attach() at device_attach+0x3f7/frame 0x81004980 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x810049a0 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x3bc/frame 0x81004a10 device_attach() at device_attach+0x3f7/frame 0x81004a60 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004a80 acpi_attach() at acpi_attach+0xe85/frame 0x81004b30 device_attach() at device_attach+0x3f7/frame 0x81004b80 bus_generic_attach() at bus_generic_attach+0x5a/frame 0x81004ba0 nexus_acpi_attach() at nexus_acpi_attach+0x73/frame 0x81004bd0 device_attach() at device_attach+0x3f7/frame 0x81004c20 bus_generic_new_pass() at bus_generic_new_pass+0x116/frame 0x81004c50 bus_set_pass() at bus_set_pass+0x8c/frame 0x81004c80 configure() at configure+0x9/frame 0x81004c90 mi_startup() at mi_startup+0x9c/frame 0x81004cb0 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. ___ 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: r327093 - head/sys/dev/cxgbe
Author: np Date: Fri Dec 22 19:10:19 2017 New Revision: 327093 URL: https://svnweb.freebsd.org/changeset/base/327093 Log: cxgbe(4): Do not forward interrupts to queues with freelists. This leaves the firmware event queue (fwq) as the only queue that can take interrupts for others. This simplifies cfg_itype_and_nqueues and queue allocation in the driver at the cost of a little (never?) used configuration. It also allows service_iq to be split into two specialized variants in the future. MFC after:2 months Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/t4_main.c head/sys/dev/cxgbe/t4_netmap.c head/sys/dev/cxgbe/t4_sge.c head/sys/dev/cxgbe/t4_vf.c Modified: head/sys/dev/cxgbe/adapter.h == --- head/sys/dev/cxgbe/adapter.hFri Dec 22 19:10:19 2017 (r327092) +++ head/sys/dev/cxgbe/adapter.hFri Dec 22 19:10:19 2017 (r327093) @@ -169,9 +169,6 @@ enum { DOOMED = (1 << 0), VI_INIT_DONE= (1 << 1), VI_SYSCTL_CTX = (1 << 2), - INTR_RXQ= (1 << 4), /* All NIC rxq's take interrupts */ - INTR_OFLD_RXQ = (1 << 5), /* All TOE rxq's take interrupts */ - INTR_ALL= (INTR_RXQ | INTR_OFLD_RXQ), /* adapter debug_flags */ DF_DUMP_MBOX= (1 << 0), /* Log all mbox cmd/rpl. */ @@ -349,7 +346,7 @@ enum { /* iq flags */ IQ_ALLOCATED= (1 << 0), /* firmware resources allocated */ IQ_HAS_FL = (1 << 1), /* iq associated with a freelist */ - IQ_INTR = (1 << 2), /* iq takes direct interrupt */ + /* 1 << 2 Used to be IQ_INTR */ IQ_LRO_ENABLED = (1 << 3), /* iq is an eth rxq with LRO enabled */ IQ_ADJ_CREDIT = (1 << 4), /* hw is off by 1 credit for this iq */ @@ -955,6 +952,13 @@ struct adapter { /* One for firmware events */ #define T4VF_EXTRA_INTR 1 + +static inline int +forwarding_intr_to_fwq(struct adapter *sc) +{ + + return (sc->intr_count == 1); +} static inline uint32_t t4_read_reg(struct adapter *sc, uint32_t reg) Modified: head/sys/dev/cxgbe/t4_main.c == --- head/sys/dev/cxgbe/t4_main.cFri Dec 22 19:10:19 2017 (r327092) +++ head/sys/dev/cxgbe/t4_main.cFri Dec 22 19:10:19 2017 (r327093) @@ -470,7 +470,6 @@ struct intrs_and_queues { uint16_t intr_type; /* INTx, MSI, or MSI-X */ uint16_t num_vis; /* number of VIs for each port */ uint16_t nirq; /* Total # of vectors */ - uint16_t intr_flags;/* Interrupt flags for each port */ uint16_t ntxq; /* # of NIC txq's for each port */ uint16_t nrxq; /* # of NIC rxq's for each port */ uint16_t nofldtxq; /* # of TOE txq's for each port */ @@ -1118,7 +1117,6 @@ t4_attach(device_t dev) vi->first_txq = tqidx; vi->tmr_idx = t4_tmr_idx; vi->pktc_idx = t4_pktc_idx; - vi->flags |= iaq.intr_flags & INTR_RXQ; vi->nrxq = j == 0 ? iaq.nrxq : iaq.nrxq_vi; vi->ntxq = j == 0 ? iaq.ntxq : iaq.ntxq_vi; @@ -1135,7 +1133,6 @@ t4_attach(device_t dev) vi->ofld_pktc_idx = t4_pktc_idx_ofld; vi->first_ofld_rxq = ofld_rqidx; vi->first_ofld_txq = ofld_tqidx; - vi->flags |= iaq.intr_flags & INTR_OFLD_RXQ; vi->nofldrxq = j == 0 ? iaq.nofldrxq : iaq.nofldrxq_vi; vi->nofldtxq = j == 0 ? iaq.nofldtxq : iaq.nofldtxq_vi; @@ -2648,26 +2645,43 @@ fixup_devlog_params(struct adapter *sc) return (rc); } -static int -cfg_itype_and_nqueues(struct adapter *sc, struct intrs_and_queues *iaq) +static void +update_nirq(struct intrs_and_queues *iaq, int nports) { - int rc, itype, navail, nrxq, nports, n; - int nofldrxq = 0; + int extra = T4_EXTRA_INTR; - nports = sc->params.nports; + iaq->nirq = extra; + iaq->nirq += nports * (iaq->nrxq + iaq->nofldrxq); + iaq->nirq += nports * (iaq->num_vis - 1) * + max(iaq->nrxq_vi, iaq->nnmrxq_vi); + iaq->nirq += nports * (iaq->num_vis - 1) * iaq->nofldrxq_vi; +} + +/* + * Adjust requirements to fit the number of interrupts available. + */ +static void +calculate_iaq(struct adapter *sc, struct intrs_and_queues *iaq, int itype, +int navail) +{ + int old_nirq; + const int nports = sc->params.nports; + MPASS(nports > 0); + MPASS(navail > 0); bzero(iaq, sizeof(*iaq)); + iaq->intr_type = itype; iaq->num_vis = t4_num_vis; iaq->ntxq = t4_ntxq;
svn commit: r327094 - in head/sys/dev: ahci usb/controller
Author: mav Date: Fri Dec 22 20:44:21 2017 New Revision: 327094 URL: https://svnweb.freebsd.org/changeset/base/327094 Log: Add AHCI/XHCI device IDs found on AMD Ryzen+B350 system. MFC after:2 weeks Modified: head/sys/dev/ahci/ahci_pci.c head/sys/dev/usb/controller/xhci_pci.c Modified: head/sys/dev/ahci/ahci_pci.c == --- head/sys/dev/ahci/ahci_pci.cFri Dec 22 19:10:19 2017 (r327093) +++ head/sys/dev/ahci/ahci_pci.cFri Dec 22 20:44:21 2017 (r327094) @@ -68,6 +68,7 @@ static const struct { AHCI_Q_ATI_PMP_BUG | AHCI_Q_1MSI}, /* Not sure SB8x0/SB9x0 needs this quirk. Be conservative though */ {0x43951002, 0x00, "AMD SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, + {0x43b71022, 0x00, "AMD 300 Series",0}, {0x78001022, 0x00, "AMD Hudson-2", 0}, {0x78011022, 0x00, "AMD Hudson-2", 0}, {0x78021022, 0x00, "AMD Hudson-2", 0}, Modified: head/sys/dev/usb/controller/xhci_pci.c == --- head/sys/dev/usb/controller/xhci_pci.c Fri Dec 22 19:10:19 2017 (r327093) +++ head/sys/dev/usb/controller/xhci_pci.c Fri Dec 22 20:44:21 2017 (r327094) @@ -97,6 +97,10 @@ xhci_pci_match(device_t self) uint32_t device_id = pci_get_devid(self); switch (device_id) { + case 0x145c1022: + return ("AMD KERNCZ USB 3.0 controller"); + case 0x43bb1022: + return ("AMD 300 Series USB 3.0 controller"); case 0x78141022: return ("AMD FCH USB 3.0 controller"); ___ 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: r327095 - in head/sys/dev: drm2/radeon ed ntb/ntb_hw
Author: imp Date: Fri Dec 22 20:48:49 2017 New Revision: 327095 URL: https://svnweb.freebsd.org/changeset/base/327095 Log: Fix typos from last commit, these should have been #. Modified: head/sys/dev/drm2/radeon/radeon_drv.c head/sys/dev/ed/if_ed_pci.c head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Modified: head/sys/dev/drm2/radeon/radeon_drv.c == --- head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 20:44:21 2017 (r327094) +++ head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 20:48:49 2017 (r327095) @@ -401,5 +401,5 @@ MODULE_DEPEND(radeonkms, iicbus, 1, 1, 1); MODULE_DEPEND(radeonkms, iic, 1, 1, 1); MODULE_DEPEND(radeonkms, iicbb, 1, 1, 1); MODULE_DEPEND(radeonkms, firmware, 1, 1, 1); -MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:@", vgapci, radeonkms, +MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:#", vgapci, radeonkms, pciidlist, sizeof(pciidlist[0]), nitems(pciidlist)); Modified: head/sys/dev/ed/if_ed_pci.c == --- head/sys/dev/ed/if_ed_pci.c Fri Dec 22 20:44:21 2017(r327094) +++ head/sys/dev/ed/if_ed_pci.c Fri Dec 22 20:48:49 2017(r327095) @@ -145,6 +145,6 @@ static driver_t ed_pci_driver = { DRIVER_MODULE(ed, pci, ed_pci_driver, ed_devclass, 0, 0); MODULE_DEPEND(ed, pci, 1, 1, 1); MODULE_DEPEND(ed, ether, 1, 1, 1); -MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ed, pci_ids, sizeof(pci_ids[0]), +MODULE_PNP_INFO("W32:vendor/device;D:#", pci, ed, pci_ids, sizeof(pci_ids[0]), nitems(pci_ids) - 1); Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c == --- head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Fri Dec 22 20:44:21 2017 (r327094) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Fri Dec 22 20:48:49 2017 (r327095) @@ -3119,5 +3119,5 @@ static DEFINE_CLASS_0(ntb_hw, ntb_intel_driver, ntb_in DRIVER_MODULE(ntb_hw_intel, pci, ntb_intel_driver, ntb_hw_devclass, NULL, NULL); MODULE_DEPEND(ntb_hw_intel, ntb, 1, 1, 1); MODULE_VERSION(ntb_hw_intel, 1); -MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ntb_hw_intel, pci_ids, +MODULE_PNP_INFO("W32:vendor/device;D:#", pci, ntb_hw_intel, pci_ids, sizeof(pci_ids[0]), nitems(pci_ids)); ___ 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: r327096 - head/share/misc
Author: sevan (doc committer) Date: Fri Dec 22 21:54:39 2017 New Revision: 327096 URL: https://svnweb.freebsd.org/changeset/base/327096 Log: Drop the NetBSD rcs tag introduced in r326868. Approved by:bcr (mentor) Differential Revision: https://reviews.freebsd.org/D13511 Modified: head/share/misc/bsd-family-tree Modified: head/share/misc/bsd-family-tree == --- head/share/misc/bsd-family-tree Fri Dec 22 20:48:49 2017 (r327095) +++ head/share/misc/bsd-family-tree Fri Dec 22 21:54:39 2017 (r327096) @@ -794,4 +794,3 @@ Copyright (c) 1997-2012 Wolfram Schneider http://svnweb.freebsd.org/base/head/share/misc/bsd-family-tree $FreeBSD$ -$NetBSD: bsd-family-tree,v 1.62 2017/12/14 10:34:06 maya Exp $ ___ 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: r327089 - in head/sys: dev/drm2/i915 dev/drm2/radeon dev/ed dev/intpm dev/ioat dev/ntb/ntb_hw net
On Friday, December 22, 2017 05:53:28 PM Warner Losh wrote: > Author: imp > Date: Fri Dec 22 17:53:27 2017 > New Revision: 327089 > URL: https://svnweb.freebsd.org/changeset/base/327089 > > Log: > Use '#' rather than some made up name for fields we want to ignore. Some of these used '@' rather than '#'? > Modified: head/sys/dev/drm2/radeon/radeon_drv.c > == > --- head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 17:52:38 2017 > (r327088) > +++ head/sys/dev/drm2/radeon/radeon_drv.c Fri Dec 22 17:53:27 2017 > (r327089) > @@ -401,5 +401,5 @@ MODULE_DEPEND(radeonkms, iicbus, 1, 1, 1); > -MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:human", vgapci, radeonkms, > +MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:@", vgapci, radeonkms, > pciidlist, sizeof(pciidlist[0]), nitems(pciidlist)); > > Modified: head/sys/dev/ed/if_ed_pci.c > == > --- head/sys/dev/ed/if_ed_pci.c Fri Dec 22 17:52:38 2017 > (r327088) > +++ head/sys/dev/ed/if_ed_pci.c Fri Dec 22 17:53:27 2017 > (r327089) > @@ -145,6 +145,6 @@ static driver_t ed_pci_driver = { > -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ed, pci_ids, > sizeof(pci_ids[0]), > +MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ed, pci_ids, > sizeof(pci_ids[0]), > nitems(pci_ids) - 1); > > > Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c > == > --- head/sys/dev/ntb/ntb_hw/ntb_hw_intel.cFri Dec 22 17:52:38 2017 > (r327088) > +++ head/sys/dev/ntb/ntb_hw/ntb_hw_intel.cFri Dec 22 17:53:27 2017 > (r327089) > @@ -3119,5 +3119,5 @@ static DEFINE_CLASS_0(ntb_hw, ntb_intel_driver, ntb_in > -MODULE_PNP_INFO("W32:vendor/device;D:human", pci, ntb_hw_intel, pci_ids, > +MODULE_PNP_INFO("W32:vendor/device;D:@", pci, ntb_hw_intel, pci_ids, > sizeof(pci_ids[0]), nitems(pci_ids)); -- 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: r327013 - head/sys/net
On Fri, Dec 22, 2017 at 01:22:20PM -0500, Stephen Hurd wrote: > Can you provide me with the output of ``sysctl kern.sched.topology_spec''? # sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3 0 1 2 3 > And provide the new dmesg with this added output. ix0: port 0xcc00-0xcc1f mem 0xfde8-0xfdef,0xfde7c000-0xfde7 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 ix0: irq=259, type=0, qid=0, name=rxq0 panic: Assertion gtask->gt_taskqueue != NULL failed at /usr/src/sys/net/iflib.c:5178 cpuid = 0 time = 1 KDB: enter: panic -- Oleg. === Oleg Bulyzhin -- OBUL-RIPN -- OBUL-RIPE -- o...@rinet.ru === ___ 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: r327097 - in head/sys/mips: include mips
Author: kib Date: Fri Dec 22 23:27:03 2017 New Revision: 327097 URL: https://svnweb.freebsd.org/changeset/base/327097 Log: Remove mips MD atomic_load_64 and atomic_store_64. The only users of the functions were db_read_bytes() and db_write_bytes() ddb(4) interfaces. Replace the calls with direct reads and writes, which are automatically atomic on 64bits and n32. Note that removed assembler implementation for mips32 is not atomic anyway. Reviewed by: jhb Discussed with: imp Sponsored by: The FreeBSD Foundation MFC after:1 week Differential revision:https://reviews.freebsd.org/D13586 Modified: head/sys/mips/include/atomic.h head/sys/mips/mips/db_interface.c head/sys/mips/mips/support.S Modified: head/sys/mips/include/atomic.h == --- head/sys/mips/include/atomic.h Fri Dec 22 21:54:39 2017 (r327096) +++ head/sys/mips/include/atomic.h Fri Dec 22 23:27:03 2017 (r327097) @@ -341,24 +341,6 @@ atomic_store_rel_##WIDTH(__volatile uint##WIDTH##_t *p ATOMIC_STORE_LOAD(32) ATOMIC_STORE_LOAD(64) -#if !defined(__mips_n64) && !defined(__mips_n32) -void atomic_store_64(__volatile uint64_t *, uint64_t); -uint64_t atomic_load_64(__volatile uint64_t *); -#elif defined (__mips_n32) -static __inline void -atomic_store_64(__volatile uint64_t *p, uint64_t v) -{ - *p = v; -} - -static __inline uint64_t -atomic_load_64(__volatile uint64_t *p) -{ - return (*p); -} -/* #else atomic_common.h definitions of atomic_load/store_64 are used */ -#endif - #undef ATOMIC_STORE_LOAD /* Modified: head/sys/mips/mips/db_interface.c == --- head/sys/mips/mips/db_interface.c Fri Dec 22 21:54:39 2017 (r327096) +++ head/sys/mips/mips/db_interface.c Fri Dec 22 23:27:03 2017 (r327097) @@ -152,6 +152,7 @@ db_read_bytes(vm_offset_t addr, size_t size, char *dat /* * 'addr' could be a memory-mapped I/O address. Try to * do atomic load/store in unit of size requested. +* size == 8 is only atomic on 64bit or n32 kernel. */ if ((size == 2 || size == 4 || size == 8) && ((addr & (size -1)) == 0) && @@ -164,8 +165,7 @@ db_read_bytes(vm_offset_t addr, size_t size, char *dat *(uint32_t *)data = *(uint32_t *)addr; break; case 8: - *(uint64_t *)data = atomic_load_64( - (void *)addr); + *(uint64_t *)data = *(uint64_t *)addr; break; } } else { @@ -195,6 +195,7 @@ db_write_bytes(vm_offset_t addr, size_t size, char *da /* * 'addr' could be a memory-mapped I/O address. Try to * do atomic load/store in unit of size requested. +* size == 8 is only atomic on 64bit or n32 kernel. */ if ((size == 2 || size == 4 || size == 8) && ((addr & (size -1)) == 0) && @@ -207,8 +208,7 @@ db_write_bytes(vm_offset_t addr, size_t size, char *da *(uint32_t *)addr = *(uint32_t *)data; break; case 8: - atomic_store_64((uint64_t *)addr, - *(uint64_t *)data); + *(uint64_t *)addr = *(uint64_t *)data; break; } } else { Modified: head/sys/mips/mips/support.S == --- head/sys/mips/mips/support.SFri Dec 22 21:54:39 2017 (r327096) +++ head/sys/mips/mips/support.SFri Dec 22 23:27:03 2017 (r327097) @@ -839,74 +839,7 @@ LEAF(atomic_subtract_8) nop END(atomic_subtract_8) -/* - * atomic 64-bit register read/write assembly language support routines. - */ - .setnoreorder # Noreorder is default style! - -#if !defined(__mips_n64) && !defined(__mips_n32) - /* -* I don't know if these routines have the right number of -* NOPs in it for all processors. XXX -* -* Maybe it would be better to just leave this undefined in that case. -* -* XXX These routines are not safe in the case of a TLB miss on a1 or -* a0 unless the trapframe is 64-bit, which it just isn't with O32. -* If we take any exception, not just an interrupt, the upper -* 32-bits will be clobbered. Use only N32 and N64 kernels if you -* want to use 64-bit registers while interrupts are enabled
Re: svn commit: r327013 - head/sys/net
Oleg Bulyzhin wrote: On Fri, Dec 22, 2017 at 01:22:20PM -0500, Stephen Hurd wrote: Can you provide me with the output of ``sysctl kern.sched.topology_spec''? # sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3 0 1 2 3 And provide the new dmesg with this added output. ix0: port 0xcc00-0xcc1f mem 0xfde8-0xfdef,0xfde7c000-0xfde7 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 ix0: irq=259, type=0, qid=0, name=rxq0 panic: Assertion gtask->gt_taskqueue != NULL failed at /usr/src/sys/net/iflib.c:5178 cpuid = 0 time = 1 KDB: enter: panic Interesting... is this a standard GENERIC kernel, or is this a custom config? If a custom config, can you send it to me? Also, does this system have any other iflib drivers? igb, em, or bnxt? Can you include the log info (if any) for them as well? ___ 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: r327098 - head/sys/net
Author: imp Date: Sat Dec 23 04:50:52 2017 New Revision: 327098 URL: https://svnweb.freebsd.org/changeset/base/327098 Log: The device tables end with a sentinel in iflib. Don't include the sentinel in the output. Modified: head/sys/net/iflib.h Modified: head/sys/net/iflib.h == --- head/sys/net/iflib.hFri Dec 22 23:27:03 2017(r327097) +++ head/sys/net/iflib.hSat Dec 23 04:50:52 2017(r327098) @@ -176,7 +176,7 @@ typedef struct pci_vendor_info { #define IFLIB_PNP_DESCR "U32:vendor;U32:device;U32:subvendor;U32:subdevice;" \ "U32:revision;U32:class;D:#" #define IFLIB_PNP_INFO(b, u, t) \ -MODULE_PNP_INFO(IFLIB_PNP_DESCR, b, u, t, sizeof(t[0]), nitems(t)) +MODULE_PNP_INFO(IFLIB_PNP_DESCR, b, u, t, sizeof(t[0]), nitems(t) - 1) typedef struct if_txrx { int (*ift_txd_encap) (void *, if_pkt_info_t); ___ 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: r327099 - head/lib/libc/stdio
Author: eadler Date: Sat Dec 23 05:13:39 2017 New Revision: 327099 URL: https://svnweb.freebsd.org/changeset/base/327099 Log: fopen.1: document truncation This documentation truncation similar to POSIX and glibc. PR: 202545 Reported by: int...@intron.ac Modified: head/lib/libc/stdio/fopen.3 Modified: head/lib/libc/stdio/fopen.3 == --- head/lib/libc/stdio/fopen.3 Sat Dec 23 04:50:52 2017(r327098) +++ head/lib/libc/stdio/fopen.3 Sat Dec 23 05:13:39 2017(r327099) @@ -72,7 +72,7 @@ Fail if the file does not exist. .It Dq Li w Open for writing. The stream is positioned at the beginning of the file. -Create the file if it does not exist. +Truncate the file to zero length if it exists or create the file if it does not exist. .It Dq Li a Open for writing. The stream is positioned at the end of the file. ___ 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: r327100 - in head/sys/dev/drm2: i915 radeon
Author: imp Date: Sat Dec 23 05:32:20 2017 New Revision: 327100 URL: https://svnweb.freebsd.org/changeset/base/327100 Log: These drivers have a sentinel at the end of the device list. Exclude it. Modified: head/sys/dev/drm2/i915/i915_drv.c head/sys/dev/drm2/radeon/radeon_drv.c Modified: head/sys/dev/drm2/i915/i915_drv.c == --- head/sys/dev/drm2/i915/i915_drv.c Sat Dec 23 05:13:39 2017 (r327099) +++ head/sys/dev/drm2/i915/i915_drv.c Sat Dec 23 05:32:20 2017 (r327100) @@ -1237,7 +1237,7 @@ MODULE_DEPEND(i915kms, iicbus, 1, 1, 1); MODULE_DEPEND(i915kms, iic, 1, 1, 1); MODULE_DEPEND(i915kms, iicbb, 1, 1, 1); MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:#", vgapci, i915, pciidlist, -sizeof(pciidlist[0]), nitems(pciidlist)); +sizeof(pciidlist[0]), nitems(pciidlist) - 1); /* We give fast paths for the really cool registers */ #define NEEDS_FORCE_WAKE(dev_priv, reg) \ Modified: head/sys/dev/drm2/radeon/radeon_drv.c == --- head/sys/dev/drm2/radeon/radeon_drv.c Sat Dec 23 05:13:39 2017 (r327099) +++ head/sys/dev/drm2/radeon/radeon_drv.c Sat Dec 23 05:32:20 2017 (r327100) @@ -402,4 +402,4 @@ MODULE_DEPEND(radeonkms, iic, 1, 1, 1); MODULE_DEPEND(radeonkms, iicbb, 1, 1, 1); MODULE_DEPEND(radeonkms, firmware, 1, 1, 1); MODULE_PNP_INFO("U32:vendor;U32:device;P:#;D:#", vgapci, radeonkms, -pciidlist, sizeof(pciidlist[0]), nitems(pciidlist)); +pciidlist, sizeof(pciidlist[0]), nitems(pciidlist) - 1); ___ 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: r327101 - head/sys/dev/pccard
Author: imp Date: Sat Dec 23 06:11:19 2017 New Revision: 327101 URL: https://svnweb.freebsd.org/changeset/base/327101 Log: Expand cryptic comment with inforation I've learned in the mean time about CIS3/CIS4, including studies I've done on my large collection of PC Cards bought off e-bay over the years since the original entry as well as conversations I've had at conferences. Modified: head/sys/dev/pccard/pccardvar.h Modified: head/sys/dev/pccard/pccardvar.h == --- head/sys/dev/pccard/pccardvar.h Sat Dec 23 05:32:20 2017 (r327100) +++ head/sys/dev/pccard/pccardvar.h Sat Dec 23 06:11:19 2017 (r327101) @@ -88,10 +88,18 @@ struct pccard_product { }; /** - * Note: There's no cis3 or cis4 reported for NOMATCH / pnpinfo events for pccard - * It's unclear if we actually need that for automatic loading or not. These stirngs - * are informative, according to the standard, but I have a dim memory of using these - * strings to match things, though I can't find the example right now. + * Note: There's no cis3 or cis4 reported for NOMATCH / pnpinfo events for + * pccard It's unclear if we actually need that for automatic loading or + * not. These stirngs are informative, according to the standard. Some Linux + * drivers match on them, for example. However, FreeBSD's hardware probing is a + * little different than Linux so it turns out we don't need them. Some cards + * use CIS3 or CIS4 for a textual representation of the MAC address. In short, + * they aren't needed even though our friends in Linux have them. It is my + * belief that all the entries in Linux don't actually need to be separate there + * either, but it's hard to eliminate them and retest on old, possibly rare, + * hardware so they persist. Despite years of collecting ~300 different PC Cards + * off E-Bay, I've not been able to find any that need CIS3/CIS4 to select which + * device attaches. */ #define PCCARD_PNP_DESCR "D:#;V32:manufacturer;V32:product;Z:cisvendor;Z:cisproduct;" #define PCCARD_PNP_INFO(t) \ ___ 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: r327102 - in head/sys: dev/aha dev/aic dev/an dev/atkbdc dev/cs dev/ed dev/ep dev/ex dev/fdc dev/fe dev/joy dev/le dev/mse dev/pccard dev/pccbb dev/ppc dev/sbni dev/sio dev/uart isa
Author: imp Date: Sat Dec 23 06:49:27 2017 New Revision: 327102 URL: https://svnweb.freebsd.org/changeset/base/327102 Log: Create a new ISA_PNP_INFO macro. Use this macro every where we have ISA PNP card support (replace by hand version in if_ed). Move module declarations to the end of some files. Fix PCCARD_PNP_INFO to use nitems(). Remove some stale comments about pc98, turns out the comment was simply wrong. Modified: head/sys/dev/aha/aha_isa.c head/sys/dev/aic/aic_isa.c head/sys/dev/an/if_an_isa.c head/sys/dev/atkbdc/atkbdc_isa.c head/sys/dev/cs/if_cs_isa.c head/sys/dev/ed/if_ed_isa.c head/sys/dev/ep/if_ep_isa.c head/sys/dev/ex/if_ex_isa.c head/sys/dev/fdc/fdc_isa.c head/sys/dev/fe/if_fe_isa.c head/sys/dev/joy/joy_isa.c head/sys/dev/le/if_le_isa.c head/sys/dev/mse/mse_isa.c head/sys/dev/pccard/pccardvar.h head/sys/dev/pccbb/pccbb_isa.c head/sys/dev/ppc/ppc_isa.c head/sys/dev/sbni/if_sbni_isa.c head/sys/dev/sio/sio_isa.c head/sys/dev/uart/uart_bus_isa.c head/sys/isa/isavar.h Modified: head/sys/dev/aha/aha_isa.c == --- head/sys/dev/aha/aha_isa.c Sat Dec 23 06:11:19 2017(r327101) +++ head/sys/dev/aha/aha_isa.c Sat Dec 23 06:49:27 2017(r327102) @@ -362,3 +362,4 @@ static devclass_t aha_devclass; DRIVER_MODULE(aha, isa, aha_isa_driver, aha_devclass, 0, 0); MODULE_DEPEND(aha, isa, 1, 1, 1); +ISA_PNP_INFO(aha_ids); Modified: head/sys/dev/aic/aic_isa.c == --- head/sys/dev/aic/aic_isa.c Sat Dec 23 06:11:19 2017(r327101) +++ head/sys/dev/aic/aic_isa.c Sat Dec 23 06:49:27 2017(r327102) @@ -242,3 +242,4 @@ extern devclass_t aic_devclass; MODULE_DEPEND(aic, cam, 1,1,1); DRIVER_MODULE(aic, isa, aic_isa_driver, aic_devclass, 0, 0); +ISA_PNP_INFO(aic_ids); Modified: head/sys/dev/an/if_an_isa.c == --- head/sys/dev/an/if_an_isa.c Sat Dec 23 06:11:19 2017(r327101) +++ head/sys/dev/an/if_an_isa.c Sat Dec 23 06:49:27 2017(r327102) @@ -150,3 +150,4 @@ static devclass_t an_isa_devclass; DRIVER_MODULE(an, isa, an_isa_driver, an_isa_devclass, 0, 0); MODULE_DEPEND(an, isa, 1, 1, 1); MODULE_DEPEND(an, wlan, 1, 1, 1); +ISA_PNP_INFO(an_ids); Modified: head/sys/dev/atkbdc/atkbdc_isa.c == --- head/sys/dev/atkbdc/atkbdc_isa.cSat Dec 23 06:11:19 2017 (r327101) +++ head/sys/dev/atkbdc/atkbdc_isa.cSat Dec 23 06:49:27 2017 (r327102) @@ -322,3 +322,4 @@ atkbdc_isa_release_resource(device_t dev, device_t chi DRIVER_MODULE(atkbdc, isa, atkbdc_isa_driver, atkbdc_devclass, 0, 0); DRIVER_MODULE(atkbdc, acpi, atkbdc_isa_driver, atkbdc_devclass, 0, 0); +ISA_PNP_INFO(atkbdc_ids); Modified: head/sys/dev/cs/if_cs_isa.c == --- head/sys/dev/cs/if_cs_isa.c Sat Dec 23 06:11:19 2017(r327101) +++ head/sys/dev/cs/if_cs_isa.c Sat Dec 23 06:49:27 2017(r327102) @@ -120,3 +120,4 @@ extern devclass_t cs_devclass; DRIVER_MODULE(cs, isa, cs_isa_driver, cs_devclass, 0, 0); MODULE_DEPEND(cs, isa, 1, 1, 1); MODULE_DEPEND(cs, ether, 1, 1, 1); +ISA_PNP_INFO(cs_ids); Modified: head/sys/dev/ed/if_ed_isa.c == --- head/sys/dev/ed/if_ed_isa.c Sat Dec 23 06:11:19 2017(r327101) +++ head/sys/dev/ed/if_ed_isa.c Sat Dec 23 06:49:27 2017(r327102) @@ -203,6 +203,4 @@ static driver_t ed_isa_driver = { DRIVER_MODULE(ed, isa, ed_isa_driver, ed_devclass, 0, 0); MODULE_DEPEND(ed, isa, 1, 1, 1); MODULE_DEPEND(ed, ether, 1, 1, 1); -MODULE_PNP_INFO("E:pnpid;", isa, ed, ed_ids, sizeof(ed_ids[0]), -nitems(ed_ids) - 1); - +ISA_PNP_INFO(ed_ids); Modified: head/sys/dev/ep/if_ep_isa.c == --- head/sys/dev/ep/if_ep_isa.c Sat Dec 23 06:11:19 2017(r327101) +++ head/sys/dev/ep/if_ep_isa.c Sat Dec 23 06:49:27 2017(r327102) @@ -395,3 +395,4 @@ DRIVER_MODULE(ep, isa, ep_isa_driver, ep_devclass, 0, #ifdef __i386__ MODULE_DEPEND(ep, elink, 1, 1, 1); #endif +ISA_PNP_INFO(ep_ids); Modified: head/sys/dev/ex/if_ex_isa.c == --- head/sys/dev/ex/if_ex_isa.c Sat Dec 23 06:11:19 2017(r327101) +++ head/sys/dev/ex/if_ex_isa.c Sat Dec 23 06:49:27 2017(r327102) @@ -82,8 +82,6 @@ static driver_t ex_isa_driver = { sizeof(struct ex_softc), }; -DRIVER_MODULE(ex, isa, ex_isa_driver, ex_devclass, 0, 0); - static struct isa_pnp_id ex_ids[] = { { 0x3110d425, NULL }, /* INT1031 */ { 0x3010d425, NULL }, /* INT1030 */ @@ -337,3 +335,6 @@ ex_look_for_card(struct ex_softc *sc
svn commit: r327103 - head/sys/isa
Author: imp Date: Sat Dec 23 07:02:45 2017 New Revision: 327103 URL: https://svnweb.freebsd.org/changeset/base/327103 Log: Fix cut-and-paste error s/pccard/isa/ Modified: head/sys/isa/isavar.h Modified: head/sys/isa/isavar.h == --- head/sys/isa/isavar.h Sat Dec 23 06:49:27 2017(r327102) +++ head/sys/isa/isavar.h Sat Dec 23 07:02:45 2017(r327103) @@ -142,7 +142,7 @@ enum isa_device_ivars { #defineISA_PNP_DESCR "E:pnpid;D:#" #define ISA_PNP_INFO(t) \ - MODULE_PNP_INFO(ISA_PNP_DESCR, pccard, t, t, sizeof(t[0]), nitems(t) - 1); \ + MODULE_PNP_INFO(ISA_PNP_DESCR, isa, t, t, sizeof(t[0]), nitems(t) - 1); \ /* * Simplified accessors for isa devices ___ 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"