Page MenuHomeFreeBSD

glebius (Gleb Smirnoff)
User

Projects

User Details

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

Recent Activity

Wed, May 27

glebius accepted D24674: fix sosend() so that it can handle an mbuf list for KTLS.

This looks correct to me.

Wed, May 27, 12:52 AM

Tue, May 19

glebius closed D23674: Change smarter epoch support for NIC drivers to opt-in..
Tue, May 19, 12:57 AM

Sun, May 10

glebius committed rS360873: Merge r360138:.
Merge r360138:
Sun, May 10, 2:47 PM

May 3 2020

glebius committed rS360583: Step 4.2: start divorce of M_EXT and M_EXTPG.
Step 4.2: start divorce of M_EXT and M_EXTPG
May 3 2020, 12:37 AM
glebius committed rS360582: Mechanically rename MBUF_EXT_PGS_ASSERT() to M_ASSERTEXTPG() to match.
Mechanically rename MBUF_EXT_PGS_ASSERT() to M_ASSERTEXTPG() to match
May 3 2020, 12:28 AM
glebius committed rS360581: Step 4.1: mechanically rename M_NOMAP to M_EXTPG.
Step 4.1: mechanically rename M_NOMAP to M_EXTPG
May 3 2020, 12:21 AM
glebius committed rS360579: Step 3: anonymize struct mbuf_ext_pgs and move all its fields into mbuf.
Step 3: anonymize struct mbuf_ext_pgs and move all its fields into mbuf
May 3 2020, 12:13 AM
glebius committed rS360578: Step 2.5: Stop using 'struct mbuf_ext_pgs' in the kernel itself..
Step 2.5: Stop using 'struct mbuf_ext_pgs' in the kernel itself.
May 3 2020, 12:08 AM
glebius committed rS360577: Make MBUF_EXT_PGS_ASSERT_SANITY() a macro, so that it prints file:line..
Make MBUF_EXT_PGS_ASSERT_SANITY() a macro, so that it prints file:line.
May 3 2020, 12:04 AM

May 2 2020

glebius committed rS360576: Step 2.4: Stop using 'struct mbuf_ext_pgs' in drivers..
Step 2.4: Stop using 'struct mbuf_ext_pgs' in drivers.
May 2 2020, 11:58 PM
glebius committed rS360575: Step 2.3: Rename mbuf_ext_pg_len() to m_epg_pagelen() that.
Step 2.3: Rename mbuf_ext_pg_len() to m_epg_pagelen() that
May 2 2020, 11:52 PM
glebius committed rS360574: Step 2.2:.
Step 2.2:
May 2 2020, 11:46 PM
glebius committed rS360573: Step 2.1: Build TLS workqueue from mbufs, not struct mbuf_ext_pgs..
Step 2.1: Build TLS workqueue from mbufs, not struct mbuf_ext_pgs.
May 2 2020, 11:38 PM
glebius committed rS360572: Get rid of the mbuf self-pointing pointer..
Get rid of the mbuf self-pointing pointer.
May 2 2020, 10:56 PM
glebius committed rS360571: Start moving into EPG_/epg_ namespace. There is only one flag, but.
Start moving into EPG_/epg_ namespace. There is only one flag, but
May 2 2020, 10:49 PM
glebius committed rS360570: In mb_unmapped_compress() we don't need mbuf structure to keep data,.
In mb_unmapped_compress() we don't need mbuf structure to keep data,
May 2 2020, 10:44 PM
glebius closed D24598: More re-working of multipage mbufs..
May 2 2020, 10:39 PM
glebius committed rS360569: Continuation of multi page mbuf redesign from r359919..
Continuation of multi page mbuf redesign from r359919.
May 2 2020, 10:39 PM

Apr 28 2020

glebius added inline comments to D24598: More re-working of multipage mbufs..
Apr 28 2020, 5:42 PM

Apr 27 2020

glebius requested review of D24598: More re-working of multipage mbufs..
Apr 27 2020, 6:26 PM

