Page MenuHomeFreeBSD

vmaffione (V Maffione)
User

Projects

User Details

User Since
Mar 10 2018, 1:54 AM (79 w, 4 d)

Recent Activity

Sun, Sep 15

vmaffione updated the diff for D20987: bhyve: add backend rx backpressure to virtio-net.

Follow-up change after updating D20973.
Define mevent_add_disabled here.

Sun, Sep 15, 2:35 PM
vmaffione added a comment to D20973: bhyve: support for enabling/disabling the net backend.

Regarding mevent_add_disabled, I can defer that to the next patch.

Sun, Sep 15, 2:10 PM
vmaffione added inline comments to D20973: bhyve: support for enabling/disabling the net backend.
Sun, Sep 15, 2:10 PM
vmaffione updated the diff for D20973: bhyve: support for enabling/disabling the net backend.

Addressed jhb's comments.

Sun, Sep 15, 2:08 PM

Wed, Sep 4

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

Thanks a lot!

Wed, Sep 4, 8:38 PM

Tue, Sep 3

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

ping

Tue, Sep 3, 6:48 PM

Mon, Aug 19

vmaffione added a reviewer for D21263: tap: add support for virtio-net offloads: markj.
Mon, Aug 19, 6:05 PM
vmaffione added inline comments to D21302: if_tuntap: minor improvements.
Mon, Aug 19, 5:14 PM

Aug 18 2019

vmaffione created D21315: bhyve: tap: add support for offloads.
Aug 18 2019, 10:49 AM
vmaffione added a comment to D21263: tap: add support for virtio-net offloads.

Minor changes.

Aug 18 2019, 10:45 AM
vmaffione added a reviewer for D21312: link ptnet(4) man page to the build system: bcr.
Aug 18 2019, 9:27 AM
vmaffione created D21312: link ptnet(4) man page to the build system.
Aug 18 2019, 9:26 AM

Aug 17 2019

vmaffione updated the test plan for D21302: if_tuntap: minor improvements.
Aug 17 2019, 1:19 PM
vmaffione created D21302: if_tuntap: minor improvements.
Aug 17 2019, 1:12 PM

Aug 16 2019

vmaffione added a comment to D21263: tap: add support for virtio-net offloads.

The ptnet(4) case is a bit different, since the driver knows at attach time which if_capabilities are supported, and those are not going to change.
On the other hand, with these changes to tap(4) the user can change if_capabilities dynamically.

Aug 16 2019, 10:14 PM
vmaffione added a comment to D21263: tap: add support for virtio-net offloads.

Added SIOCSIFCAP support. Addressed more comments.

Aug 16 2019, 10:08 PM
vmaffione added a comment to D21263: tap: add support for virtio-net offloads.

The inline functions added to virtio_net.h were simply copy-pasted from if_vtnet.c to if_ptnet.c in the first place. And yes, I plan to make also if_vtnet.c use the same code in future. I haven't done it yet because if_vtnet.c increments device specific statistic counters.

Aug 16 2019, 7:45 PM
vmaffione added a comment to D21263: tap: add support for virtio-net offloads.

Addressed suggestions.

Aug 16 2019, 7:37 PM

Aug 14 2019

vmaffione updated the summary of D21263: tap: add support for virtio-net offloads.
Aug 14 2019, 6:32 PM
vmaffione created D21263: tap: add support for virtio-net offloads.
Aug 14 2019, 2:32 PM

Aug 10 2019

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

Any opinions on this change?

Aug 10 2019, 6:40 PM
vmaffione added a comment to D20987: bhyve: add backend rx backpressure to virtio-net.

Any additional opinions on this patch?

Aug 10 2019, 6:39 PM
vmaffione added a comment to D20973: bhyve: support for enabling/disabling the net backend.

Any opinions on this patch?

Aug 10 2019, 6:39 PM

Jul 24 2019

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

Thanks a lot for your effort!
To be honest I'm not sure why the throughput increases so much, since TSO (64KB unchecksummed packets) is being used in both cases.
The main difference is that with mergeable rx buffers there is less pressure on the guest memory allocators, since the driver can allocate 2K clusters, rather than bigger packets.
Also, with mergeable rx buffer bhyve may do a little more work, because it needs to call vq_gechain() 33 times in order to receive each packet.
In any case, your results look very good to me, and they also agree with mine (taken with a smaller and less powerful machine).

Jul 24 2019, 7:59 PM

Jul 23 2019

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

