Page MenuHomeFreeBSD

glebius (Gleb Smirnoff)
User

Projects

User Details

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

Recent Activity

Today

glebius added reviewers for D42988: inet6: Use IfAPI helper in in6_ifstat_inc: melifaro, gallatin.
Mon, Dec 11, 4:41 AM
glebius added a comment to D42988: inet6: Use IfAPI helper in in6_ifstat_inc.

The if_afdata[] array comes from the old BSD times when it was expected that there would be support for many many address families (e.g. IPX, AppleTalk, etc). Right now it has only two entries AF_INET and AF_INET6. It is very very very unlikely it will ever get a third one. It is much more likely that the array will go away and we will have just ifp->if_inet and ifp->if_inet6. Or maybe something more complicated. Anyway, the access to this data is going to change anyway, so there is no point in overdesigning it right now. Any solution for the sake of IfAPI cleanness is acceptable.

Mon, Dec 11, 4:41 AM

Yesterday

glebius requested review of D42989: netlink: refactor control data generation for recvmsg(2).
Sun, Dec 10, 4:56 AM
glebius updated the diff for D42525: tests/netlink: add netlink socket buffer test.

Add CMSG testing to the size test.

Sun, Dec 10, 4:55 AM
glebius added a comment to D42972: netlink: Don't directly access ifnet members.

Got it. Looks like there is also an assumption here that the first address is always the link level address. Maybe we just need to provide KPI if_getlladdr? May I ask to wait for Alexander melifaro@ to reappear before we proceed forward with that?

Sun, Dec 10, 12:44 AM

Sat, Dec 9

glebius added a comment to D42972: netlink: Don't directly access ifnet members.

I don't understand the change. The epoch protection is already right here. We can safely use CK_STAILQ_FIRST.

Sat, Dec 9, 9:56 PM
glebius accepted D42985: tcp: allow SOL_SOCKET level socket options via sysctl interface.
Sat, Dec 9, 10:26 AM

Thu, Dec 7

glebius closed D42946: tcp_hpts: let tcp_hpts_init() set a random CPU only once.
Thu, Dec 7, 10:43 PM
glebius committed rG3f46be6acadd: tcp_hpts: let tcp_hpts_init() set a random CPU only once (authored by glebius).
tcp_hpts: let tcp_hpts_init() set a random CPU only once
Thu, Dec 7, 10:43 PM
glebius closed D42917: tcp: stop stack timers in tcp_switch_back_to_default().
Thu, Dec 7, 10:43 PM
glebius committed rGade05d63b727: tcp: stop stack timers in tcp_switch_back_to_default() (authored by glebius).
tcp: stop stack timers in tcp_switch_back_to_default()
Thu, Dec 7, 10:42 PM
glebius requested review of D42946: tcp_hpts: let tcp_hpts_init() set a random CPU only once.
Thu, Dec 7, 1:07 AM

Tue, Dec 5

glebius closed D42635: sockets: don't malloc/free sockaddr memory on accept(2).

committed

Tue, Dec 5, 9:54 PM
glebius closed D42856: hpts: make stacks responsible for tcp_hpts_init().

committed

Tue, Dec 5, 9:54 PM
glebius closed D42857: tcp/hpts: make stacks responsible for clearing themselves out HPTS.

committed

Tue, Dec 5, 9:54 PM
glebius requested review of D42917: tcp: stop stack timers in tcp_switch_back_to_default().
Tue, Dec 5, 9:20 PM

Mon, Dec 4

glebius committed rG4b92c7721dee: hpts: remove from opt_inet.h (authored by glebius).
hpts: remove from opt_inet.h
Mon, Dec 4, 7:00 PM
glebius committed rGe3cbc572f154: kern/subr_trap.c: repair the HPTS performance hack in userret() (authored by glebius).
kern/subr_trap.c: repair the HPTS performance hack in userret()
Mon, Dec 4, 7:00 PM
glebius committed rG2c6fc36a0ddd: hpts/lro: make tcp_lro_flush_tcphpts() and tcp_run_hpts() pointers (authored by glebius).
hpts/lro: make tcp_lro_flush_tcphpts() and tcp_run_hpts() pointers
Mon, Dec 4, 7:00 PM
glebius committed rGd2ef52ef3dee: tcp/hpts: make stacks responsible for clearing themselves out HPTS (authored by glebius).
tcp/hpts: make stacks responsible for clearing themselves out HPTS
Mon, Dec 4, 7:00 PM
glebius committed rG2b3a77467dd3: hpts: make stacks responsible for tcp_hpts_init() (authored by glebius).
hpts: make stacks responsible for tcp_hpts_init()
Mon, Dec 4, 7:00 PM
glebius closed D42859: hpts: remove from opt_inet.h.
Mon, Dec 4, 7:00 PM
glebius committed rG8e907391b74c: hpts: don't ifdef tcp_in_hpts() (authored by glebius).
hpts: don't ifdef tcp_in_hpts()
Mon, Dec 4, 7:00 PM
glebius closed D42860: kern/subr_trap.c: repair the HPTS performance hack in userret().
Mon, Dec 4, 7:00 PM
glebius closed D42855: hpts: don't ifdef tcp_in_hpts().
Mon, Dec 4, 7:00 PM
glebius committed rG4f9c93f16c30: lro: separate HPTS specific code into tcp_lro_hpts.c (authored by glebius).
lro: separate HPTS specific code into tcp_lro_hpts.c
Mon, Dec 4, 7:00 PM
glebius closed D42858: hpts/lro: make tcp_lro_flush_tcphpts() and tcp_run_hpts() pointers.
Mon, Dec 4, 7:00 PM
glebius closed D42854: lro: separate HPTS specific code into tcp_lro_hpts.c.
Mon, Dec 4, 6:59 PM
glebius committed rG5b0010b4678d: if_tuntap: fix NOIP build (authored by glebius).
if_tuntap: fix NOIP build
Mon, Dec 4, 6:19 PM