Apr 25 2020

glebius added a comment to D24552: Limit taskqueue/gtaskqueue executions in epoch.

Can we use a time-based expiry, like ticks?

Apr 25 2020, 7:57 PM

Apr 24 2020

glebius created D24552: Limit taskqueue/gtaskqueue executions in epoch.
Apr 24 2020, 2:04 AM

Apr 22 2020

glebius committed rP532444: Remove no longer valid URL..
Remove no longer valid URL.
Apr 22 2020, 3:48 AM
glebius committed rP532443: Re-do r530415 and other patches that skip certain defines in a more.
Re-do r530415 and other patches that skip certain defines in a more
Apr 22 2020, 3:47 AM

Apr 20 2020

glebius committed rS360138: Fix immediate crash when snmpd is bound to a specific IP address..
Fix immediate crash when snmpd is bound to a specific IP address.
Apr 20 2020, 11:32 PM

Apr 17 2020

glebius committed rS360037: Make ZFS depend on xdr.ko only. It doesn't need kernel RPC..
Make ZFS depend on xdr.ko only. It doesn't need kernel RPC.
Apr 17 2020, 6:05 AM
glebius committed rS360036: Split XDR into separate kernel module. Make krpc depend on xdr..
Split XDR into separate kernel module. Make krpc depend on xdr.
Apr 17 2020, 6:04 AM
glebius committed rS360035: Move M_RPC malloc type into XDR. Both RPC and XDR libraries use.
Move M_RPC malloc type into XDR. Both RPC and XDR libraries use
Apr 17 2020, 6:02 AM
glebius closed D24408: ZFS should depend on XDR, not full RPC.
Apr 17 2020, 6:02 AM
glebius committed rS360034: Don't initialize m->m_data to m->m_pktdat, this is already done by the.
Don't initialize m->m_data to m->m_pktdat, this is already done by the
Apr 17 2020, 6:00 AM

Apr 16 2020

glebius added a comment to D24408: ZFS should depend on XDR, not full RPC.

Oh, one other thing.
I can never remember without doing a build, but maybe a
MODULE_DEPEND(xxx, xdr, 1, 1, 1)
needs to be added to all the modules that currently have
MODULE_DEPEND(xxx, krpc, 1, 1, 1)?

Apr 16 2020, 5:12 PM
glebius added inline comments to D24408: ZFS should depend on XDR, not full RPC.
Apr 16 2020, 5:09 PM
glebius added a comment to D24408: ZFS should depend on XDR, not full RPC.

Out of curiosity, how does options XDR (in a kernel config) avoid a name collision with the XDR typedef?

Apr 16 2020, 5:08 PM
glebius updated the diff for D24408: ZFS should depend on XDR, not full RPC.

Since separating malloc types goes more and more complicated, follow
Rick's suggestion and abandon that idea. Move MALLOC_DECLARE(M_RPC)
into XDR. Three commits remain:

Apr 16 2020, 5:06 PM

Apr 15 2020

glebius added a comment to D24408: ZFS should depend on XDR, not full RPC.

I don't see anything wrong with this review, but FYI there is now a live upstream https://github.com/openzfs/zfs/commit/9f0a21e6411aa0bac23fba0ddb220342a48c7cc7 and the code in HEAD will some time later this year be replaced with vendor code. Most of the changes to ZFS in HEAD at this point will only live on through MFCs to stable/12 and stable/11.

Apr 15 2020, 12:00 AM

Apr 14 2020

glebius added a comment to D24408: ZFS should depend on XDR, not full RPC.

It seems that a lot of the complexity of this patch is a result of defining
a new malloc() type.
Is a new type really needed?
I'll leave it up to you, but I'd just stick with M_RPC everywhere and
that would keep the patch a lot simpler.

Apr 14 2020, 11:59 PM
glebius updated the diff for D24408: ZFS should depend on XDR, not full RPC.

Address Rick's comment and split into more commits.