Thanks. Did you notice any change in terms of performance?

Jul 23 2019, 4:27 PM

Jul 22 2019

vmaffione added inline comments to D21007: bhyve: add support for virtio-net mergeable rx buffers.
Jul 22 2019, 7:30 PM
vmaffione added a comment to D21007: bhyve: add support for virtio-net mergeable rx buffers.

Fix issue identified by @aleksandr.fedorov_itglobal.com

Jul 22 2019, 7:27 PM

Jul 20 2019

vmaffione retitled D21007: bhyve: add support for virtio-net mergeable rx buffers from bhyve: add support virtio-net mergeable rx buffers to bhyve: add support for virtio-net mergeable rx buffers.
Jul 20 2019, 9:29 AM
vmaffione created D21007: bhyve: add support for virtio-net mergeable rx buffers.
Jul 20 2019, 9:29 AM

Jul 19 2019

vmaffione updated subscribers of D20987: bhyve: add backend rx backpressure to virtio-net.
Jul 19 2019, 7:07 PM
vmaffione updated the test plan for D20987: bhyve: add backend rx backpressure to virtio-net.
Jul 19 2019, 4:42 PM
vmaffione updated the test plan for D20987: bhyve: add backend rx backpressure to virtio-net.
Jul 19 2019, 4:41 PM

Jul 18 2019

vmaffione updated the summary of D20987: bhyve: add backend rx backpressure to virtio-net.
Jul 18 2019, 9:19 PM
vmaffione created D20987: bhyve: add backend rx backpressure to virtio-net.
Jul 18 2019, 9:18 PM
vmaffione added a comment to D20973: bhyve: support for enabling/disabling the net backend.

Removed traling space.

Jul 18 2019, 8:22 PM

Jul 16 2019

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

Upload the right patch

Jul 16 2019, 7:31 PM
vmaffione added a comment to D20973: bhyve: support for enabling/disabling the net backend.

minimize patch by adding mevent_add_disabled().

Jul 16 2019, 7:28 PM
vmaffione updated the summary of D20973: bhyve: support for enabling/disabling the net backend.

Start the backends with receive enabled for the moment being.

Jul 16 2019, 7:17 PM
vmaffione added inline comments to D20973: bhyve: support for enabling/disabling the net backend.
Jul 16 2019, 5:32 PM
vmaffione updated the summary of D20973: bhyve: support for enabling/disabling the net backend.
Jul 16 2019, 5:01 PM
vmaffione created D20973: bhyve: support for enabling/disabling the net backend.
Jul 16 2019, 4:58 PM

Jul 8 2019

vmaffione created D20883: bhyve: net_backends.c: add missing __FBSDID.
Jul 8 2019, 9:23 PM
vmaffione added a comment to D20874: bhyve: add missing license identifiers in net_utils and net_backend.

Changed the patch to update the license identifiers only.

Jul 8 2019, 9:13 PM

Jul 7 2019

vmaffione created D20874: bhyve: add missing license identifiers in net_utils and net_backend.
Jul 7 2019, 12:27 PM

Jul 4 2019

vmaffione updated vmaffione.
Jul 4 2019, 9:37 PM
vmaffione updated vmaffione.
Jul 4 2019, 6:23 PM

Jul 1 2019

D20824: Fix netmap + vlan panics is now accepted and ready to land.

Looks good, thanks.
The netmap unit tests and integration tests still pass with these changes.

Jul 1 2019, 7:52 PM
vmaffione added a comment to D20659: bhyve: abstraction for network backends.

Thanks. This touches also TAP and setups, so we need tests with TAP.
Also, we would need to check that TAP+e1000 works.

Jul 1 2019, 4:13 PM

Jun 30 2019

vmaffione added a comment to D20659: bhyve: abstraction for network backends.

Thanks for the review. I actually don't have yet a real testbed for this (will get one soon), and I can only do functional tests in a nested KVM VM. Any test is welcome.

Jun 30 2019, 8:05 PM
D20659: bhyve: abstraction for network backends now requires review to proceed.

Addressed coments from reviewers.

Jun 30 2019, 7:59 PM

Jun 27 2019

vmaffione added a comment to D20659: bhyve: abstraction for network backends.

Thanks for the in depth review. Sorry about the style issues. Is there a FreeBSD clang-format file against which I can validate code?

Jun 27 2019, 9:48 PM
vmaffione added a comment to D20659: bhyve: abstraction for network backends.

