Page MenuHomeFreeBSD

hselasky (Hans Petter Selasky)
User

Projects

User Details

User Since
Nov 28 2014, 6:55 PM (272 w, 4 d)

Recent Activity

Today

hselasky added inline comments to D23752: Teach lagg to use rate-limited send tags for lacp.
Wed, Feb 19, 8:50 AM

Yesterday

hselasky committed rS358081: Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process.
Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process
Tue, Feb 18, 7:53 PM
hselasky closed D23742: Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process incoming packets in taskqueue context..
Tue, Feb 18, 7:53 PM
hselasky added a comment to D23742: Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process incoming packets in taskqueue context..

From what I can see "pf_overload_task()" does not send or receive and IP packets, and does not need to run under EPOCH(9).

Tue, Feb 18, 4:17 PM
hselasky added a comment to D23599: Add missing EPOCH(9) wrapper in ipfw.

Try this:

Tue, Feb 18, 4:03 PM
hselasky created D23742: Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process incoming packets in taskqueue context..
Tue, Feb 18, 4:02 PM
hselasky added a comment to D23599: Add missing EPOCH(9) wrapper in ipfw.

IPFW/Dummynet appears to now panic with EPOCH assertions (netpfil/ip_dn_*)

Tue, Feb 18, 3:50 PM
hselasky accepted D23647: TCP Ratelimit code update.
Tue, Feb 18, 12:09 PM

Mon, Feb 17

hselasky accepted D23097: Revert VNET change and expand VNET structure..
Mon, Feb 17, 10:37 AM
hselasky committed rS358019: MFC r356597:.
MFC r356597:
Mon, Feb 17, 9:59 AM
hselasky committed rS358018: MFC r356597:.
MFC r356597:
Mon, Feb 17, 9:59 AM
hselasky committed rS358017: MFC r357726:.
MFC r357726:
Mon, Feb 17, 9:58 AM
hselasky committed rS358016: MFC r357726:.
MFC r357726:
Mon, Feb 17, 9:57 AM
hselasky committed rS358015: MFC r357801:.
MFC r357801:
Mon, Feb 17, 9:55 AM
hselasky committed rS358014: MFC r357801:.
MFC r357801:
Mon, Feb 17, 9:53 AM
hselasky committed rS358013: Fix kernel panic while trying to read multicast stream..
Fix kernel panic while trying to read multicast stream.
Mon, Feb 17, 9:46 AM

Sun, Feb 16

hselasky accepted D23710: Fix panics when using iflib pseudo device support.
Sun, Feb 16, 10:57 PM
hselasky accepted D23097: Revert VNET change and expand VNET structure..
Sun, Feb 16, 5:51 PM
hselasky added a comment to D23710: Fix panics when using iflib pseudo device support.

Can you upload patch context?

Sun, Feb 16, 6:01 AM

Fri, Feb 14

hselasky accepted D23678: sysctl(9): properly use xor in ENFORCE_FLAGS macro.
Fri, Feb 14, 8:14 AM
hselasky committed rS357898: Exclude modifier keys from keyboard repeat logic..
Exclude modifier keys from keyboard repeat logic.
Fri, Feb 14, 12:29 AM
hselasky accepted D23632: Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (M of N).
Fri, Feb 14, 12:20 AM

Thu, Feb 13

hselasky added a comment to D23675: The SYSCTL_NODE / MPSAFE / NEEDGIANT saga.

Looks very good. See my two comments.

Thu, Feb 13, 10:48 PM
hselasky accepted D23674: Change smarter epoch support for NIC drivers to opt-in..

Looks good to me.

Thu, Feb 13, 10:22 PM
hselasky accepted D23671: Don't check the auth algorithm for GCM..
Thu, Feb 13, 8:42 PM
hselasky added a comment to D23632: Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (M of N).

SYSCTL_ADD_NODE() and SYSCTL_NODE() are always MPSAFE.

Thu, Feb 13, 4:58 PM
hselasky committed rS357861: Improve USB gaming keyboard support..
Improve USB gaming keyboard support.
Thu, Feb 13, 4:03 PM
hselasky added a comment to D23654: Add support for more interrupt types.

