networkUmbrella
ActivePublic

Recent Activity

Today

eugen_grosbein.net added a comment to D12086: ng_ether should notify lower and orphan nodes when underlying interface link layer address is changed.
In D12086#258234, @mav wrote:

Do you think the case when lower and orphan hooks are connected to the same node is realistic enough to make this code so tangled?

Tue, Sep 26, 11:52 AM · network
eugen_grosbein.net added a comment to D12086: ng_ether should notify lower and orphan nodes when underlying interface link layer address is changed.
In D12086#258234, @mav wrote:

While I understand your valid motivation, I can't say that I very much like this in patch for several reasons:

  • NGM_ETHER_SET_ENADDR is a control command supposed to be targeted to ng_ether node, not from it, and it is a action request, not notification.
Tue, Sep 26, 11:44 AM · network
eugen_grosbein.net updated the diff for D12086: ng_ether should notify lower and orphan nodes when underlying interface link layer address is changed.

Expand a comment explaining code.

Tue, Sep 26, 11:42 AM · network

Fri, Sep 22

mav added a comment to D12086: ng_ether should notify lower and orphan nodes when underlying interface link layer address is changed.

PS: Read how to create patches with context for the phabricator. May be it is a problem of phabricator and it modified the diff after you, if I download the raw diff here, there is no even normal diff -p context, which is almost always useful.

Fri, Sep 22, 11:58 AM · network
mav added a comment to D12086: ng_ether should notify lower and orphan nodes when underlying interface link layer address is changed.

While I understand your valid motivation, I can't say that I very much like this in patch for several reasons:

  • NGM_ETHER_SET_ENADDR is a control command supposed to be targeted to ng_ether node, not from it, and it is a action request, not notification. I suppose if you connect two ng_ether nodes with lower hooks to create poor mans bridge, this won't work as expected.
  • ng_pppoe has method to explicitly set MAC address, and it may get overwritten by this, which may or may not be correct.
  • We just fought one locking issue, and here I don't see any hook locks or even references (I understand that your problem is narrower, but still).
Fri, Sep 22, 11:53 AM · network
eugen_grosbein.net edited reviewers for D12086: ng_ether should notify lower and orphan nodes when underlying interface link layer address is changed, added: avg, mav; removed: glebius, ae, network.
Fri, Sep 22, 11:16 AM · network

Tue, Sep 5

shurd updated the diff for D12101: swfw_sync DELAY -> sleep conversion.

Remove extra directory adds

Tue, Sep 5, 11:25 PM · network
shurd added a comment to D12101: swfw_sync DELAY -> sleep conversion.

