Page MenuHomeFreeBSD

glebius (Gleb Smirnoff)
User

Projects

User Details

User Since
May 28 2014, 2:27 PM (288 w, 2 d)

Recent Activity

Thu, Dec 5

glebius added a comment to D22691: ifnet: add callback for post-free cleanup.

I don't like this change. The problem comes from the fact that we are allowing to run administrative detach in parallel with any other ifioctl(). I believe there are much more issues here except this one. This is just a can of worms as long as we keep these two things to run in parallel. Back when resolving all possible races in carp(4) I just have created a single sx lock that serialized any possible CARP reconfigurations. And this isn't a performance critical path - nobody suffers from this serialization. I'm inclined that we need same approach at interface wide level. Not necessarily a global sx, a per-interface sx should work. And at the point where ifioctl() today does ifunit_ref() it should lock the sx. Same thing should if_clone_destroy() do instead of taking reference.

Thu, Dec 5, 11:45 PM
glebius added a reviewer for D22691: ifnet: add callback for post-free cleanup: jhb.

We once discussed this issue with John back when I was working on projects/ifnet branch in subversion. Of course now with epoch in place and if_detach() waiting on all callbacks the situation is very different to what we had in 2015.

Thu, Dec 5, 11:22 PM
glebius accepted D22399: carp: replace caddr_t with char *.

This kind of change definitely doesn't need your time wasted on publishing a review.

Thu, Dec 5, 10:54 PM
glebius accepted D22641: Improve EPOCH_TRACE.
Thu, Dec 5, 10:53 PM

Wed, Dec 4

glebius committed rS355405: Fix regression from r354484. Don't leak pcb lock if cr_canseeinpcb().
Fix regression from r354484. Don't leak pcb lock if cr_canseeinpcb()
Wed, Dec 4, 10:42 PM
glebius added inline comments to D22597: Use a callout instead of timeout(9) for delayed zio's..
Wed, Dec 4, 10:03 PM

Thu, Nov 21

glebius committed rS354988: cc_ktr_event_name is used only with KTR.
cc_ktr_event_name is used only with KTR
Thu, Nov 21, 11:56 PM
glebius committed rS354987: Delete ih_thread. Should have gone in r334170..
Delete ih_thread. Should have gone in r334170.
Thu, Nov 21, 11:55 PM
glebius committed rS354929: Remove sio(4)..
Remove sio(4).
Thu, Nov 21, 1:24 AM

Fri, Nov 15

glebius committed rS354737: Fix regression from r353841: ctx.rc needs to be initialized,.
Fix regression from r353841: ctx.rc needs to be initialized,
Fri, Nov 15, 6:02 PM

Wed, Nov 13

glebius committed rS354685: In if_siocaddmulti() enter VNET..
In if_siocaddmulti() enter VNET.
Wed, Nov 13, 4:28 PM

Mon, Nov 11

glebius committed rS354607: It is unclear why in6_pcblookup_local() would require write access.
It is unclear why in6_pcblookup_local() would require write access
Mon, Nov 11, 6:28 AM

Thu, Nov 7

