Page MenuHomeFreeBSD

aleksandr.fedorov_itglobal.com (Aleksandr Fedorov)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 18 2019, 4:52 AM (62 w, 4 d)

Recent Activity

Sun, Mar 29

aleksandr.fedorov_itglobal.com added inline comments to D23971: [bhyve][virtio-net] Add MTU advice support.
Sun, Mar 29, 2:19 PM

Sat, Mar 28

aleksandr.fedorov_itglobal.com added inline comments to D23971: [bhyve][virtio-net] Add MTU advice support.
Sat, Mar 28, 6:13 PM
aleksandr.fedorov_itglobal.com updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Allow entering MTU value in HEX.
Sat, Mar 28, 6:01 PM

Thu, Mar 19

aleksandr.fedorov_itglobal.com added a reviewer for D21965: usr.sbin/ngctl: Generate more compact GraphWiz output: vmaffione.
Thu, Mar 19, 3:42 PM
aleksandr.fedorov_itglobal.com added inline comments to D21965: usr.sbin/ngctl: Generate more compact GraphWiz output.
Thu, Mar 19, 3:41 PM
aleksandr.fedorov_itglobal.com added a comment to D21965: usr.sbin/ngctl: Generate more compact GraphWiz output.

I tested this patch in our test lab with a lot of netgraph nodes. And I find it very useful.

Thu, Mar 19, 3:40 PM
aleksandr.fedorov_itglobal.com added inline comments to D23963: netgraph/ng_bridge: Introduce "uplink" ports without MAC learning.
Thu, Mar 19, 3:33 PM
aleksandr.fedorov_itglobal.com added a comment to D23963: netgraph/ng_bridge: Introduce "uplink" ports without MAC learning.

I look at this issue from network virtualization point of view.
I have a plan (and patches) for adding native Netgraph support to the Bhyve network backend through ng_socket(4).
For this case, it is very interesting to be able to create ng_bridge(4) with the following options:

  • One "uplink" hook with learning turned off, but all unknown MAC's go through it.
  • The rest of the hooks have learning enabled, but unknown MAC's are not sent to them.
Thu, Mar 19, 3:25 PM
aleksandr.fedorov_itglobal.com created D24121: Add myself (afedorov) as a src commiter.
Thu, Mar 19, 7:51 AM

Wed, Mar 18

aleksandr.fedorov_itglobal.com added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

Can we come to some kind of consensus?

Wed, Mar 18, 6:36 PM

Mon, Mar 16

aleksandr.fedorov_itglobal.com updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Add additional checks (see Test Plan).
Mon, Mar 16, 6:20 PM
aleksandr.fedorov_itglobal.com added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

I understand your opinion, but because we do not know what kind of OS will be used as a guest, I think additional checks will not be superfluous. Also, I think it's easier to look for errors if bhyve crashes earlier.

Mon, Mar 16, 6:14 PM

Sat, Mar 14

aleksandr.fedorov_itglobal.com updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
Sat, Mar 14, 4:26 PM

Fri, Mar 13

aleksandr.fedorov_itglobal.com updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Fix typo.
  • Enable VIRTIO_NET_F_MTU only if user provide mtu argument.
Fri, Mar 13, 4:59 PM
aleksandr.fedorov_itglobal.com added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

Yes, I tested various MTU values ​​(including 9000) with different backends (if_tuntap(4), vale). I did not find any regressions without using the mtu argument.

Fri, Mar 13, 4:56 PM

Thu, Mar 12

aleksandr.fedorov_itglobal.com updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Fix typo.
  • Disable VIRTIO_NET_F_MQ flag.
  • Check the lower boundary of the MTU with ETHERMIN.
Thu, Mar 12, 9:37 AM

Wed, Mar 11

aleksandr.fedorov_itglobal.com added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

I actually see an additional issue. According to the standard, VIRTIO_NET_F_MQ depends on VIRTIO_NET_F_CTRL_VQ.
So it looks like we should add support for VIRTIO_NET_F_CTRL_VQ as a first step.

Wed, Mar 11, 10:51 AM
aleksandr.fedorov_itglobal.com added a comment to D23971: [bhyve][virtio-net] Add MTU advice support.