Apr 14 2020, 7:19 PM
glebius added a comment to D24408: ZFS should depend on XDR, not full RPC.

My only concern is that there is a mem_free() call done
somewhere in the rpc code for one of these malloc()s,
but I couldn't find one.
If this happens, it will be easily spotted during testing
when "vmstat -m" generates crap for "rpc" and "xdr".

Apr 14 2020, 6:58 PM
glebius added a comment to D24408: ZFS should depend on XDR, not full RPC.

Oh, one other thing.
I can never remember without doing a build, but maybe a
MODULE_DEPEND(xxx, xdr, 1, 1, 1)
needs to be added to all the modules that currently have
MODULE_DEPEND(xxx, krpc, 1, 1, 1)?

Apr 14 2020, 5:24 PM
glebius added inline comments to D24408: ZFS should depend on XDR, not full RPC.
Apr 14 2020, 4:25 PM
glebius added a comment to D23928: Add deprecation notices to ce,cp,mn sync serial drivers.

Sorry, totally forgot about this. Will call them today/tomorrow.

Apr 14 2020, 1:55 AM

Apr 13 2020

glebius created D24408: ZFS should depend on XDR, not full RPC.
Apr 13 2020, 10:57 PM

Mar 30 2020

glebius accepted D24038: Fixes for sendfile..

Thanks a lot for the change! I'd really wish that scopes of local variables isn't increased. If it is possible to avoid doing that, I'd really appreciate.

Mar 30 2020, 5:35 PM
glebius added inline comments to D24038: Fixes for sendfile..
Mar 30 2020, 5:32 PM
glebius added a comment to D24038: Fixes for sendfile..

Just a general note, that I really dislike moving of local variables to a greater scope. Yes, I know that a document from the previous century named style(9) suggests to do that. But doing it this way makes code harder to read! Change my mind.

Mar 30 2020, 5:18 PM

Mar 5 2020

glebius committed rS358686: Align the buffer to the alignment of the structure we expect..
Align the buffer to the alignment of the structure we expect.
Mar 5 2020, 9:02 PM
glebius added a reviewer for D23928: Add deprecation notices to ce,cp,mn sync serial drivers: glebius.
Mar 5 2020, 12:48 AM
glebius added a comment to D23928: Add deprecation notices to ce,cp,mn sync serial drivers.

These cards seem to be still produced and sold http://cronyx.ru/hardware/wan.html

Mar 5 2020, 12:47 AM

Mar 4 2020

glebius committed rS358658: Add a missing bktr header..
Add a missing bktr header.
Mar 4 2020, 11:49 PM
glebius closed D23954: netgraph/ng_car: Fix spelling.
Mar 4 2020, 10:32 PM
glebius committed rS358657: Fix spelling of "dropped"..
Fix spelling of "dropped".
Mar 4 2020, 10:32 PM
glebius committed rS358656: Remove unused function..
Remove unused function.
Mar 4 2020, 10:31 PM
glebius committed rS358655: When a machine boots the NFS mounting script is executed after.
When a machine boots the NFS mounting script is executed after
Mar 4 2020, 10:27 PM
glebius closed D23934: mount_nfs: retry when interface state changes to IFF_UP and link up.
Mar 4 2020, 10:27 PM

Mar 3 2020

glebius added a reviewer for D23934: mount_nfs: retry when interface state changes to IFF_UP and link up: network.
Mar 3 2020, 12:19 AM
glebius added a comment to D23788: DRAFT: ng_ksocket: IPv6 address parsing and unparsing.

I still get "ngctl: send msg: Invalid argument" errors with the commands in the Test Plan. Am I doing anything wrong?

Mar 3 2020, 12:17 AM · network
glebius added a comment to D23721: ng_one2many: Don't duplicate packets with m_dup() when receiving and re-transmitting.

This can make sense in certain setups. However, since originally node provided writable copies to each of "many" hooks, we can't change that. This can be configured as a node option, if sysadmin is sure that nodes downstream of "many" hooks are fine with read only mbufs.