glebius committed rS354490: Remove now unused INP_INFO_RLOCK macros..
Remove now unused INP_INFO_RLOCK macros.
Thu, Nov 7, 10:27 PM
glebius committed rS354487: In TCP HPTS enter the epoch in tcp_hpts_thread() and assert it in.
In TCP HPTS enter the epoch in tcp_hpts_thread() and assert it in
Thu, Nov 7, 9:30 PM
glebius committed rS354486: Mechanically convert INP_INFO_RLOCK() to NET_EPOCH_ENTER() in TCP.
Mechanically convert INP_INFO_RLOCK() to NET_EPOCH_ENTER() in TCP
Thu, Nov 7, 9:29 PM
glebius committed rS354485: Since pfslowtimo() runs in the network epoch, tcp_slowtimo().
Since pfslowtimo() runs in the network epoch, tcp_slowtimo()
Thu, Nov 7, 9:28 PM
glebius committed rS354484: Now that there is no R/W lock on PCB list the pcblist sysctls.
Now that there is no R/W lock on PCB list the pcblist sysctls
Thu, Nov 7, 9:27 PM
glebius committed rS354483: Now that all of the tcp_input() and all its branches are executed.
Now that all of the tcp_input() and all its branches are executed
Thu, Nov 7, 9:23 PM
glebius committed rS354481: Remove unnecessary recursive epoch enter via INP_INFO_RLOCK.
Remove unnecessary recursive epoch enter via INP_INFO_RLOCK
Thu, Nov 7, 9:09 PM
glebius committed rS354480: Remove now unused INP_HASH_RLOCK() macros..
Remove now unused INP_HASH_RLOCK() macros.
Thu, Nov 7, 9:03 PM
glebius committed rS354479: Now with epoch synchronized PCB lookup tables we can greatly simplify.
Now with epoch synchronized PCB lookup tables we can greatly simplify
Thu, Nov 7, 9:01 PM
glebius committed rS354478: Add INP_UNLOCK() which will do whatever R/W unlock is required..
Add INP_UNLOCK() which will do whatever R/W unlock is required.
Thu, Nov 7, 8:58 PM
glebius committed rS354477: Since r353292 on input path we are always in network epoch, when.
Since r353292 on input path we are always in network epoch, when
Thu, Nov 7, 8:50 PM
glebius closed D22197: Refactor PCB hash read lock (the epoch).
Thu, Nov 7, 8:50 PM
glebius committed rS354476: Remove unnecessary recursive epoch enter via INP_INFO_RLOCK.
Remove unnecessary recursive epoch enter via INP_INFO_RLOCK
Thu, Nov 7, 8:44 PM
glebius committed rS354475: Remove unnecessary recursive epoch enter via INP_INFO_RLOCK.
Remove unnecessary recursive epoch enter via INP_INFO_RLOCK
Thu, Nov 7, 8:43 PM
glebius committed rS354474: Remove unnecessary recursive epoch enter via INP_INFO_RLOCK.
Remove unnecessary recursive epoch enter via INP_INFO_RLOCK
Thu, Nov 7, 8:40 PM
glebius committed rS354473: Remove unnecessary recursive epoch enter via INP_INFO_RLOCK.
Remove unnecessary recursive epoch enter via INP_INFO_RLOCK
Thu, Nov 7, 8:39 PM
glebius committed rS354463: sysctl_rtsock() has all necessary locking and doesn't need Giant to run..
sysctl_rtsock() has all necessary locking and doesn't need Giant to run.
Thu, Nov 7, 7:06 PM
glebius committed rS354448: Widen network epoch coverage in nd6_prefix_onlink() as.
Widen network epoch coverage in nd6_prefix_onlink() as
Thu, Nov 7, 5:00 PM

Nov 7 2019

glebius committed rS354424: Merge r353027:.
Merge r353027:
Nov 7 2019, 12:29 AM
glebius committed rS354423: TCP timers are executed in callout context, so they need to enter network.
TCP timers are executed in callout context, so they need to enter network
Nov 7 2019, 12:27 AM
glebius committed rS354422: Mechanically convert INP_INFO_RLOCK() to NET_EPOCH_ENTER() in.
Mechanically convert INP_INFO_RLOCK() to NET_EPOCH_ENTER() in
Nov 7 2019, 12:10 AM
glebius committed rS354421: Mechanically convert INP_INFO_RLOCK() to NET_EPOCH_ENTER()..
Mechanically convert INP_INFO_RLOCK() to NET_EPOCH_ENTER().
Nov 7 2019, 12:08 AM

Nov 6 2019

glebius accepted D22242: Include caching zones into zone_foreach() where appropriate..
Nov 6 2019, 11:47 PM
glebius committed rS354419: If vm_pager_get_pages_async() returns an error synchronously we leak wired.
If vm_pager_get_pages_async() returns an error synchronously we leak wired
Nov 6 2019, 11:45 PM

Nov 5 2019

glebius added inline comments to D22197: Refactor PCB hash read lock (the epoch).
Nov 5 2019, 10:29 PM
glebius added a comment to D22242: Include caching zones into zone_foreach() where appropriate..

I second Mark's latest suggestion.

Nov 5 2019, 10:14 PM

Nov 4 2019

glebius added a reviewer for D22110: netgraph/ng_car: Add color marking code: mav.
Nov 4 2019, 7:11 PM
glebius committed rS354336: In nd6_timer() enter the network epoch earlier. The defrouter_del() may.
In nd6_timer() enter the network epoch earlier. The defrouter_del() may
Nov 4 2019, 5:35 PM