Fri, Dec 1

glebius closed D42830: unix/dgram: bump maximum datagram size limit to 8k.
Fri, Dec 1, 11:39 PM
glebius committed rGbe7c095ac99a: unix/dgram: bump maximum datagram size limit to 8k (authored by glebius).
unix/dgram: bump maximum datagram size limit to 8k
Fri, Dec 1, 11:38 PM
glebius committed R9:6aa453f35899: pgpkeys: new key for glebius (authored by glebius).
pgpkeys: new key for glebius
Fri, Dec 1, 5:31 PM
glebius added a comment to D42830: unix/dgram: bump maximum datagram size limit to 8k.

TLDR: if you fine with proposed bump, please approve the revision. Or suggest a larger value to bump to.

Fri, Dec 1, 5:15 PM
glebius added inline comments to D42694: sockets: don't malloc/free sockaddr memory on getpeername/getsockname.
Fri, Dec 1, 5:58 AM
glebius committed rGcd996b848944: ofed: garbage collect now unused sdp_sockaddr() (authored by glebius).
ofed: garbage collect now unused sdp_sockaddr()
Fri, Dec 1, 5:51 AM

Thu, Nov 30

glebius added inline comments to D42694: sockets: don't malloc/free sockaddr memory on getpeername/getsockname.
Thu, Nov 30, 10:36 PM
glebius requested review of D42860: kern/subr_trap.c: repair the HPTS performance hack in userret().
Thu, Nov 30, 10:18 PM
glebius updated the diff for D42858: hpts/lro: make tcp_lro_flush_tcphpts() and tcp_run_hpts() pointers.

Use better function name in preparation to repair userret() hack.

Thu, Nov 30, 10:17 PM
glebius requested review of D42859: hpts: remove from opt_inet.h.
Thu, Nov 30, 9:18 PM
glebius requested review of D42858: hpts/lro: make tcp_lro_flush_tcphpts() and tcp_run_hpts() pointers.
Thu, Nov 30, 9:18 PM
glebius requested review of D42857: tcp/hpts: make stacks responsible for clearing themselves out HPTS.
Thu, Nov 30, 9:17 PM
glebius requested review of D42856: hpts: make stacks responsible for tcp_hpts_init().
Thu, Nov 30, 9:17 PM
glebius requested review of D42855: hpts: don't ifdef tcp_in_hpts().
Thu, Nov 30, 9:17 PM
glebius requested review of D42854: lro: separate HPTS specific code into tcp_lro_hpts.c.
Thu, Nov 30, 9:16 PM
glebius closed D42694: sockets: don't malloc/free sockaddr memory on getpeername/getsockname.
Thu, Nov 30, 5:27 PM
glebius committed rGae3c8991cf0d: ng_ksocket: fix accept(2) (authored by glebius).
ng_ksocket: fix accept(2)
Thu, Nov 30, 5:02 PM
glebius committed rG09f4b840bd7c: ng_ksocket: fix upcall clearing on node shutdown (authored by glebius).
ng_ksocket: fix upcall clearing on node shutdown
Thu, Nov 30, 5:02 PM
glebius committed rG0fac350c54d0: sockets: don't malloc/free sockaddr memory on getpeername/getsockname (authored by glebius).
sockets: don't malloc/free sockaddr memory on getpeername/getsockname
Thu, Nov 30, 4:35 PM
glebius committed rGcfb1e92912b4: sockets: don't malloc/free sockaddr memory on accept(2) (authored by glebius).
sockets: don't malloc/free sockaddr memory on accept(2)
Thu, Nov 30, 4:35 PM

Wed, Nov 29