Mar 3 2020, 12:09 AM
glebius created D23934: mount_nfs: retry when interface state changes to IFF_UP and link up.
Mar 3 2020, 12:02 AM

Mar 2 2020

glebius accepted D23886: ip6_output: use new routing KPI when not passed a cached route.
Mar 2 2020, 9:35 PM

Feb 25 2020

glebius committed rS358320: Generalize resources freeing in sendfile with different scenarios..
Generalize resources freeing in sendfile with different scenarios.
Feb 25 2020, 7:29 PM
glebius committed rS358319: Make ktls_frame() never fail. Caller must supply correct mbufs..
Make ktls_frame() never fail. Caller must supply correct mbufs.
Feb 25 2020, 7:27 PM
glebius committed rS358317: When sendfile_swapin() sweeps through pages in search for a bogus page.
When sendfile_swapin() sweeps through pages in search for a bogus page
Feb 25 2020, 7:11 PM

Feb 24 2020

glebius committed rS358301: Although most of the NIC drivers are epoch ready, due to peer pressure.
Although most of the NIC drivers are epoch ready, due to peer pressure
Feb 24 2020, 9:07 PM

Feb 21 2020

glebius committed rS358194: Rework second part of r357558. Unroll the macro and allocate memory in.
Rework second part of r357558. Unroll the macro and allocate memory in
Feb 21 2020, 4:18 AM
glebius committed rS358193: Revert one half of previous change r357558. Don't enter the epoch on.
Revert one half of previous change r357558. Don't enter the epoch on
Feb 21 2020, 4:10 AM

Feb 18 2020

glebius accepted D23742: Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process incoming packets in taskqueue context..
Feb 18 2020, 7:38 PM

Feb 13 2020

glebius created D23674: Change smarter epoch support for NIC drivers to opt-in..
Feb 13 2020, 10:02 PM
glebius added inline comments to D23656: Move MPASS() macros to systm.h..
Feb 13 2020, 6:13 PM
glebius added inline comments to D23656: Move MPASS() macros to systm.h..
Feb 13 2020, 4:01 PM
glebius added a comment to D23656: Move MPASS() macros to systm.h..
In D23656#519345, @mjg wrote:

no, keep it grouped with the rest for consistency but #if defined(_KERNEL) around it

Feb 13 2020, 6:05 AM
glebius updated the diff for D23656: Move MPASS() macros to systm.h..

Shift down under _KERNEL.

Feb 13 2020, 5:48 AM
glebius 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.

Feb 13 2020, 5:47 AM
glebius added a comment to D23656: Move MPASS() macros to systm.h..
In D23656#519337, @mjg wrote:

looks like this is guarded by _KERNEL in the original header, we should stick to it just in case in the new one

Feb 13 2020, 5:41 AM

Feb 12 2020

glebius created D23656: Move MPASS() macros to systm.h..
Feb 12 2020, 11:03 PM
glebius added a comment to D23654: Add support for more interrupt types.

This change looks good to me in general. The only problem I see that Mellanox will now won't have batched epoch. And this was one of the drivers that really benefited from it in our testing of batching epoch at interrupt level.

Feb 12 2020, 7:56 PM

Feb 11 2020

glebius committed rS357779: Remove assertion from TASK_INIT() macro, since some users of.
Remove assertion from TASK_INIT() macro, since some users of
Feb 11 2020, 9:21 PM
glebius committed rS357773: Mark lio taskqueue as requiring network epoch..
Mark lio taskqueue as requiring network epoch.
Feb 11 2020, 7:13 PM
glebius committed rS357772: Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process.
Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process
Feb 11 2020, 6:57 PM
glebius committed rS357771: Add flag to struct task to mark the task as requiring network epoch..
Add flag to struct task to mark the task as requiring network epoch.
Feb 11 2020, 6:48 PM
glebius closed D23518: epoch support for taskqueues [2].
Feb 11 2020, 6:48 PM
glebius updated the diff for D23518: epoch support for taskqueues [2].
  • Add flag to struct task to mark the task as requiring network epoch.
  • Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process
  • Revert "Temporarily force IFF_NEEDSEPOCH until drivers have been resolved."
