Page MenuHomeFreeBSD
Feed Advanced Search

Jun 26 2019

D20747: iflib: Prevent kernel panic caused by loading driver with a specific interrupt configuration is now accepted and ready to land.

Looks good to me now, thanks.
For committing, please extend the commit message to additionally state
that the iflib(4) interrupt allocation needs re-doing not only to also support
single-message MSI-X and MSI-X-only devices, but for none-PCI devices
and multiple interrupt vectors that are not MSI-X as well, though.

Jun 26 2019, 12:57 PM

Jun 24 2019

D20747: iflib: Prevent kernel panic caused by loading driver with a specific interrupt configuration now requires changes to proceed.

Apart from the style problem, this change looks good to me.
Have you looked at how hard it would be to actually support configurations
with just 1 MSI-X, though? I think to remember the assumption that a single
interrupt means what iflib(4) calls "legacy", i. e. INTx or MSI, in 1 or 2 places
and generally iflib(4) would need to be made less smart and not so aggressive
in setting up interrupts, but nothing which seemed that much work.

Jun 24 2019, 8:42 PM

Jun 16 2019

marius committed rS349114: MFC: r347390.
MFC: r347390
Jun 16 2019, 3:34 PM
marius committed rS349113: MFC: r347222.
MFC: r347222
Jun 16 2019, 3:30 PM
marius committed rS349112: MFC: r347221, r347245.
MFC: r347221, r347245
Jun 16 2019, 3:26 PM
marius committed rS349110: MFC: r347211.
MFC: r347211
Jun 16 2019, 3:12 PM
marius committed rS349109: MFC: r344062 (partial).
MFC: r344062 (partial)
Jun 16 2019, 2:54 PM
marius committed rS349103: MFC: r344060, r344064.
MFC: r344060, r344064
Jun 16 2019, 11:35 AM
Herald added a reviewer for D19081: Further correct and optimize the bus_dma(9) usage of iflib(4): iflib.
Jun 16 2019, 11:35 AM
marius committed rS349102: MFC: r343979.
MFC: r343979
Jun 16 2019, 10:46 AM

Jun 15 2019

marius committed rS349055: - Replace unused and only ever written to members of public iflib(9).
- Replace unused and only ever written to members of public iflib(9)
Jun 15 2019, 11:08 AM
marius committed rS349054: Add <sys/dnv.h> required for libnv to SYSINCS, too, apparently missed.
Add <sys/dnv.h> required for libnv to SYSINCS, too, apparently missed
Jun 15 2019, 9:45 AM

Jun 7 2019

marius accepted D19747: Improve sdhci slot_printf() debug printing..

Thanks, looks good to me now

Jun 7 2019, 9:55 PM

May 22 2019

marius accepted D20290: Update Intel XL710 PF and VF drivers to version ixl-1.11.9 and ixlv-1.5.8.

Looks good to me; still needs re@ approval via the usual change request procedure for committing to stable/11 during the freeze, though.

May 22 2019, 5:56 PM
marius accepted D20221: iflib: provide probe wrapper for vendor drivers.

Looks good to me

May 22 2019, 5:55 PM

May 9 2019

marius committed rS347390: - Merge r338254 from cxgbe(4):.
- Merge r338254 from cxgbe(4):
May 9 2019, 11:35 AM

May 8 2019

marius added inline comments to D20204: First cut at cleaning up MP_RING_NO_64BIT_ATOMICS code.
May 8 2019, 11:54 PM
marius added inline comments to D20204: First cut at cleaning up MP_RING_NO_64BIT_ATOMICS code.
May 8 2019, 11:39 PM
marius committed rS347245: Allow to build without INET and INET6 again after r347221..
Allow to build without INET and INET6 again after r347221.
May 8 2019, 9:03 AM

May 7 2019