Tried to address jhb's comments.

Jun 27 2019, 9:47 PM

Jun 24 2019

vmaffione retitled D20659: bhyve: abstraction for network backends from bhyve: abstraction for network backends (WIP) to bhyve: abstraction for network backends.
Jun 24 2019, 8:52 PM
vmaffione updated the diff for D20659: bhyve: abstraction for network backends.
Jun 24 2019, 8:26 PM

Jun 22 2019

vmaffione updated the diff for D20659: bhyve: abstraction for network backends.
Jun 22 2019, 3:56 PM

Jun 21 2019

pi renamed vmaffione from v.maffione_gmail.com to vmaffione.
Jun 21 2019, 7:22 AM

Jun 16 2019

vmaffione updated the diff for D20659: bhyve: abstraction for network backends.
Jun 16 2019, 10:59 AM
vmaffione retitled D20659: bhyve: abstraction for network backends from bhyve: abstraction for network backends to bhyve: abstraction for network backends (WIP).
Jun 16 2019, 9:01 AM
vmaffione created D20659: bhyve: abstraction for network backends.
Jun 16 2019, 9:00 AM

Jun 13 2019

vmaffione added a comment to D20609: bhyve: vtnet: fix locking on receive.

Do you mean a common vq_notify callback for both transmit and receive queue? But pci_vtnet_ping_txq() and pci_vtnet_ping_rxq() perform different work ...

Jun 13 2019, 6:10 PM
vmaffione added inline comments to D20626: bhyve: move common code to net_utils.c.
Jun 13 2019, 5:44 PM
vmaffione added inline comments to D20626: bhyve: move common code to net_utils.c.
Jun 13 2019, 4:28 PM
vmaffione updated the diff for D20626: bhyve: move common code to net_utils.c.

Removed "All rights reserved".

Jun 13 2019, 4:25 PM
vmaffione updated the diff for D20626: bhyve: move common code to net_utils.c.

Updated attribution.

Jun 13 2019, 3:29 PM

Jun 12 2019

vmaffione updated the diff for D20626: bhyve: move common code to net_utils.c.
Jun 12 2019, 8:22 PM
vmaffione created D20626: bhyve: move common code to net_utils.c.
Jun 12 2019, 8:19 PM

Jun 11 2019

vmaffione created D20609: bhyve: vtnet: fix locking on receive.
Jun 11 2019, 5:18 PM

Jun 10 2019

vmaffione updated the diff for D20581: bhyve: virtio: introduce vq_kick_enable() and vq_kick_disable().

Provide patch relative to /usr/src/.

Jun 10 2019, 8:35 PM
vmaffione updated the diff for D20581: bhyve: virtio: introduce vq_kick_enable() and vq_kick_disable().

Moved include <machine/atomic.h> to virtio.h.

Jun 10 2019, 8:20 PM
vmaffione added inline comments to D20581: bhyve: virtio: introduce vq_kick_enable() and vq_kick_disable().
Jun 10 2019, 7:47 PM
vmaffione added a comment to D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..

This looks better, but the problem is that I was refactoring this file to separate virtio specific code from the backends (netmap, tap), and add
support for offloads (including TSO); this patch creates many conflicts with my pending work, and IMHO it should be rebased after my work to prevent a total mess.

Jun 10 2019, 7:44 PM
vmaffione added a reviewer for D20581: bhyve: virtio: introduce vq_kick_enable() and vq_kick_disable(): bryanv.
Jun 10 2019, 7:18 PM

Jun 9 2019

vmaffione updated the diff for D20581: bhyve: virtio: introduce vq_kick_enable() and vq_kick_disable().
Jun 9 2019, 9:41 PM
vmaffione created D20581: bhyve: virtio: introduce vq_kick_enable() and vq_kick_disable().
Jun 9 2019, 9:41 PM

Jun 7 2019

vmaffione added reviewers for D20543: bhyve: vtnet: simplify thread synchronization: markj, jhb.
Jun 7 2019, 4:03 PM
vmaffione updated the diff for D20543: bhyve: vtnet: simplify thread synchronization.
Jun 7 2019, 2:28 PM
vmaffione updated the diff for D20543: bhyve: vtnet: simplify thread synchronization.
Jun 7 2019, 1:30 PM
vmaffione added a comment to D20543: bhyve: vtnet: simplify thread synchronization.

Sorry for the diff context, I forgot about that.
Thanks for the suggestions, they look good to me, and I'll implement those in short.
Btw I would like to refactor/improve vtnet/tap/netmap support, so more patches will follow.