I agree that the lower bound looks weird. And it came from Linux:
https://elixir.bootlin.com/linux/latest/source/drivers/net/virtio_net.c#L2978
https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/if_ether.h#L40

Wed, Mar 11, 6:16 AM

Tue, Mar 10

aleksandr.fedorov_itglobal.com updated the diff for D23971: [bhyve][virtio-net] Add MTU advice support.
  • Move checks of the MTU value to pci_virtio_net.c and add the corresponding min/max definitions from the virtio specification.
  • Fix default MTU value.
  • Add VIRTIO_NET_F_MQ capability, and initialize max_virtqueue_pairs.
Tue, Mar 10, 5:32 PM

Fri, Mar 6

aleksandr.fedorov_itglobal.com added a reviewer for D23971: [bhyve][virtio-net] Add MTU advice support: bryanv.
Fri, Mar 6, 3:26 PM
aleksandr.fedorov_itglobal.com added a comment to D23987: [if_vtnet] Add VIRTIO_NET_F_MTU flag support..

Oh, I'm glad to hear that. May you comment on support from Bhyve side?

Fri, Mar 6, 3:25 PM
aleksandr.fedorov_itglobal.com created D23987: [if_vtnet] Add VIRTIO_NET_F_MTU flag support..
Fri, Mar 6, 3:07 PM

Thu, Mar 5

aleksandr.fedorov_itglobal.com added a comment to D23963: netgraph/ng_bridge: Introduce "uplink" ports without MAC learning.

Is it really useful to have multiple uplinks?

Thu, Mar 5, 4:38 PM
aleksandr.fedorov_itglobal.com added a reviewer for D23971: [bhyve][virtio-net] Add MTU advice support: rgrimes.
Thu, Mar 5, 4:04 PM
aleksandr.fedorov_itglobal.com created D23971: [bhyve][virtio-net] Add MTU advice support.
Thu, Mar 5, 3:56 PM

Feb 28 2020

aleksandr.fedorov_itglobal.com updated subscribers of D23842: When generating an cloned interface instance in edsc_clone_create(), generate a random MAC address.
Feb 28 2020, 7:28 PM · network

Feb 26 2020

aleksandr.fedorov_itglobal.com added inline comments to D23842: When generating an cloned interface instance in edsc_clone_create(), generate a random MAC address.
Feb 26 2020, 6:22 PM · network
aleksandr.fedorov_itglobal.com added inline comments to D23840: netgraph/ng_base: Allow larger BINARY2ASCII conversions.
Feb 26 2020, 3:59 PM

Feb 20 2020

aleksandr.fedorov_itglobal.com added a comment to D23472: bhyve: enable virtio-net mergeable rx buffers for tap(4).

I tested this patch with various OS’s(windows, Ubuntu, centos) and didn’t find any issues. So, I think it’s ready to go.

Feb 20 2020, 9:14 PM

Feb 18 2020

aleksandr.fedorov_itglobal.com accepted D23472: bhyve: enable virtio-net mergeable rx buffers for tap(4).

Sorry, I didn’t have time to test the patch. But as for the code, I have no questions.

Feb 18 2020, 2:38 PM

Feb 12 2020

aleksandr.fedorov_itglobal.com added a comment to D23577: divert: Add socket options for divert socket's send and receive buffers.

divert sockets can be used with other software but present exactly same significant overhead.
Do you have an example when suggested change improves performance really?

Feb 12 2020, 6:56 PM
aleksandr.fedorov_itglobal.com added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Ping. Are there any issues that prevent committing these changes?

Feb 12 2020, 11:08 AM
aleksandr.fedorov_itglobal.com added inline comments to D23577: divert: Add socket options for divert socket's send and receive buffers.
Feb 12 2020, 10:47 AM
aleksandr.fedorov_itglobal.com added a comment to D23577: divert: Add socket options for divert socket's send and receive buffers.

divert(4) sockets can be used not only with natd(8), so the changes looks reasonable for me.

Feb 12 2020, 10:30 AM

Feb 7 2020

aleksandr.fedorov_itglobal.com added inline comments to D23472: bhyve: enable virtio-net mergeable rx buffers for tap(4).
Feb 7 2020, 9:24 AM