marius committed rS347222: o Avoid determining the MAC class (LEM/EM or IGB) - possibly even multiple.
o Avoid determining the MAC class (LEM/EM or IGB) - possibly even multiple
May 7 2019, 8:32 AM
marius closed D20176: e1000: Correct and optimize interrupt handling.
May 7 2019, 8:32 AM
marius committed rS347221: o Use iflib_fast_intr_rxtx() also for "legacy" interrupts, i. e. INTx and.
o Use iflib_fast_intr_rxtx() also for "legacy" interrupts, i. e. INTx and
May 7 2019, 8:28 AM
marius closed D20175: iflib: Correct and optimize interrupt handling, assorted fixes and improvements.
May 7 2019, 8:28 AM

May 6 2019

marius added inline comments to D20176: e1000: Correct and optimize interrupt handling.
May 6 2019, 10:52 PM
marius updated the summary of D20176: e1000: Correct and optimize interrupt handling.
May 6 2019, 9:27 PM
marius created D20176: e1000: Correct and optimize interrupt handling.
May 6 2019, 9:17 PM
marius created D20175: iflib: Correct and optimize interrupt handling, assorted fixes and improvements.
May 6 2019, 9:12 PM
marius committed rS347211: - Remove the unused ifc_link_irq and ifc_mtx_name members of struct iflib_ctx..
- Remove the unused ifc_link_irq and ifc_mtx_name members of struct iflib_ctx.
May 6 2019, 8:57 PM

Apr 28 2019

marius accepted D19880: iflib: use default ntxd and nrxd when user value is not power of 2.

Looks good to me now, thanks!

Apr 28 2019, 9:37 PM

Apr 25 2019

marius accepted D20029: Better control over queue core assignment.

Looks good to me now, thanks!

Apr 25 2019, 5:45 PM
marius requested changes to D19946: allow iflib drivers to pass their own ifmedia.
Apr 25 2019, 3:09 PM
marius requested changes to D20029: Better control over queue core assignment.
Apr 25 2019, 11:56 AM

Apr 24 2019

marius accepted D19949: MFC important iflib changes to stable/11.

Looks good to me

Apr 24 2019, 5:43 PM
marius requested changes to D19880: iflib: use default ntxd and nrxd when user value is not power of 2.
Apr 24 2019, 4:55 PM
marius requested changes to D20029: Better control over queue core assignment.
Apr 24 2019, 4:54 PM

Apr 15 2019

marius requested changes to D19880: iflib: use default ntxd and nrxd when user value is not power of 2.

Yes, the case of the driver providing isc_n{r,t}xd_min which aren't a power of 2 must be handled as well for iflib(4) to actually do the right thing. This is getting kind of ridiculous, though, as rounding up isc_n{r,t}xd_min to a power of 2 in turn may exceed sc_n{r,t}xd_max and so far nothing guarantees that sc_n{r,t}xd_max is a power 2 either, same for sc_n{r,t}xd_default. As much as I understand the desire for iflib(4) to figure out applicable values within the ranges supplied by the driver with the driver just taking actual hardware limitations and not iflib(4) constraints into account, IMO such magic would just be too complex without much real gain beyond some convenience for driver developers. Moreover, these ring size constraints aren't the only restriction imposed by iflib(4) onto the driver/hardware. For example, given that iflib(4) only offers a shared DMA alignment constraint (isc_q_align) for both RX and TX descriptors, ixl(4) nowadays specifies a 4096-byte alignment for both while according to the pre-iflib(4) counterpart, that alignment is only required for the RX descriptors with 128 bytes being sufficient for the TX ones. By contrast, something that iflib(4) really should deal gracefully with rather than iflib_device_register() just failing is a user supplying non-power-of-2 ring sizes via the override_n{r,t}xds SYSCTLs.
Thus, what I'd suggest instead is to simply assert in _iflib_assert() via MPASS() that all isc_n{r,t}xd_{default,max,min} are a power of 2. Actually, it's not that uncommon for Ethernet MACs to also only support ring sizes which are a power of 2 (at least Apple GMAC, National Semiconductor Saturn, Sun CAS, ERI and GEM come to my mind), probably for the same optimization reasons iflib(4) only supports power-of-2-sizes, too. If a particular MAC happens to really support some more odd-ish ring sizes, just take note of that fact with a comment in the driver. However, code should be added to iflib_reset_qvalues() which resets isc_n{r,t}xd to isc_n{r,t}xd_default in case the user-supplied values aren't a power of 2.