Not sure where those head/* directories came from...

Tue, Sep 5, 11:19 PM · network

Mon, Sep 4

shurd updated the diff for D12101: swfw_sync DELAY -> sleep conversion.

Update my tree before updating revision

Mon, Sep 4, 10:58 PM · network
shurd updated the diff for D12101: swfw_sync DELAY -> sleep conversion.

incorporate some missing changes from dev branch

Mon, Sep 4, 10:45 PM · network
shurd reopened D12101: swfw_sync DELAY -> sleep conversion.

Commit was reverted

Mon, Sep 4, 10:45 PM · network

Wed, Aug 30

sbruno closed D12101: swfw_sync DELAY -> sleep conversion by committing rS323008: Continuation of lock cleanup in e1000..
Wed, Aug 30, 12:20 AM · network

Tue, Aug 29

sbruno accepted D12101: swfw_sync DELAY -> sleep conversion.
Tue, Aug 29, 10:30 PM · network

Aug 26 2017

kmacy added a comment to D12101: swfw_sync DELAY -> sleep conversion.

Huh .... Testing this review by itself this morning. I see the following startup panic:

Sleeping on "e1000_delay" with the following non-sleepable locks held:
exclusive sleep mutex em2:tx(0):callo (em2:tx(0):callo) r = 0 (0xfffff80004175068) locked @ /home/sbruno/bsd/fbsd_head/sys/kern/kern_mutex.c:182
stack backtrace:
#0 0xffffffff80ac85d3 at witness_debugger+0x73
#1 0xffffffff80ac99cf at witness_warn+0x43f
#2 0xffffffff80a708fc at _sleep+0x6c
#3 0xffffffff80a71117 at pause_sbt+0x117
#4 0xffffffff805620e1 at e1000_read_phy_reg_mdic+0xf1
#5 0xffffffff80562b5b at e1000_read_phy_reg_igp+0x5b
#6 0xffffffff80535d6c at em_if_timer+0xcc
#7 0xffffffff80b76279 at iflib_timer+0x69
#8 0xffffffff80a7e375 at softclock_call_cc+0x155
#9 0xffffffff80a7e75c at softclock+0x7c
#10 0xffffffff80a2bed1 at intr_event_execute_handlers+0x91
#11 0xffffffff80a2c5d6 at ithread_loop+0xb6
#12 0xffffffff80a29304 at fork_exit+0x84
#13 0xffffffff80ecf7ce at fork_trampoline+0xe
panic: sleepq_add: td 0xfffff80003d59000 to sleep on wchan 0xffffffff81c7d260 with sleeping prohibited
cpuid = 0
time = 4
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00f55f4730
vpanic() at vpanic+0x19c/frame 0xfffffe00f55f47b0
kassert_panic() at kassert_panic+0x126/frame 0xfffffe00f55f4820
sleepq_add() at sleepq_add+0x34f/frame 0xfffffe00f55f4870
_sleep() at _sleep+0x26c/frame 0xfffffe00f55f4910
pause_sbt() at pause_sbt+0x117/frame 0xfffffe00f55f4960
e1000_read_phy_reg_mdic() at e1000_read_phy_reg_mdic+0xf1/frame 0xfffffe00f55f49b0
e1000_read_phy_reg_igp() at e1000_read_phy_reg_igp+0x5b/frame 0xfffffe00f55f49e0
em_if_timer() at em_if_timer+0xcc/frame 0xfffffe00f55f4a10
iflib_timer() at iflib_timer+0x69/frame 0xfffffe00f55f4a40
softclock_call_cc() at softclock_call_cc+0x155/frame 0xfffffe00f55f4af0
softclock() at softclock+0x7c/frame 0xfffffe00f55f4b20
intr_event_execute_handlers() at intr_event_execute_handlers+0x91/frame 0xfffffe00f55f4b60
ithread_loop() at ithread_loop+0xb6/frame 0xfffffe00f55f4bb0
fork_exit() at fork_exit+0x84/frame 0xfffffe00f55f4bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00f55f4bf0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
KDB: enter: panic
[ thread pid 12 tid 100023 ]
Stopped at      kdb_enter+0x3b: movq    $0,kdb_why
Aug 26 2017, 11:44 PM · network
kmacy updated the diff for D12101: swfw_sync DELAY -> sleep conversion.

move more blocking work to deferred context

Aug 26 2017, 11:43 PM · network

Aug 25 2017

sbruno added a comment to D12101: swfw_sync DELAY -> sleep conversion.

Yeah, legacy em(4) device on em2:

Aug 25 2017, 7:11 PM · network
sbruno added a comment to D12101: swfw_sync DELAY -> sleep conversion.

Huh .... Testing this review by itself this morning. I see the following startup panic:

Aug 25 2017, 7:02 PM · network
johalun0_gmail.com added a comment to D12101: swfw_sync DELAY -> sleep conversion.
In D12101#251488, @erj wrote:

The busy waiting would cause 10% CPU usage on my system when no cable connected to em0 (traced to em_if_update_admin_status).
This patch also fixes this. I can no longer detect any unusual CPU usage.

Getting a lot of witness output. Like a few per second or so.

I think this revision depends on D11969. It changes the core lock from a mutex to an sx lock, which would allow sleeping while its held.

Actually the problem is that I didn't completely eliminate the use of mutexes in the OS independent code. Update forthcoming.

Aug 25 2017, 8:26 AM · network

Aug 24 2017

kmacy updated the diff for D12101: swfw_sync DELAY -> sleep conversion.
  • Eliminate remaining mutex use in os independent e1000 code.
  • Fold in iflib updates.
Aug 24 2017, 10:06 PM · network
kmacy added a comment to D12101: swfw_sync DELAY -> sleep conversion.
In D12101#251488, @erj wrote:

The busy waiting would cause 10% CPU usage on my system when no cable connected to em0 (traced to em_if_update_admin_status).
This patch also fixes this. I can no longer detect any unusual CPU usage.

Getting a lot of witness output. Like a few per second or so.

I think this revision depends on D11969. It changes the core lock from a mutex to an sx lock, which would allow sleeping while its held.

Aug 24 2017, 10:02 PM · network
erj added a comment to D12101: swfw_sync DELAY -> sleep conversion.

The busy waiting would cause 10% CPU usage on my system when no cable connected to em0 (traced to em_if_update_admin_status).
This patch also fixes this. I can no longer detect any unusual CPU usage.

Getting a lot of witness output. Like a few per second or so.

Aug 24 2017, 6:08 PM · network
johalun0_gmail.com added a comment to D12101: swfw_sync DELAY -> sleep conversion.

The busy waiting would cause 10% CPU usage on my system when no cable connected to em0 (traced to em_if_update_admin_status).
This patch also fixes this. I can no longer detect any unusual CPU usage.

Aug 24 2017, 6:57 AM · network
kmacy added a comment to D12101: swfw_sync DELAY -> sleep conversion.

@jtl any comments?

Aug 24 2017, 4:24 AM · network
kmacy added a reviewer for D12101: swfw_sync DELAY -> sleep conversion: jtl.
Aug 24 2017, 4:23 AM · network

Aug 23 2017

kmacy added a comment to D12101: swfw_sync DELAY -> sleep conversion.

@erj I updated the summary - is there anything more I should add?

Aug 23 2017, 8:49 PM · network
kmacy updated the summary of D12101: swfw_sync DELAY -> sleep conversion.
Aug 23 2017, 8:49 PM · network
shurd accepted D12101: swfw_sync DELAY -> sleep conversion.

Looks good.

Aug 23 2017, 8:48 PM · network
kevin.bowling_kev009.com updated subscribers of D12101: swfw_sync DELAY -> sleep conversion.
Aug 23 2017, 8:46 PM · network
kmacy updated subscribers of D12101: swfw_sync DELAY -> sleep conversion.
Aug 23 2017, 8:45 PM · network
johalun0_gmail.com added a comment to D12101: swfw_sync DELAY -> sleep conversion.

The busy waiting would cause 10% CPU usage on my system when no cable connected to em0 (traced to em_if_update_admin_status).
This patch also fixes this. I can no longer detect any unusual CPU usage.

Aug 23 2017, 7:20 PM · network

Aug 22 2017

erj added a comment to D12101: swfw_sync DELAY -> sleep conversion.
In D12101#251141, @erj wrote:

Can we also get a description of what this fixes, for future reference?

Two problems:

  • As we've discussed at length elsewhere, Intel drivers will busy wait for arbitrary lengths of time with a default mutex held when waiting for the firmware to release a resource.
  • There is a lot of mostly duplicated code with tiny (dubious) variations.
Aug 22 2017, 8:16 PM · network
shurd requested changes to D12102: add tunable to eliminate conflict misses when frequently acccessing the first cache line of mbuf & cluster.

With this patch, and kern.ipc.cachespread="1", network traffic stops after some indeterminate time.

Aug 22 2017, 6:12 PM · network
kmacy updated the summary of D12102: add tunable to eliminate conflict misses when frequently acccessing the first cache line of mbuf & cluster.
Aug 22 2017, 6:11 PM · network
kmacy added a comment to D12101: swfw_sync DELAY -> sleep conversion.
In D12101#251141, @erj wrote:

Can we also get a description of what this fixes, for future reference?

Aug 22 2017, 6:02 PM · network
erj added a comment to D12101: swfw_sync DELAY -> sleep conversion.

Can we also get a description of what this fixes, for future reference?

Aug 22 2017, 5:09 PM · network
kmacy created D12102: add tunable to eliminate conflict misses when frequently acccessing the first cache line of mbuf & cluster.
Aug 22 2017, 5:48 AM · network
shurd added inline comments to D12101: swfw_sync DELAY -> sleep conversion.
Aug 22 2017, 5:07 AM · network
kmacy updated the diff for D12101: swfw_sync DELAY -> sleep conversion.

update to reflect potential for brokenness

Aug 22 2017, 5:04 AM · network
shurd added inline comments to D12101: swfw_sync DELAY -> sleep conversion.
Aug 22 2017, 4:40 AM · network
kmacy created D12101: swfw_sync DELAY -> sleep conversion.
Aug 22 2017, 2:46 AM · network

Aug 20 2017

eugen_grosbein.net created D12086: ng_ether should notify lower and orphan nodes when underlying interface link layer address is changed.
Aug 20 2017, 4:13 PM · network

Aug 16 2017

Diffusion closed D11782: bpf: Fix incorrect cleanup by committing rS322590: bpf: Fix incorrect cleanup.
Aug 16 2017, 7:40 PM · network
oleg added a member for network: oleg.
Aug 16 2017, 3:42 PM

Aug 15 2017

mjoras added a member for network: mjoras.
Aug 15 2017, 4:48 PM

Aug 13 2017

bz accepted D11782: bpf: Fix incorrect cleanup.

I'd say go ahead for now; seems to make life better at least.

Aug 13 2017, 12:13 PM · network

Aug 9 2017

eugen_grosbein.net added a member for network: eugen_grosbein.net.
Aug 9 2017, 2:30 PM

Aug 6 2017

kristof updated the summary of D11782: bpf: Fix incorrect cleanup.
Aug 6 2017, 9:33 AM · network

Aug 3 2017

kristof added a comment to D11782: bpf: Fix incorrect cleanup.

I've done a bit more testing, and these debug traces tell the story:

Aug 3 2017, 8:05 PM · network

Jul 31 2017

kristof added a comment to D11782: bpf: Fix incorrect cleanup.

Hmm, good question. I thought I understood the failure flow fully, but now I'm not so sure.

Jul 31 2017, 8:02 PM · network

Jul 30 2017

bz added a comment to D11782: bpf: Fix incorrect cleanup.

I think your description could be a bit more clear as I got confused. I think after re-reading it I now understand what you mean. Can you try to describe the sequence of events step by step here on how this gets triggered (especially how the new entry appears before we set it to NULL overwriting a new one?)?

Jul 30 2017, 9:54 PM · network