Jan 30 2020

aleksandr.fedorov_itglobal.com added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Yes indeed. But also the Linux virtio-net driver should do the same when mergeable rx buffers are not allocated.... so it is weird that it does not work in that case!

Jan 30 2020, 10:44 PM
aleksandr.fedorov_itglobal.com added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Hah, I checked fFreeBSD 12 guest and it works. It seems that, the FreeBSD guest driver allocates descriptors of size >= MTU.

Jan 30 2020, 9:43 PM
aleksandr.fedorov_itglobal.com added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Have you set mtu 9000 on the vtnet0 in the guest?
My tests were VM-2-VM, both freebsd guests.

Jan 30 2020, 9:25 PM
aleksandr.fedorov_itglobal.com added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

Thanks for the suggestion. I retried with -D (on head), and it still works. I cannot reproduce the broken jumbo-frames+tap...

Jan 30 2020, 8:56 PM

Jan 27 2020

aleksandr.fedorov_itglobal.com added a comment to D23342: bhyve: move virtio-net header processing to pci_virtio_net.

The changes looks good to me.

Jan 27 2020, 5:29 PM

Jan 24 2020

aleksandr.fedorov_itglobal.com added inline comments to D23342: bhyve: move virtio-net header processing to pci_virtio_net.
Jan 24 2020, 8:16 AM
aleksandr.fedorov_itglobal.com added inline comments to D23342: bhyve: move virtio-net header processing to pci_virtio_net.
Jan 24 2020, 8:08 AM

Jan 22 2020

aleksandr.fedorov_itglobal.com added a comment to D23010: usr.sbin/bhyve: Implement a generic block store backend interf..

I think this patch is the right direction. Now it’s really very difficult to add a storage backend other than file-like operations.

Jan 22 2020, 2:07 PM

Jan 16 2020

aleksandr.fedorov_itglobal.com added a reviewer for D23168: [netgraph/ng_eiface] Generate MAC address from the FreeBSD OUI range.: ae.
Jan 16 2020, 9:59 AM
aleksandr.fedorov_itglobal.com added a comment to D23168: [netgraph/ng_eiface] Generate MAC address from the FreeBSD OUI range..

ping

Jan 16 2020, 9:58 AM

Jan 14 2020

aleksandr.fedorov_itglobal.com added inline comments to D23171: Make linux(4) handle TCP_CORK.
Jan 14 2020, 2:52 PM
aleksandr.fedorov_itglobal.com created D23168: [netgraph/ng_eiface] Generate MAC address from the FreeBSD OUI range..
Jan 14 2020, 10:44 AM

Dec 25 2019

aleksandr.fedorov_itglobal.com added inline comments to D22881: bhyve: terminate waiting loops if thread suspension is requested.
Dec 25 2019, 1:17 PM
aleksandr.fedorov_itglobal.com added inline comments to D22881: bhyve: terminate waiting loops if thread suspension is requested.
Dec 25 2019, 12:24 PM

Dec 24 2019

aleksandr.fedorov_itglobal.com added a comment to D22881: bhyve: terminate waiting loops if thread suspension is requested.