Apr 15 2019, 2:42 PM
marius requested changes to D19647: ifconfig: Add option to report VF status info.
Apr 15 2019, 2:41 PM

Apr 10 2019

marius accepted D19645: add pfil hooks to iflib.

Looks good to me now

Apr 10 2019, 1:32 PM

Apr 9 2019

marius committed rP498516: Turn installation of netperf.info into an option (default-on but allowing.
Turn installation of netperf.info into an option (default-on but allowing
Apr 9 2019, 8:03 PM
marius committed rP498514: Update to mmc-utils as of 20181214, improving handling of RPMB partitions..
Update to mmc-utils as of 20181214, improving handling of RPMB partitions.
Apr 9 2019, 7:48 PM

Mar 31 2019

marius accepted D19748: Improve error/debug messages in sdhci.c.

Looks good to me, it would be great if you could expand "Resp" to "Response" and use "result" instead of "err" for consistency while at it, though.

Mar 31 2019, 10:50 PM
marius requested changes to D19747: Improve sdhci slot_printf() debug printing..
Mar 31 2019, 10:35 PM

Mar 27 2019

marius requested changes to D19647: ifconfig: Add option to report VF status info.
Mar 27 2019, 7:51 PM
marius requested changes to D19645: add pfil hooks to iflib.
Mar 27 2019, 6:56 PM
marius added inline comments to D19645: add pfil hooks to iflib.
Mar 27 2019, 6:54 PM

Mar 17 2019

marius added a member for iflib: marius.
Mar 17 2019, 4:03 PM

Feb 14 2019

marius accepted D19201: iflib: Return the correct filter result in the interrupt handler..
Feb 14 2019, 11:15 PM
marius requested changes to D19201: iflib: Return the correct filter result in the interrupt handler..
Feb 14 2019, 10:04 PM
marius requested changes to D19201: iflib: Return the correct filter result in the interrupt handler..

Returning FILTER_SCHEDULE_THREAD from iflib_fast_intr_{ctx,rxtx}()
is still wrong as iflib_irq_alloc_generic() doesn't register a handler that could
be scheduled.

Feb 14 2019, 9:43 PM
marius requested changes to D19201: iflib: Return the correct filter result in the interrupt handler..

I second Andrew; using FILTER_STRAY in case of !iflib_started is a good move,
but returning FILTER_SCHEDULE_THREAD from the filter registered via
bus_setup_intr(9) is wrong at least when done unconditionally. The latter
signals intr_event_handle() to schedule an ithread for running the handler
registered via bus_setup_intr(9), but currently neither iflib(4) nor its
consumers appear to actually register a handler. The better change in that
regard probably is to remove support for handlers from _iflib_irq_alloc() and
iflib_irq_alloc() as the approach taken by iflib(4) apparently is to schedule a
gtask by itself (rather than letting intr_event_handle() schedule an ithread) if
there's no ifi filter or the ifi filter doesn't fully handle a particular interrupt,
i. e. the ifi filter returns the somewhat abused FILTER_SCHEDULE_THREAD.
Maybe iflib_irq_alloc() should be even removed completely as its currently
unused and if a driver wants to do something fancy with an interrupt outside
of the design of iflib(4), that driver is better off setting up that interrupt entirely
by itself.

Feb 14 2019, 9:09 PM

Feb 13 2019

marius committed rS344105: MFC: r343372.
MFC: r343372
Feb 13 2019, 4:03 PM
marius committed rS344104: MFC: r343372.
MFC: r343372
Feb 13 2019, 4:03 PM
marius committed rS344102: MFC: r339459.
MFC: r339459
Feb 13 2019, 3:30 PM
marius committed rS344101: MFC: r343622.
MFC: r343622
Feb 13 2019, 3:27 PM
marius committed rS344100: MFC: r343621.
MFC: r343621
Feb 13 2019, 3:19 PM
marius committed rS344098: MFC: r343934.
MFC: r343934
Feb 13 2019, 2:39 PM
marius committed rS344097: MFC: r343369.
MFC: r343369
Feb 13 2019, 2:36 PM
marius committed rS344095: MFC: r343203.
MFC: r343203
Feb 13 2019, 2:28 PM
marius committed rS344094: MFC: r343203.
MFC: r343203
Feb 13 2019, 2:28 PM
marius committed rS344093: MFC: r333879, r342749.
MFC: r333879, r342749
Feb 13 2019, 2:25 PM
marius committed rS344092: MFC: r342749.
MFC: r342749
Feb 13 2019, 1:09 PM
marius committed rD52816: Document __FreeBSD_version 1300011 and 1300012..
Document __FreeBSD_version 1300011 and 1300012.
Feb 13 2019, 11:27 AM

Feb 12 2019

marius committed rS344069: With r344062 in place, hwpmc_mod.c generally needs bus_if.h and.
With r344062 in place, hwpmc_mod.c generally needs bus_if.h and
Feb 12 2019, 11:39 PM
marius committed rS344064: Fix the build with ALTQ after r344060..
Fix the build with ALTQ after r344060.
Feb 12 2019, 10:33 PM
marius committed rS344062: Make taskqgroup_attach{,_cpu}(9) work across architectures.
Make taskqgroup_attach{,_cpu}(9) work across architectures
Feb 12 2019, 9:24 PM
marius closed D19139: Make taskqgroup_attach{,_cpu}(9) work across architectures.
Feb 12 2019, 9:24 PM
marius committed rS344060: Further correct and optimize the bus_dma(9) usage of iflib(4):.
Further correct and optimize the bus_dma(9) usage of iflib(4):
Feb 12 2019, 9:09 PM
marius closed D19081: Further correct and optimize the bus_dma(9) usage of iflib(4).
Feb 12 2019, 9:09 PM

Feb 10 2019

marius updated the summary of D19139: Make taskqgroup_attach{,_cpu}(9) work across architectures.
Feb 10 2019, 9:58 PM
marius committed rS343979: As struct cryptop is wrapped in #ifdef _KERNEL, userland doesn't.
As struct cryptop is wrapped in #ifdef _KERNEL, userland doesn't
Feb 10 2019, 9:27 PM
marius created D19139: Make taskqgroup_attach{,_cpu}(9) work across architectures.
Feb 10 2019, 9:23 PM

Feb 9 2019

marius committed rS343934: - Remove the redundant device disabled hint handling; ever since.
- Remove the redundant device disabled hint handling; ever since
Feb 9 2019, 11:59 AM
marius closed D19108: Assorted fixes and cleanup for em(4).
Feb 9 2019, 11:59 AM
marius committed rS343933: MFC: r343753.
MFC: r343753
Feb 9 2019, 11:52 AM
marius committed rS343932: MFC: r343288.
MFC: r343288
Feb 9 2019, 11:49 AM

Feb 8 2019

marius updated the summary of D19108: Assorted fixes and cleanup for em(4).
Feb 8 2019, 9:50 AM
marius updated the diff for D19108: Assorted fixes and cleanup for em(4).

Bring back additional function descriptions lost, adjust some others and INIT_DEBUGOUT() invocations to match reality after the iflib(4) conversion.

Feb 8 2019, 9:46 AM

Feb 7 2019

marius added inline comments to D19108: Assorted fixes and cleanup for em(4).
Feb 7 2019, 10:14 PM
marius updated the diff for D19108: Assorted fixes and cleanup for em(4).

Improved em_if_timer() and em_if_watchdog_reset() descriptions, brought back the right one for lem_smartspeed() from prior to the iflib(4) conversion.

Feb 7 2019, 10:13 PM
marius updated the summary of D19108: Assorted fixes and cleanup for em(4).
Feb 7 2019, 3:35 PM
marius updated the summary of D19108: Assorted fixes and cleanup for em(4).
Feb 7 2019, 3:33 PM
marius created D19108: Assorted fixes and cleanup for em(4).
Feb 7 2019, 3:30 PM
marius committed rS343864: MFC: r343578 (partial).
MFC: r343578 (partial)
Feb 7 2019, 10:30 AM

Feb 5 2019

marius updated the summary of D19081: Further correct and optimize the bus_dma(9) usage of iflib(4).
Feb 5 2019, 8:36 AM
marius updated the summary of D19081: Further correct and optimize the bus_dma(9) usage of iflib(4).
Feb 5 2019, 8:29 AM
marius created D19081: Further correct and optimize the bus_dma(9) usage of iflib(4).
Feb 5 2019, 12:07 AM

Feb 4 2019

marius committed rS343753: o As illustrated by e. g. figure 7-14 of the Intel 82599 10 GbE.
o As illustrated by e. g. figure 7-14 of the Intel 82599 10 GbE
Feb 4 2019, 8:47 PM
marius closed D19067: Change iflib(4) to employ the usual convention of "descriptor".
Feb 4 2019, 8:47 PM
marius updated the diff for D19067: Change iflib(4) to employ the usual convention of "descriptor".

Fixed a typo (RX vs. TX) in one of the messages altered by the previous patch

Feb 4 2019, 2:00 PM

Feb 3 2019

marius accepted D19070: Fix em(4) tx interrupt routing.
Feb 3 2019, 7:48 AM

Feb 2 2019

marius updated the summary of D19067: Change iflib(4) to employ the usual convention of "descriptor".
Feb 2 2019, 7:47 PM
marius created D19067: Change iflib(4) to employ the usual convention of "descriptor".
Feb 2 2019, 7:44 PM

Jan 31 2019

marius added a comment to D19041: Make iflib a loadable module..

Well, as-is iflib(4) in fact is PCI-specific.

Jan 31 2019, 7:15 PM
marius accepted D19041: Make iflib a loadable module..

Well, I would just have went with "PCI" but if you prefer to state all variants :)

Jan 31 2019, 6:03 PM
marius requested changes to D19041: Make iflib a loadable module..

sys/dev/ixgbe/if_ixv.c appears to be missing a "MODULE_DEPEND(ixv, iflib, 1, 1, 1);" but while you are at it, you could remove its netmap dependency (now already provided by iflib.c) instead

Jan 31 2019, 10:19 AM

Jan 30 2019

marius committed rS343578: - Stop iflib(4) from leaking MSI messages on detachment by calling.
- Stop iflib(4) from leaking MSI messages on detachment by calling
Jan 30 2019, 1:21 PM
marius closed D18980: Stop iflib(4) from leaking MSI messages and along with drivers let it use the correct RIDs when releasing resources.
Jan 30 2019, 1:21 PM
marius committed rS343575: MFC: r343481.
MFC: r343481
Jan 30 2019, 11:56 AM

Jan 29 2019

marius added a comment to D18980: Stop iflib(4) from leaking MSI messages and along with drivers let it use the correct RIDs when releasing resources.

Yes, as the manpage for the bus_release_resource(9) family of functions says: "The bus methods are free to change the RIDs that they are given as a parameter. You must not depend on the value you gave it earlier." On way do deal with that is to cache the returned RID in e. g. the softc. As is, em(4) does that for adapter->ioport via adapter->io_rid, but not for the adapter->flash and adapter->memory resources. The summary doesn't state this correctly, sorry, I'll address that when committing.

Jan 29 2019, 8:03 PM

Jan 28 2019

marius added inline comments to D18980: Stop iflib(4) from leaking MSI messages and along with drivers let it use the correct RIDs when releasing resources.
Jan 28 2019, 10:20 PM