The Mellanox drivers currently manage this internally:
See: https://svnweb.freebsd.org/changeset/base/357294
Usually there are many packets processed per interrupt.

I've seen this change. Was it benchmarked? I'm afraid result might be different to what was before, cause batching inside single call into interrupt handler be definition is a smaller batching than on top of it.

Thu, Feb 13, 8:20 AM

Wed, Feb 12

hselasky added a comment to D23654: Add support for more interrupt types.
In D23654#519204, @jhb wrote:

I'm not really sure why we need more interrupt types? This seems like it is better named INTR_TYPE_NET_NOEPOCH or something anyway, and if that's the true purpose I think instead we might need to rethink the design of tying the network epoch to the interrupt type? For example, what if instead of teaching ithreads, task queues, etc. about the network epoch directly, we were to have drivers that want to coalesce the epoch do so explicitly in their ISR (this also would let them drop the epoch when doing voluntarily yielding which is one thing np@ asked about on IRC earlier) and either use an alternate if_input or a new if_flags to avoid the recursion in ether_input? I think that approach would be fairly simple while avoiding hardcoding knowledge about the network epoch in various kernel subsystems.

Wed, Feb 12, 8:41 PM
hselasky added a comment to D23654: Add support for more interrupt types.

The Mellanox drivers currently manage this internally:
See: https://svnweb.freebsd.org/changeset/base/357294

Wed, Feb 12, 8:05 PM
hselasky added a reviewer for D23654: Add support for more interrupt types: kib.
Wed, Feb 12, 7:31 PM
hselasky created D23654: Add support for more interrupt types.
Wed, Feb 12, 7:31 PM
hselasky accepted D23647: TCP Ratelimit code update.
Wed, Feb 12, 3:41 PM
hselasky added inline comments to D23647: TCP Ratelimit code update.
Wed, Feb 12, 2:27 PM
hselasky accepted D23631: Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (M of N).
Wed, Feb 12, 11:03 AM
hselasky added a comment to D23631: Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (M of N).

The LinuxKPI does not depend on Giant. All instances of SYSCTL's in the LinuxKPI can be made MPSAFE.

Wed, Feb 12, 11:03 AM
hselasky committed rS357802: Add support for debugnet in mlx5en(4)..
Add support for debugnet in mlx5en(4).
Wed, Feb 12, 10:03 AM
hselasky committed rS357801: Add support for disabling and polling MSIX interrupts in mlx5core..
Add support for disabling and polling MSIX interrupts in mlx5core.
Wed, Feb 12, 9:58 AM
hselasky committed rS357800: Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process.
Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process
Wed, Feb 12, 9:20 AM
hselasky closed D23315: Make sure end of receive doesn't cause interrupt starvation in iflib.
Wed, Feb 12, 8:30 AM
hselasky committed rS357799: Make sure the so-called end of receive interrupts don't starve in iflib..
Make sure the so-called end of receive interrupts don't starve in iflib.
Wed, Feb 12, 8:30 AM

Tue, Feb 11

hselasky added a comment to D23632: Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (M of N).

All sysctls in USB drivers are MPSAFE including uaudio.c .

Tue, Feb 11, 9:54 PM
hselasky updated the diff for D23348: Widen EPOCH(9) usage in network drivers (as a pre-step for D23347).

Rebase patch after r357772.

Tue, Feb 11, 7:02 PM
hselasky accepted D23518: epoch support for taskqueues [2].
Tue, Feb 11, 6:22 PM
hselasky closed D23599: Add missing EPOCH(9) wrapper in ipfw.
Tue, Feb 11, 6:16 PM
hselasky committed rS357769: Add missing EPOCH(9) wrapper in ipfw(8)..
Add missing EPOCH(9) wrapper in ipfw(8).
Tue, Feb 11, 6:16 PM
hselasky accepted D23620: Add 50G-KR4 media type..
Tue, Feb 11, 2:56 PM
hselasky added a comment to D23620: Add 50G-KR4 media type..

Don't forget to MFC