I catch this KASSERT (https://svnweb.freebsd.org/base/head/sys/amd64/vmm/vmm_dev.c?view=markup#l799) when trying to attach debugger to bhyve process.

Dec 24 2019, 1:15 PM
aleksandr.fedorov_itglobal.com added inline comments to D22881: bhyve: terminate waiting loops if thread suspension is requested.
Dec 24 2019, 12:36 PM

Dec 4 2019

aleksandr.fedorov_itglobal.com added a comment to D20468: Port if_vether from OpenBSD.

We are also interested in this interface.
It looks good for use with vale (4) to connect a virtual network to the host stack: bhyve VM's - vale (4) - if_vether (4) - Host. I tested this and it works well. But now we use if_epair (4) for this configuration, because I didn't know about the existence of the port.

Dec 4 2019, 4:10 PM

Nov 26 2019

aleksandr.fedorov_itglobal.com added a comment to D22552: bhyve: uniform printf format string newlines.

I welcome these changes. The current debug output looks like a mess.
Moreover, part of the files declares (W/D)PRINTF as

Nov 26 2019, 6:34 AM

Nov 19 2019

aleksandr.fedorov_itglobal.com added a comment to D22440: bhyve: virtio-net: disable receive until features are negotiated.

The race would not have been fatal (but is still good to fix) if the default been the more compatible behavior.

Nov 19 2019, 6:21 PM

Nov 9 2019

aleksandr.fedorov_itglobal.com accepted D22286: bhyve: rework mevent processing to fix a race condition.

The changes look good to me. And I can not reproduce the bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241808

Nov 9 2019, 3:07 PM

Oct 25 2019

aleksandr.fedorov_itglobal.com added a comment to D22140: netgraph/ng_tag: Variable length data can not be set for all length.

I think you need to add people with good knowledge of the netgraph to the reviewers: JulianElischer, Gleb Smirnoff and Alexander Motin. Because apparently not all are subscribed to the network mailing list.

Oct 25 2019, 2:37 PM

Sep 14 2019

aleksandr.fedorov_itglobal.com added a comment to D20973: bhyve: support for enabling/disabling the net backend.
In D20973#471364, @jhb wrote:

So I don't see any uses of mevent_add_disabled() in this change?

Sep 14 2019, 10:55 AM

Sep 4 2019

aleksandr.fedorov_itglobal.com added a comment to D20973: bhyve: support for enabling/disabling the net backend.

I tested this patch in various configurations using iperf3:

Sep 4 2019, 7:23 AM

Aug 14 2019

aleksandr.fedorov_itglobal.com added a comment to D21240: net: add ETHER_IS_ZERO macro similar to ETHER_IS_BROADCAST.

Ops, you’re right. Sorry for the noise.

Aug 14 2019, 5:53 AM

Aug 13 2019

aleksandr.fedorov_itglobal.com added a comment to D21240: net: add ETHER_IS_ZERO macro similar to ETHER_IS_BROADCAST.

It’s seems I found another incorrect solution:

Aug 13 2019, 11:12 PM
aleksandr.fedorov_itglobal.com added inline comments to D21240: net: add ETHER_IS_ZERO macro similar to ETHER_IS_BROADCAST.
Aug 13 2019, 7:42 PM

Jul 31 2019

aleksandr.fedorov_itglobal.com abandoned D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..
Jul 31 2019, 10:00 AM

Jul 24 2019

aleksandr.fedorov_itglobal.com added a comment to D21007: bhyve: add support for virtio-net mergeable rx buffers.

I tried to compare performance on a dedicated server.
Host: Single-processor Xeon E5-2630 v4 @ 2.20GHz, 128 GB RAM, FreeBSD latest CURRENT.

Jul 24 2019, 6:54 PM

Jul 23 2019

aleksandr.fedorov_itglobal.com added a comment to D21007: bhyve: add support for virtio-net mergeable rx buffers.

Sorry, but I didn't compare the performance. I conducted my tests on a machine loaded with other tasks. The throughput between two Ubuntu 16.04 vm's floats from 16 to 18 Gbit / s, sometimes increasing up to 28 Gbit / s. FreeBSD - FreeBSD ~ 7-8 Gbit / s. But as I said, the host machine was loaded with other tasks. Also this machine has two processors, and I clearly observed NUMA effects. I will try to compare the performance on a separate test server tomorrow.

Jul 23 2019, 5:49 PM
aleksandr.fedorov_itglobal.com added a comment to D21007: bhyve: add support for virtio-net mergeable rx buffers.

I tested the updated patch with iperf3 in various combinations:

  1. vm (ubuntu 16.04) - vale - vm (ubuntu 16.04)
  2. vm (freebsd 13) - vale - vm (ubuntu 16.04)
  3. vm (ubuntu 16.04) - vale - host(if_epair)
  4. vm (freebsd 13) - vale - host(if_epair)
Jul 23 2019, 1:28 PM

Jul 22 2019

aleksandr.fedorov_itglobal.com added inline comments to D21007: bhyve: add support for virtio-net mergeable rx buffers.
Jul 22 2019, 6:31 AM

Jul 19 2019

aleksandr.fedorov_itglobal.com added a comment to D20987: bhyve: add backend rx backpressure to virtio-net.

I tested this path in our test lab. It’s works fine.

Jul 19 2019, 8:53 PM

Jul 17 2019

aleksandr.fedorov_itglobal.com added a comment to D19422: if_vxlan(4) Allow set MTU more than 1500 bytes..

ping?

Jul 17 2019, 5:34 PM

Jul 16 2019

aleksandr.fedorov_itglobal.com added inline comments to D20973: bhyve: support for enabling/disabling the net backend.
Jul 16 2019, 6:44 PM
aleksandr.fedorov_itglobal.com added a comment to D19422: if_vxlan(4) Allow set MTU more than 1500 bytes..

Can anyone commit this patch?

Jul 16 2019, 5:20 AM

Jul 15 2019

aleksandr.fedorov_itglobal.com added a comment to D19422: if_vxlan(4) Allow set MTU more than 1500 bytes..

VXLAN encapsulate ethernet frames within UDP/IP packets. So, we can calculate maximum overhead for IPv4:

  • IP_MAXPACKET = 65K - constant from netinet/ip.h.
  • Maximum IP header length IP_MAX_HDR_LEN (There is no suitable constant for it.) = 60 as the Internet Header Length field is the unsigned 4-bit number of 32-bit words - 15 * 32 = 480 bit = 60 bytes.
  • sizeof(struct udphdr) = 8 bytes.
  • sizeof(struct vxlan_header) = 8 bytes.
  • Inner frame ETHER_HDR_LEN = 14 bytes.
  • Inner frame ETHER_CRC_LEN = 4 bytes.
  • Inner frame ETHER_VLAN_ENCAP_LEN = 4 bytes.
Jul 15 2019, 8:42 AM

Jul 12 2019

aleksandr.fedorov_itglobal.com updated the test plan for D19422: if_vxlan(4) Allow set MTU more than 1500 bytes..

I think that mtu handling in ether_ioctl () requires more work and must be done very carefully, because it is used by many other drivers. Some drivers set the IFCAP_JUMBO_MTU flag, but limit the maximum MTU size to less than 9000 bytes. Therefore, it is not so easy to handle the various requirements for drivers in ether_ioctl (), and failback to the standard MTU (1500) size may be reasonable.

Jul 12 2019, 10:14 AM

Jul 1 2019

aleksandr.fedorov_itglobal.com updated the test plan for D20824: Fix netmap + vlan panics.
Jul 1 2019, 1:21 PM
aleksandr.fedorov_itglobal.com created D20824: Fix netmap + vlan panics.
Jul 1 2019, 12:58 PM
aleksandr.fedorov_itglobal.com added a comment to D20659: bhyve: abstraction for network backends.

I tested the latest version of the patch on real hardware with different operating systems and different MTUs, using iperf3 and ping -f -c. It seems everything works as expected.
VM1 (Ubuntu 16.04) - VALE - VM2 (Ubuntu 16.04) iperf3 speed 16 Gbits/s
VM1 (FreeBSD 12) - VALE - VM2 (FreeBSD 12) iperf3 speed 11 Gbits/s
VM1 (Ubuntu 16.04) - VALE - VM2 (FreeBSD 12) iperf3 speed 14 Gbits/s

Jul 1 2019, 6:09 AM

Jun 28 2019

aleksandr.fedorov_itglobal.com added inline comments to D20659: bhyve: abstraction for network backends.
Jun 28 2019, 8:19 AM

Jun 7 2019

aleksandr.fedorov_itglobal.com updated the diff for D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..

Rename vq_get_mrgrx_bufs() to vq_getbufs_mrgrx() and vq_relchain_mrgrx() to vq_relbufs_mrgrx() to to corresponding overall style.

Jun 7 2019, 12:15 PM
aleksandr.fedorov_itglobal.com updated the diff for D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..
  • Reuse vq_getchain() to handle various negotiated features (TSO, MRG_RXBUF, INDIRECT descriptors).
  • Add two helper functions vq_get_mrgrx_bufs() and vq_relchain_mrgrx() and move it to virtio.[ch]
Jun 7 2019, 8:17 AM

May 30 2019

aleksandr.fedorov_itglobal.com added a comment to D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..

Vincenzo, you are right. I'm trying to rewrite the code to handle various negotated features. But I need some more time to test it.

May 30 2019, 12:54 PM

May 23 2019

aleksandr.fedorov_itglobal.com added inline comments to D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..
May 23 2019, 3:00 PM
aleksandr.fedorov_itglobal.com updated the diff for D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..

Change r->cur to r->head in RX path

May 23 2019, 2:34 PM
aleksandr.fedorov_itglobal.com added a comment to D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..

Vincenzo, thanks for the review.
The main motivation to write the custom method is optimization. Function vq_getchain() returns virtio descriptors which chained using VRING_DESCR_F_NEXT flag. But viritio-net guest drivers do not represent the available descriptors in the form of a chain, so vq_getchain() returns only one descriptor per call. Also this function has side effect - it's increment vq->vq_last_avail index, which should be decremented if there is no enough descriptors to store the RX packet.

May 23 2019, 2:31 PM

May 22 2019

aleksandr.fedorov_itglobal.com added inline comments to D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..
May 22 2019, 8:27 AM

May 20 2019

aleksandr.fedorov_itglobal.com updated the diff for D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..

Fix incorrect usage of 'cur_rx_ring' on TX path.

May 20 2019, 7:25 AM

May 17 2019

aleksandr.fedorov_itglobal.com added inline comments to D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..
May 17 2019, 8:44 AM

May 16 2019

aleksandr.fedorov_itglobal.com created D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..
May 16 2019, 11:23 AM

Mar 1 2019

aleksandr.fedorov_itglobal.com created D19422: if_vxlan(4) Allow set MTU more than 1500 bytes..
Mar 1 2019, 3:50 PM

Feb 18 2019

aleksandr.fedorov_itglobal.com accepted D19177: netmap: don't schedule kqueue notify task when kqueue is not used.

Sorry for the long delay. My tests didn't find any regression.

Feb 18 2019, 10:55 AM

Feb 14 2019

aleksandr.fedorov_itglobal.com added a comment to D19177: netmap: don't schedule kqueue notify task when kqueue is not used.

Oops, I forgot this. I will test the current patch.

Feb 14 2019, 6:59 AM

Feb 13 2019

aleksandr.fedorov_itglobal.com added inline comments to D19177: netmap: don't schedule kqueue notify task when kqueue is not used.
Feb 13 2019, 6:27 PM

Jan 30 2019

aleksandr.fedorov_itglobal.com added a comment to D18956: netmap: fix lock order reversal related to kqueue usage (v2).

I did not find any problems with the latest patch.

Jan 30 2019, 8:59 AM

Jan 29 2019

aleksandr.fedorov_itglobal.com added a comment to D18956: netmap: fix lock order reversal related to kqueue usage (v2).

I'm worried about the increased load on the kernel thread that serves the taskqueue_swi and how it will affect the rest of the system.

Jan 29 2019, 8:36 AM

Jan 25 2019

aleksandr.fedorov_itglobal.com added a comment to D18956: netmap: fix lock order reversal related to kqueue usage (v2).

Looks good. I will try to test this patch tomorrow.

Jan 25 2019, 5:58 PM
aleksandr.fedorov_itglobal.com added a comment to D18952: netmap: fix lock order reversal related to kqueue usage.

I conducted the following test. Simultaneous start:

  • 8 (RX) netmap_test processes (D18876) on different vale (0 - 7) ports.
  • 8 (TX) pkt-gen processes on different vale (0 - 7) ports
Jan 25 2019, 4:30 PM

Jan 18 2019

aleksandr.fedorov_itglobal.com added a comment to D18876: netmap: fix knote() argument to match the mutex state.

Everything works fine with the latest patch (Diff 2).

Jan 18 2019, 3:23 PM
aleksandr.fedorov_itglobal.com added inline comments to D18876: netmap: fix knote() argument to match the mutex state.
Jan 18 2019, 7:09 AM
aleksandr.fedorov_itglobal.com added a comment to D18876: netmap: fix knote() argument to match the mutex state.

I tested the patch with two bhyve vm connected through a VALE switch, there is no panic.

Jan 18 2019, 7:01 AM