Feb 11 2020, 6:10 PM
glebius accepted D23599: Add missing EPOCH(9) wrapper in ipfw.
Feb 11 2020, 6:09 PM

Feb 10 2020

glebius updated the diff for D23518: epoch support for taskqueues [2].

Convert pointer in struct task to a flag.

Feb 10 2020, 11:56 PM
glebius added inline comments to D23518: epoch support for taskqueues [2].
Feb 10 2020, 7:02 PM
glebius added a comment to D23599: Add missing EPOCH(9) wrapper in ipfw.

Thanks for the find. I'd rather move the entrance to dyn_tick(). Would use less lines of code and would make it easier to spot it later, when we have callouts supporting epoch.

Feb 10 2020, 6:15 PM

Feb 6 2020

glebius accepted D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Feb 6 2020, 11:30 PM

Feb 5 2020

glebius accepted D23515: Temporarily force IFF_NEEDSEPOCH until drivers have been resolved..
Feb 5 2020, 6:00 PM
glebius added a comment to D23408: epoch support for taskqueues.

Since this revision was commandeered, I created a new one: https://reviews.freebsd.org/D23518

Feb 5 2020, 5:58 PM
glebius updated the summary of D23518: epoch support for taskqueues [2].
Feb 5 2020, 5:53 PM
glebius retitled D23518: epoch support for taskqueues [2] from Summary: epoch support for taskqueues [2] to epoch support for taskqueues [2].
Feb 5 2020, 5:53 PM
glebius created D23518: epoch support for taskqueues [2].
Feb 5 2020, 5:52 PM
glebius added inline comments to D23483: Fix for unbalanced EPOCH(9) usage in kernel interrupt handler.
Feb 5 2020, 5:08 PM
glebius committed rS357559: I doubt anybody in the world uses ng_device, but its write method should.
I doubt anybody in the world uses ng_device, but its write method should
Feb 5 2020, 3:07 AM
glebius committed rS357558: Enter the network epoch when ng_socket sends data or control from user.
Enter the network epoch when ng_socket sends data or control from user
Feb 5 2020, 3:06 AM
glebius committed rS357557: netgraph(4) callouts need to be executed in the network epoch..
netgraph(4) callouts need to be executed in the network epoch.
Feb 5 2020, 2:53 AM

Feb 3 2020

glebius committed rS357466: Couple protocol drain routines (frag6_drain and sctp_drain) may send.
Couple protocol drain routines (frag6_drain and sctp_drain) may send
Feb 3 2020, 8:49 PM

Feb 1 2020

glebius commandeered D23408: epoch support for taskqueues.

Hans, first you start commit war in subversion and then you "commandeer" my revision. We will not make any progress if you "help" like this.

Feb 1 2020, 4:02 AM

Jan 30 2020

glebius added a comment to D23408: epoch support for taskqueues.

In the kernel there are 403 instances of TASK_INIT(). In this patch I only see NET_TASK_INIT() used 5 times. Does this justify the increased memory usage of "struct task".
grep -r TASK_INIT\( sys/ | grep -v GTASK | wc -l

403
Jan 30 2020, 8:47 PM
glebius committed rS357279: Fix text format definition for kern.maxvnodes, vfs.wantfreevnodes. This.
Fix text format definition for kern.maxvnodes, vfs.wantfreevnodes. This
Jan 30 2020, 12:18 AM

Jan 29 2020

glebius committed rS357276: Fix missing NET_EPOCH_ENTER() when compiled with TCP_OFFLOAD..
Fix missing NET_EPOCH_ENTER() when compiled with TCP_OFFLOAD.
Jan 29 2020, 10:48 PM