Tue, Feb 11, 2:30 PM
hselasky accepted D23620: Add 50G-KR4 media type..
Tue, Feb 11, 2:29 PM
hselasky added inline comments to D23518: epoch support for taskqueues [2].
Tue, Feb 11, 9:38 AM
hselasky accepted D23518: epoch support for taskqueues [2].
Tue, Feb 11, 8:31 AM

Mon, Feb 10

hselasky added a comment to D23599: Add missing EPOCH(9) wrapper in ipfw.

@glebius: Looks better now?

Mon, Feb 10, 8:52 PM
hselasky updated the diff for D23599: Add missing EPOCH(9) wrapper in ipfw.
Mon, Feb 10, 8:51 PM
hselasky committed rS357744: Fix for unbalanced EPOCH(9) usage in the generic kernel interrupt.
Fix for unbalanced EPOCH(9) usage in the generic kernel interrupt
Mon, Feb 10, 8:23 PM
hselasky closed D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Mon, Feb 10, 8:23 PM
hselasky accepted D23518: epoch support for taskqueues [2].

I'm good with this change.

Mon, Feb 10, 7:12 PM
hselasky committed rS357726: Add USB host controller PCI ID's for Hygon..
Add USB host controller PCI ID's for Hygon.
Mon, Feb 10, 11:10 AM
hselasky closed D23564: usb: Add vendor Hygon.
Mon, Feb 10, 11:10 AM
hselasky accepted D23564: usb: Add vendor Hygon.
Mon, Feb 10, 11:06 AM
hselasky updated the summary of D23599: Add missing EPOCH(9) wrapper in ipfw.
Mon, Feb 10, 9:14 AM
hselasky created D23599: Add missing EPOCH(9) wrapper in ipfw.
Mon, Feb 10, 9:13 AM
hselasky added inline comments to D23564: usb: Add vendor Hygon.
Mon, Feb 10, 8:27 AM

Fri, Feb 7

hselasky added inline comments to D23564: usb: Add vendor Hygon.
Fri, Feb 7, 4:12 PM
hselasky added a comment to D23564: usb: Add vendor Hygon.

Patch looks good.
Do you have a reference for the new PCI ID values?

Fri, Feb 7, 12:13 PM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

@jeff: Can you accept this change?

Fri, Feb 7, 9:23 AM
hselasky added inline comments to D23518: epoch support for taskqueues [2].
Fri, Feb 7, 9:22 AM

Thu, Feb 6

hselasky added inline comments to D17972: Fix "usbconfig set_template".
Thu, Feb 6, 10:52 PM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

Can the people subscribed to this patch which think the current version is OK accept it again?

Thu, Feb 6, 3:51 PM
hselasky updated the diff for D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

Use atomic_load_int() instead of "volatile" as suggested by kib@ .

Thu, Feb 6, 3:48 PM
hselasky committed rS357613: Bump FreeBSD version due to recent LinuxKPI changes..
Bump FreeBSD version due to recent LinuxKPI changes.
Thu, Feb 6, 10:11 AM
hselasky committed rS357612: Bump FreeBSD version due to recent LinuxKPI changes..
Bump FreeBSD version due to recent LinuxKPI changes.
Thu, Feb 6, 10:10 AM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

Exactly what you said, so that the hflags should be constant after MSI(-X) interrupt is set up. So again, I am not sure how did you see leaked epoch entry for mlx5en interrupt thread.

Thu, Feb 6, 9:39 AM

Wed, Feb 5

hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
In D23483#516214, @kib wrote:

intr_event_update() is used for all kinds of hardware interrupts.

In which way it is used for MSI ? After registration, since this is the only case where we need to consider changed flags.

Wed, Feb 5, 8:10 PM
hselasky added a comment to D23408: epoch support for taskqueues.

Since this revision was commandeered, I created a new one: https://reviews.freebsd.org/D23518
I picked up extra driver changes from this one. Thanks, Hans!
I didn't pickup the tick restriction in the cycle. The cycle is finite, I don't see any good reason to limit it unless there is experimental proof of such need. We were talking about limiting to a tick the cycle in the interrupt code. That one is potentially infinite, and there it makes sense. However, with a benchmark first.
I didn't pickup macro renaming. First, it is inconsistent - TASK_INIT2 was renamed, but GTASK_INIT2 was not. Second, the ugly named macro isn't public, so I don't see good reason to rename it. However, I'm not strong in this opinion, I'm open to renaming both TASK_INIT2 and GTASK_INIT2, if more people vote for that.