glebius added a comment to D42830: unix/dgram: bump maximum datagram size limit to 8k.
In D42830#976836, @bz wrote:

Yes, but it worked for almost 40 years and on every other UNIX/Linux does too. [..] The limits put into that file in the last millennium were and are really not adequate anymore in the last 20 years (despite never been enforced anyway).
Also the changes broke the previous syslogd fixes; this is not just wpa.

Wed, Nov 29, 6:10 PM
glebius requested review of D42830: unix/dgram: bump maximum datagram size limit to 8k.
Wed, Nov 29, 4:03 AM
glebius added a comment to D42558: wpa: ctrl_iface set sendbuf size.

This won't work on FreeBSD 14. The notions of "send buffer size" and "max datagram size" are now two different things. Before 14, SO_SNDBUF in reality controlled the maximum datagram size. Now it controls send buffer size.

Wed, Nov 29, 3:58 AM

Tue, Nov 28

glebius updated the diff for D42525: tests/netlink: add netlink socket buffer test.

+ one more test - sizes

Tue, Nov 28, 8:43 PM
glebius updated the diff for D42785: netlink: improve nl_soreceive().

Fix corner cases covered by updated test.

Tue, Nov 28, 8:43 PM
glebius requested review of D42785: netlink: improve nl_soreceive().
Tue, Nov 28, 4:19 AM
glebius closed D42691: ng_socket: with getsockname() return node ID for unnamed node.
Tue, Nov 28, 4:13 AM
glebius committed rGd2de66a90d01: ng_socket: with getsockname() return node ID for unnamed node (authored by glebius).
ng_socket: with getsockname() return node ID for unnamed node
Tue, Nov 28, 4:13 AM
glebius closed D42690: netgraph: increase size of sockaddr_ng to match maximum node name.
Tue, Nov 28, 4:13 AM
glebius committed rG4064a1108b51: netgraph: increase size of sockaddr_ng to match maximum node name (authored by glebius).
netgraph: increase size of sockaddr_ng to match maximum node name
Tue, Nov 28, 4:13 AM

Mon, Nov 27

glebius committed rG96950419f155: tests: don't run atf_* in a subshell (authored by glebius).
tests: don't run atf_* in a subshell
Mon, Nov 27, 9:17 PM
glebius closed D42646: tests: don't run atf_* in a subshell.
Mon, Nov 27, 9:16 PM

Fri, Nov 24

glebius added a comment to D42646: tests: don't run atf_* in a subshell.
In D42646#974984, @ngie wrote:

It's interesting because I didn't think this was an optimization worth making, but I don't know the scenarios that Netflix is dealing with where this test suite might not scale in the scenario you're addressing here.

Fri, Nov 24, 12:50 AM

Tue, Nov 21

glebius added a comment to D42694: sockets: don't malloc/free sockaddr memory on getpeername/getsockname.

just out of curiosity, why to not to add new kernel interfaces aka
kern_getsockname3(struct thread *td, int fd, struct sockaddr_storage *ss)
and below, into the pr methods?

Tue, Nov 21, 5:28 PM
glebius added a comment to D42635: sockets: don't malloc/free sockaddr memory on accept(2).

Linux emu part, I hope you merge that into at least stable/14

Tue, Nov 21, 5:26 PM
glebius committed rGf90306501856: hpts: install kernel module (authored by glebius).
hpts: install kernel module
Tue, Nov 21, 5:24 PM
glebius committed rG219a6ca91957: tcp: uninline tcp_account_for_send() (authored by glebius).
tcp: uninline tcp_account_for_send()
Tue, Nov 21, 5:24 PM
glebius closed D42697: hpts: install kernel module.
Tue, Nov 21, 5:24 PM
glebius closed D42696: tcp: uninline tcp_account_for_send().
Tue, Nov 21, 5:24 PM
glebius added a comment to D42664: tcphpts: enable per default.

We were actually one step away from a working loadable module.

Tue, Nov 21, 8:29 AM
glebius requested review of D42697: hpts: install kernel module.
Tue, Nov 21, 8:29 AM
glebius requested review of D42696: tcp: uninline tcp_account_for_send().
Tue, Nov 21, 8:29 AM
glebius added a comment to D42679: System crash on docker plugging out ..

There should be a strong reference model around ifa. In in6_unlink_ifa() and ifa is expected to be linked into both lists, thus unlinked from both and two references removed. Looks like you have find a scenario when on entry in6_unlink_ifa() isn't linked at least into one list. Can you provide please reproduce recipe for the problem?

Tue, Nov 21, 5:09 AM
glebius requested review of D42694: sockets: don't malloc/free sockaddr memory on getpeername/getsockname.
Tue, Nov 21, 4:27 AM
glebius added a comment to D42646: tests: don't run atf_* in a subshell.
In D42646#973650, @ngie wrote:

Would you please add a comment to the tops of functions to note what variables are being set in the functions?

Tue, Nov 21, 1:31 AM
glebius requested review of D42691: ng_socket: with getsockname() return node ID for unnamed node.
Tue, Nov 21, 1:28 AM
glebius requested review of D42690: netgraph: increase size of sockaddr_ng to match maximum node name.
Tue, Nov 21, 1:28 AM

Mon, Nov 20

glebius committed rGbbbd7aab1bed: inpcb: garbage collect in_pcbnotifyall() (authored by glebius).
inpcb: garbage collect in_pcbnotifyall()
Mon, Nov 20, 10:39 PM
glebius committed rG367e8adb4be9: tests/netgraph: start ng_socket test suite (authored by glebius).
tests/netgraph: start ng_socket test suite
Mon, Nov 20, 10:38 PM

Sun, Nov 19

glebius added a comment to D42664: tcphpts: enable per default.

Agreed. If threads aren't created until they are needed adding to GENERIC sound alright. At least for "large" platforms like amd64.

Are you preferring to delay the adding of the kernel option until an optimization has been added?

Sun, Nov 19, 4:35 PM
glebius added inline comments to D42635: sockets: don't malloc/free sockaddr memory on accept(2).
Sun, Nov 19, 4:29 PM
glebius added inline comments to D42635: sockets: don't malloc/free sockaddr memory on accept(2).
Sun, Nov 19, 8:25 AM
glebius added a comment to D42664: tcphpts: enable per default.

Agreed. If threads aren't created until they are needed adding to GENERIC sound alright. At least for "large" platforms like amd64.

Sun, Nov 19, 8:11 AM

Fri, Nov 17

glebius added a comment to D42664: tcphpts: enable per default.

I actually planned to make it a loadable module. Given that it creates extra threads that aren't going to be used by default makes its presence questionable.

Fri, Nov 17, 11:06 PM
glebius updated the diff for D42635: sockets: don't malloc/free sockaddr memory on accept(2).

Address review comments.

Fri, Nov 17, 8:21 PM
glebius added inline comments to D42635: sockets: don't malloc/free sockaddr memory on accept(2).
Fri, Nov 17, 8:18 PM
glebius added inline comments to D42635: sockets: don't malloc/free sockaddr memory on accept(2).
Fri, Nov 17, 7:55 PM
glebius added a reviewer for D42525: tests/netlink: add netlink socket buffer test: rcm.
Fri, Nov 17, 7:45 PM
glebius added a reviewer for D42524: netlink: use protocol specific receive buffer: rcm.
Fri, Nov 17, 7:45 PM
glebius added a reviewer for D42523: netlink: uninline some KPI functions that work with struct nl_writer: rcm.
Fri, Nov 17, 7:44 PM
glebius added a reviewer for D42522: netlink: use domain specific send buffer: rcm.
Fri, Nov 17, 7:44 PM
glebius added a reviewer for D42521: netlink: simplify socket destruction: rcm.
Fri, Nov 17, 7:44 PM
glebius added a reviewer for D42520: linux/netlink: don't override sopt level: rcm.
Fri, Nov 17, 7:44 PM
glebius added a reviewer for D42646: tests: don't run atf_* in a subshell: des.
Fri, Nov 17, 7:43 PM
glebius committed rG43f7e2166810: ng_ksocket: fix accept(2) (authored by glebius).
ng_ksocket: fix accept(2)
Fri, Nov 17, 5:25 PM
glebius closed D42637: ng_ksocket: fix accept(2).
Fri, Nov 17, 5:25 PM
glebius committed rGefad7cbfdc06: ng_ksocket: fix upcall clearing on node shutdown (authored by glebius).
ng_ksocket: fix upcall clearing on node shutdown
Fri, Nov 17, 5:25 PM
glebius closed D42636: ng_ksocket: fix upcall clearing on node shutdown.
Fri, Nov 17, 5:25 PM
glebius added a comment to D42647: tcp: Prefer EINVAL in case function not found.

Looks like I lost the vote :) 3 people prefer EINVAL to ENOENT. I guess you dislike ENOENT cause it mentions files and directories and there are no files around. Agreed. Let me tell why I hate EINVAL. Cause it seems as a valid reply to any kind of problem. Developers tend to put it everywhere in the code. If a syscall returns me EINVAL, I can't find the returning line just with grep and my eyes. I end with long dtrace session instead. Numbers:

Fri, Nov 17, 5:00 PM
glebius added a comment to D42646: tests: don't run atf_* in a subshell.

This sweep covers all regressions in ea82362219ee, which are limited to
check for /dev/mdctl. An alternative fix would be to add to Makefiles
something like:

Fri, Nov 17, 3:11 AM
glebius requested review of D42646: tests: don't run atf_* in a subshell.
Fri, Nov 17, 3:10 AM