Nov 2 2019

glebius committed rS354244: Fix regression from r353026. Pointer was increased instead of value.
Fix regression from r353026. Pointer was increased instead of value
Nov 2 2019, 3:09 AM

Oct 30 2019

glebius created D22197: Refactor PCB hash read lock (the epoch).
Oct 30 2019, 5:54 PM

Oct 29 2019

glebius committed rS354149: There is a long standing problem with multicast programming for NICs.
There is a long standing problem with multicast programming for NICs
Oct 29 2019, 5:36 PM
glebius closed D22154: Delayed context for SIOCADDMULTI.
Oct 29 2019, 5:36 PM
glebius committed rS354148: Merge td_epochnest with td_no_sleeping..
Merge td_epochnest with td_no_sleeping.
Oct 29 2019, 5:28 PM
glebius committed rS354147: Augment macros that manipulate td_no_sleeping with assertions to check.
Augment macros that manipulate td_no_sleeping with assertions to check
Oct 29 2019, 5:19 PM

Oct 25 2019

glebius added inline comments to D22154: Delayed context for SIOCADDMULTI.
Oct 25 2019, 9:28 PM
glebius updated the diff for D22154: Delayed context for SIOCADDMULTI.

Remove refcounting and rely on taskqueue_drain().

Oct 25 2019, 9:27 PM
glebius updated the diff for D22154: Delayed context for SIOCADDMULTI.

Drain the task. I'm not sure this is required as we reference the ifp, but
better safe than sorry.

Oct 25 2019, 6:40 PM
glebius created D22154: Delayed context for SIOCADDMULTI.
Oct 25 2019, 5:13 PM
glebius committed rS354083: Add couple more assertions to vm_pager_assert_in(). The bogus page is.
Add couple more assertions to vm_pager_assert_in(). The bogus page is
Oct 25 2019, 5:00 PM

Oct 24 2019

glebius committed rS354052: Use THREAD_CAN_SLEEP() macro to check if thread can sleep. There is no.
Use THREAD_CAN_SLEEP() macro to check if thread can sleep. There is no
Oct 24 2019, 9:55 PM

Oct 22 2019

glebius committed rS353896: Allow epoch tracker to use the very last byte of the stack. Not sure.
Allow epoch tracker to use the very last byte of the stack. Not sure
Oct 22 2019, 6:05 PM
glebius committed rS353889: Execute nd6_dad_timer() in the network epoch, since nd6_dad_duplicated().
Execute nd6_dad_timer() in the network epoch, since nd6_dad_duplicated()
Oct 22 2019, 4:06 PM

Oct 21 2019

glebius committed rS353876: Assert that any epoch tracker belongs to the thread stack..
Assert that any epoch tracker belongs to the thread stack.
Oct 21 2019, 11:12 PM
glebius committed rS353869: Remove epoch tracker from struct thread. It was an ugly crutch to emulate.
Remove epoch tracker from struct thread. It was an ugly crutch to emulate
Oct 21 2019, 6:19 PM
glebius committed rS353868: Remove obsoleted KPIs that were used to access interface address lists..
Remove obsoleted KPIs that were used to access interface address lists.
Oct 21 2019, 6:17 PM
glebius committed rS353867: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:13 PM
glebius committed rS353866: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:13 PM
glebius committed rS353865: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:13 PM
glebius committed rS353864: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:13 PM
glebius committed rS353863: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:13 PM
glebius committed rS353862: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:13 PM
glebius committed rS353861: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:13 PM
glebius committed rS353860: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353859: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353857: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353856: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353858: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353855: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353854: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353852: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353853: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353850: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353849: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353851: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:12 PM
glebius committed rS353848: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353847: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353846: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353845: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353844: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353843: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353842: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353841: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353840: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353839: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353838: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353837: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353836: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:11 PM
glebius committed rS353834: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353833: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353832: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353831: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353830: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353829: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353828: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353826: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353827: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:08 PM
glebius committed rS353825: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:07 PM
glebius committed rS353824: Convert to if_foreach_llmaddr() KPI..
Convert to if_foreach_llmaddr() KPI.
Oct 21 2019, 6:07 PM