Wed, Feb 5, 6:09 PM
hselasky added a reviewer for D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler: jeff.
Wed, Feb 5, 1:48 PM
hselasky accepted D23515: Temporarily force IFF_NEEDSEPOCH until drivers have been resolved..
Wed, Feb 5, 8:39 AM

Tue, Feb 4

hselasky added inline comments to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Tue, Feb 4, 8:54 PM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
In D23483#515820, @kib wrote:
In D23483#515796, @kib wrote:

But in fact I still do not understand this patch, or rather, what is the case when it could happen that IH_NET is not seen after ithread_execute_handlers(). We never clear IH_NET, and the _intr_drain() code does not allow to free handler/thread until the thread acknowledges IT_WAIT.

See: intr_event_update()
IH_NET can go away when interrupt handlers are unregistered.

intr_event_update() should not be used at all for MSI threaded handlers, right ? So I do not think it was the cause in the bug you are chasing.
And I think intr_event_update() should park the intr thread for the update to be reliable, but this only matters for shared interrupts ?

Tue, Feb 4, 5:37 PM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
In D23483#515796, @kib wrote:

But in fact I still do not understand this patch, or rather, what is the case when it could happen that IH_NET is not seen after ithread_execute_handlers(). We never clear IH_NET, and the _intr_drain() code does not allow to free handler/thread until the thread acknowledges IT_WAIT.

Tue, Feb 4, 5:08 PM
hselasky updated the summary of D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Tue, Feb 4, 3:51 PM
hselasky retitled D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler from Fix for use after free in interrupt handler code to Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Tue, Feb 4, 3:43 PM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

mjg@, mav@, gallatin@: How does the latest patch version look?

Tue, Feb 4, 3:37 PM
hselasky updated the diff for D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

Mark ie_hflags volatile to simplify use of atomic.
Make sure ie_hflags is not cleared before update.

Tue, Feb 4, 3:36 PM
hselasky added inline comments to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Tue, Feb 4, 11:48 AM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

@mav:
Can you comment on this change?

Tue, Feb 4, 11:47 AM
hselasky added a reviewer for D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler: mav.
Tue, Feb 4, 11:47 AM
hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

jhb@ can you comment if it is safe to access the structure pointed to by "ie" like done in the patch above?

Tue, Feb 4, 11:46 AM
hselasky added a reviewer for D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler: jhb.
Tue, Feb 4, 11:46 AM
hselasky added inline comments to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Tue, Feb 4, 8:47 AM
hselasky updated the diff for D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

Use atomic_load_int() where appropriate like suggested by mjg@ .

Tue, Feb 4, 8:19 AM

Mon, Feb 3

hselasky added a comment to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.

@mjg: Thank you. I'll have a look at this again tomorrow.

Mon, Feb 3, 4:32 PM
hselasky created D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Mon, Feb 3, 3:56 PM
hselasky committed rS357441: MFC r357298:.
MFC r357298:
Mon, Feb 3, 11:18 AM
hselasky committed rS357440: MFC r349409 and r349410:.
MFC r349409 and r349410:
Mon, Feb 3, 11:17 AM
hselasky committed rS357439: MFC r357298:.
MFC r357298:
Mon, Feb 3, 11:06 AM
hselasky committed rS357438: MFC r357298:.
MFC r357298:
Mon, Feb 3, 11:05 AM
hselasky committed rS357437: MFC r357298:.
MFC r357298:
Mon, Feb 3, 11:04 AM
hselasky committed rS357436: MFC r357077:.
MFC r357077:
Mon, Feb 3, 11:00 AM
hselasky committed rS357435: MFC r357077:.
MFC r357077:
Mon, Feb 3, 10:59 AM
hselasky committed rS357434: MFC r328985:.
MFC r328985:
Mon, Feb 3, 10:57 AM