Jun 7 2019, 7:16 AM

Jun 6 2019

vmaffione created D20543: bhyve: vtnet: simplify thread synchronization.
Jun 6 2019, 9:20 PM

Jun 4 2019

vmaffione created D20518: Add myself to committers-src.dot and calendar.freebsd.
Jun 4 2019, 7:27 PM

May 27 2019

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

Yes, but I think the story is more complex than that. Guests can publish single-descriptor chains or multi-descriptor chains, depending on feature negotiation and driver implementation. With mergeable buffers enabled, or TSO features disabled, guests will normally submit single-descriptor chains (because it makes sense), but this is not mandatory. With TSO enabled and mergeable buffers disabled, guests will normally pass in multi-descriptor chains, each one describing 64K or 32K buffers.
It makes sense to add more vq methods to handle the mergeable rx bufs case, but think they should be moved to usr.sbin/bhyve/virtio.c, so that they can be reused.

May 27 2019, 9:24 PM

May 22 2019

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

Netmap usage by itself looks mostly ok, except where noted. We could improve the management of r->cur in certain cases, but it's not particularly important for now (for reference, please look at my QEMU implementation, for instance the transmit routine is here https://github.com/qemu/qemu/blob/master/net/netmap.c#L160-L225).
I still need to review your changes to the virtqueue processing. But why did you drop vq_getchain() and write a custom method? If another method is needed, it should be added to virtio.c IMHO.

May 22 2019, 9:07 PM

May 17 2019

vmaffione 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, 7:28 PM

May 16 2019

vmaffione added inline comments to D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch..
May 16 2019, 8:14 PM

Apr 9 2019

vmaffione accepted D19864: Polish netmap(4) testcases a bit.

Thank you very much!

Apr 9 2019, 5:33 PM

Mar 19 2019

vmaffione updated the summary of D19639: netmap: update unit tests.
Mar 19 2019, 9:05 AM
vmaffione created D19639: netmap: update unit tests.
Mar 19 2019, 9:03 AM

Feb 18 2019

vmaffione accepted D19104: vmxnet3: add native netmap support.
Feb 18 2019, 4:14 PM
vmaffione accepted D19104: vmxnet3: add native netmap support.
Feb 18 2019, 2:11 PM
vmaffione added a comment to D19177: netmap: don't schedule kqueue notify task when kqueue is not used.

No worries, and thanks for testing!

Feb 18 2019, 1:54 PM

Feb 14 2019

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

Thanks.
In my tests I can see that without the patch, two pkt-gen communicating over a VALE port will consume 9% CPU on kqueue processing (although kqueue is not used), on a separate CPU.
With the patch, the 9% goes away.

Feb 14 2019, 8:22 AM

Feb 13 2019

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

We can't. We use a taskqueue there precisely because we cannot take the si->m lock (or we get LOR).

Feb 13 2019, 8:41 PM
vmaffione retitled D19177: netmap: don't schedule kqueue notify task when kqueue is not used from netmap: don't schedule kqueue notify task when kqueue is used to netmap: don't schedule kqueue notify task when kqueue is not used.
Feb 13 2019, 9:52 AM
vmaffione created D19177: netmap: don't schedule kqueue notify task when kqueue is not used.
Feb 13 2019, 9:51 AM

Feb 7 2019

vmaffione added inline comments to D19104: vmxnet3: add native netmap support.
Feb 7 2019, 2:51 PM
vmaffione added a comment to D19104: vmxnet3: add native netmap support.

It would probably help to have more lines of contexts for the patch.
If you used git, you should probably use something like:

git diff -U30 [...]

If you used svn

svn diff -x '-U30'
Feb 7 2019, 2:06 PM

Jan 30 2019

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

Thanks for testing.

Jan 30 2019, 3:32 PM
vmaffione updated the summary of D18956: netmap: fix lock order reversal related to kqueue usage (v2).
Jan 30 2019, 10:24 AM

Jan 29 2019

vmaffione added a comment to D18984: ixl: remove unnecessary limitations related to netmap.

Thanks!
It looks like reading the the HEAD of the first TX ring works, while the other TX rings don't...

Jan 29 2019, 6:10 PM
vmaffione added a reviewer for D18956: netmap: fix lock order reversal related to kqueue usage (v2): g.lettieri_iet.unipi.it.
Jan 29 2019, 3:21 PM