Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[catpowder] Support NetVSC/VF dual NIC in hyper-V VMs #1453

Merged
merged 1 commit into from
Nov 15, 2024
Merged

Conversation

liu-weipeng
Copy link

@liu-weipeng liu-weipeng commented Nov 6, 2024

Motivation

On certain Hyper-V provisioned VMs, there're two NICs, one NetVSC, another VF. They can share same MAC address to act as single device from external point of view. Because VF is faster, it may be used to optimize data plane performance, while NetVSC is used for control plane. This is transparent to application layer if networking stack is done within the kernel. However, XDP bypasses the kernel, so we have to deal with it manually. This change would allow user to configure two interfaces for XDP to attach to and poll, as incoming packets could come from either the VF or the NetVSC.

Copy link

github-actions bot commented Nov 6, 2024

libos = catpowder
commit id = a6160cb

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 19260606.43 682.69 290.57 86.28
bgc::inetstack::poll_recv 9630303.22 1583.49 673.89 51.85
bgc::inetstack::tcp::established::background 22046.05 4030.45 1717.88 0.88
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22046.05 458.59 198.61 9.19
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22037.48 884.27 372.94 22.50
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22008.73 1065.03 451.12 22.12
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21966.84 1855.55 787.71 36.81
ioc::network::libos::pop 9032.31 964.81 412.39 0.08
ioc::network::libos::push;inetstack::push 8762.74 679.24 292.57 0.19
demikernel::sgafree 8751.32 102.99 44.59 0.01
ioc::network::libos::push 8073.71 33680844.98 15987051.64 42.78
demikernel::push 8073.71 564.11 241.54 0.04
demikernel::sgaalloc 6503.75 134.24 57.24 0.02
demikernel::pop 6037.78 619.24 263.90 0.03
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 5280.51 611.62 261.27 0.73
ioc::network::libos::pushto 728.33 4885.23 2121.81 3.32
ioc::network::libos::pushto;inetstack::push 728.33 4332.39 1881.87 88.66
demikernel::pushto 728.33 516.15 223.54 0.34
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 246.00 233.62 102.96 63.39
ioc::network::libos::close 47.67 6486.12 2762.77 0.08
bgc::passive_listening::poll 43.86 5887.76 2532.72 0.00
ioc::network::libos::connect 41.86 22484.93 9624.92 0.15
bgc::inetstack::tcp::passiveopen::background 41.86 15600.83 6744.81 0.00
ioc::network::libos::accept 38.36 2758.41 1184.61 0.00
demikernel::async_close 32.50 624.87 263.02 0.01
demikernel::accept 21.86 1264.10 545.79 0.00
demikernel::connect 20.93 3929.40 1721.51 0.02
demikernel::socket 10.30 1435.73 622.75 0.00
bgc::inetstack::arp::background 6.38 1918.93 819.34 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 6251.58 2666.45 83.94
bgc::inetstack::icmp::background 1.03 3989.13 1700.58 0.00
demikernel::new 1.00 94373561.72 40009222.90 19.76
demikernel::bind 1.00 26880.75 11566.67 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 14812.13 6317.77 0.05
demikernel::listen 1.00 5413.36 2319.65 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

github-actions bot commented Nov 6, 2024

libos = catnip
commit id = a6160cb

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 29355094.90 334.69 138.86 76.76
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 29355094.90 196.57 81.53 58.76
bgc::inetstack::poll_recv 14677547.45 872.62 362.06 33.49
bgc::inetstack::tcp::established::background 22051.66 2751.81 1146.87 0.46
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22051.66 343.87 143.33 11.40
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22041.27 607.71 249.44 23.01
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22009.71 998.69 417.34 29.53
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21967.62 754.58 312.24 22.51
ioc::network::libos::pop 9046.49 884.86 368.77 0.06
demikernel::sgafree 8782.49 85.11 35.49 0.00
ioc::network::libos::push;inetstack::push 8762.80 658.40 280.21 0.16
ioc::network::libos::push 8073.74 33616303.70 13985538.94 32.50
demikernel::push 8073.74 760.05 320.35 0.02
demikernel::sgaalloc 6539.38 133.28 56.21 0.01
demikernel::pop 6053.16 577.98 238.10 0.01
bgc::inetstack::tcp::established::background;tcp::established::background::sender;catnip::runtime::transmit 5497.68 403.51 166.39 15.47
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 3638.58 756.81 314.76 0.78
ioc::network::libos::pushto 1278.67 1409.34 596.49 0.06
ioc::network::libos::pushto;inetstack::push 1278.67 690.73 292.58 49.18
demikernel::pushto 1278.67 505.39 214.69 0.02
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 1278.67 253.36 107.24 36.59
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 553.00 311.77 128.37 73.59
ioc::network::libos::close 49.48 6392.65 2669.55 0.01
ioc::network::libos::connect 41.86 15264.11 6514.02 0.01
bgc::inetstack::tcp::passiveopen::background 41.86 15012.09 6311.38 0.00
ioc::network::libos::connect;catnip::runtime::transmit 41.86 6265.23 2700.46 28.25
bgc::passive_listening::poll 40.71 6451.25 2686.77 0.00
ioc::network::libos::accept 38.32 2636.79 1094.51 0.00
demikernel::async_close 32.50 594.79 235.12 0.00
demikernel::accept 21.86 1099.08 456.96 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 21.18 647.36 269.78 3.49
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 17954.41 7584.62 38.10
demikernel::connect 20.93 2510.15 1069.14 0.00
demikernel::socket 10.30 1186.34 495.30 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger;catnip::runtime::transmit 9.00 4277.11 1774.36 39.96
bgc::inetstack::arp::background 6.57 2198.93 912.24 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 20560.32 8524.90 95.32
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 2.00 18365.52 7614.56 89.32
bgc::inetstack::icmp::background 1.05 3401.02 1410.64 0.00
demikernel::new 1.00 1764858629.38 731706682.18 45.40
bgc::inetstack::poll_recv;inetstack::poll 1.00 43137.63 17882.17 0.18
demikernel::bind 1.00 13284.69 5543.52 0.00
demikernel::listen 1.00 5850.07 2436.16 0.00
demikernel::close 0.00 nan nan 0.00

Copy link
Contributor

@anandbonde anandbonde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Could you add PR description?
  • The commit message format is incorrect.

src/rust/demikernel/config.rs Outdated Show resolved Hide resolved
src/rust/demikernel/config.rs Show resolved Hide resolved
src/rust/demikernel/config.rs Outdated Show resolved Hide resolved
src/rust/catpowder/win/runtime.rs Show resolved Hide resolved
src/rust/catpowder/win/runtime.rs Outdated Show resolved Hide resolved
@liu-weipeng liu-weipeng marked this pull request as ready for review November 7, 2024 19:49
Copy link

github-actions bot commented Nov 7, 2024

libos = catpowder
commit id = 42310b8

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 17768031.97 690.20 298.13 86.21
bgc::inetstack::poll_recv 8884015.98 1602.22 692.06 52.17
bgc::inetstack::tcp::established::background 22046.66 4149.44 1800.25 0.89
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22046.66 453.49 201.18 9.08
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22038.14 929.14 395.22 22.49
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22009.32 1069.84 464.33 21.83
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21967.43 1977.43 848.40 37.14
ioc::network::libos::pop 9044.41 1055.14 455.75 0.09
demikernel::sgafree 8781.96 131.38 56.41 0.01
ioc::network::libos::push;inetstack::push 8762.80 697.76 307.69 0.21
ioc::network::libos::push 8073.74 33702041.21 15021488.41 42.08
demikernel::push 8073.74 626.11 271.33 0.04
demikernel::sgaalloc 6549.12 174.52 76.16 0.02
demikernel::pop 6049.12 734.18 315.32 0.04
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 5290.98 668.92 289.24 0.74
ioc::network::libos::pushto 1269.33 5544.41 2233.70 3.88
ioc::network::libos::pushto;inetstack::push 1269.33 4795.32 1931.44 86.40
demikernel::pushto 1269.33 659.83 265.56 0.45
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 452.00 299.49 119.10 64.31
ioc::network::libos::close 47.62 7115.90 3089.27 0.09
bgc::passive_listening::poll 44.14 5595.32 2408.08 0.00
ioc::network::libos::connect 41.86 23879.21 10632.84 0.17
bgc::inetstack::tcp::passiveopen::background 41.86 14793.05 6334.05 0.00
ioc::network::libos::accept 38.68 2756.64 1191.18 0.00
demikernel::async_close 32.50 751.67 311.48 0.01
demikernel::accept 21.86 1243.53 534.91 0.00
demikernel::connect 20.93 4118.62 1818.63 0.02
demikernel::socket 10.30 1586.13 676.87 0.00
bgc::inetstack::arp::background 6.38 1825.69 783.83 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 6087.28 2618.68 82.62
bgc::inetstack::icmp::background 1.03 3476.00 1497.04 0.00
demikernel::new 1.00 100686653.17 43525097.22 19.78
demikernel::bind 1.00 26074.50 10971.02 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 14697.80 6324.54 0.04
demikernel::listen 1.00 5228.86 2235.90 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

github-actions bot commented Nov 7, 2024

libos = catnip
commit id = 42310b8

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 29045086.70 334.37 140.49 76.81
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 29045086.70 196.35 82.49 58.74
bgc::inetstack::poll_recv 14522543.35 871.09 366.00 33.45
bgc::inetstack::tcp::established::background 22051.25 2779.63 1162.28 0.47
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22051.25 353.30 146.62 11.57
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22040.89 611.20 253.68 22.98
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22009.38 1009.35 423.01 29.47
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21967.34 762.58 319.60 22.60
ioc::network::libos::pop 9044.76 897.87 373.23 0.06
demikernel::sgafree 8778.79 82.71 34.88 0.00
ioc::network::libos::push;inetstack::push 8762.80 657.52 280.09 0.16
ioc::network::libos::push 8073.74 33593536.13 13828888.15 32.17
demikernel::push 8073.74 700.99 302.76 0.02
demikernel::sgaalloc 6533.92 151.89 66.37 0.01
demikernel::pop 6052.00 631.91 261.92 0.01
bgc::inetstack::tcp::established::background;tcp::established::background::sender;catnip::runtime::transmit 5497.68 382.77 159.57 14.72
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 3692.19 748.40 312.33 0.76
ioc::network::libos::pushto 1213.33 1416.64 585.15 0.06
ioc::network::libos::pushto;inetstack::push 1213.33 701.69 289.84 49.69
demikernel::pushto 1213.33 487.64 201.51 0.02
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 1213.33 255.51 105.52 36.33
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 544.67 263.88 112.57 70.30
ioc::network::libos::close 49.45 6127.93 2611.14 0.01
ioc::network::libos::connect 41.86 14854.03 6348.19 0.01
bgc::inetstack::tcp::passiveopen::background 41.86 14066.79 6038.05 0.00
ioc::network::libos::connect;catnip::runtime::transmit 41.86 5629.20 2410.41 26.74
bgc::passive_listening::poll 40.71 6677.37 2808.15 0.00
ioc::network::libos::accept 38.25 2639.34 1113.23 0.00
demikernel::async_close 32.50 555.50 233.80 0.00
demikernel::accept 21.86 1133.04 485.24 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 21.11 552.36 231.79 3.46
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 16583.25 7203.91 37.52
demikernel::connect 20.93 2912.82 1250.77 0.00
demikernel::socket 10.30 1612.99 659.95 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger;catnip::runtime::transmit 9.00 4719.33 1852.76 40.52
bgc::inetstack::arp::background 6.57 2192.62 919.03 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 20165.72 8467.43 95.46
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 2.00 17982.45 7553.39 89.18
bgc::inetstack::icmp::background 1.05 3367.35 1415.81 0.00
demikernel::new 1.00 1764626370.17 741184232.76 45.64
bgc::inetstack::poll_recv;inetstack::poll 1.00 42246.37 17737.88 0.16
demikernel::bind 1.00 11209.50 4645.17 0.00
demikernel::listen 1.00 5492.50 2262.54 0.00
demikernel::close 0.00 nan nan 0.00

Copy link
Contributor

@iyzhang iyzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me. Is there a reason to keep the VF rx queues separate from the other rx queues? Could we just append them to the same vec?

@liu-weipeng
Copy link
Author

Looks fine to me. Is there a reason to keep the VF rx queues separate from the other rx queues? Could we just append them to the same vec?

I think we can merge them into one, although keeping them separate might serve some diagnostic purpose now or in the future.

Copy link

github-actions bot commented Nov 8, 2024

libos = catnap
commit id = 42310b8

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::catnap::transport::epoll 13144593.26 1923.11 832.32 32.51
demikernel::sgafree 11603.04 99.19 43.09 0.05
demikernel::sgaalloc 11392.25 126.31 54.19 0.10
ioc::network::libos::push;catnap::linux::transport::push 9066.10 850.13 371.80 5.20
ioc::network::libos::push 8800.48 16997.07 7405.00 6.30
demikernel::push 8800.48 557.48 242.32 0.15
ioc::network::libos::pop;catnap::linux::transport::pop 8055.62 535.63 233.06 2.63
ioc::network::libos::pop 7846.31 2990570.66 1396167.23 25.23
demikernel::pop 7846.31 531.94 232.06 0.11
ioc::network::libos::pushto 3219.00 7807.62 3375.48 25.25
ioc::network::libos::pushto;catnap::linux::transport::push 3219.00 520.69 224.75 6.85
demikernel::pushto 3219.00 424.20 183.09 1.54
demikernel::async_close 32.50 957.67 397.58 0.01
ioc::network::libos::connect 24.95 5494273.05 2363387.02 28.14
ioc::network::libos::connect;catnap::linux::transport::connect 24.95 55603.06 23719.43 1.66
demikernel::connect 24.95 2263.26 968.44 0.01
ioc::network::libos::close 18.35 25850.54 11223.71 0.05
ioc::network::libos::close;catnap::linux::transport::close 18.35 24891.48 10807.80 96.08
demikernel::accept 15.42 1390.44 605.87 0.00
ioc::network::libos::accept 15.39 892804788.80 382476643.66 45.12
ioc::network::libos::accept;catnap::linux::transport::accept 15.39 2693.42 1180.08 0.00
demikernel::socket 9.50 119363.29 51706.28 0.17
demikernel::socket;catnap::linux::transport::socket 9.50 117907.01 51067.57 97.50
demikernel::new 1.00 249575.47 108390.09 0.10
demikernel::bind 1.00 27794.58 12249.61 0.00
demikernel::bind;catnap::linux::transport::bind 1.00 23479.62 10346.68 84.30
demikernel::listen 1.00 14445.34 6342.77 0.00
demikernel::listen;catnap::linux::transport::listen 1.00 13388.58 5877.99 92.69
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnap
commit id = 38cf983

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::catnap::transport::epoll 13194633.61 1916.70 856.57 32.20
demikernel::sgafree 11535.65 75.33 32.91 0.05
demikernel::sgaalloc 11284.58 124.16 54.59 0.10
ioc::network::libos::push;catnap::linux::transport::push 9066.12 733.17 327.18 4.60
ioc::network::libos::push 8800.49 16760.02 7486.24 6.50
demikernel::push 8800.49 571.27 253.20 0.16
ioc::network::libos::pop;catnap::linux::transport::pop 8023.63 535.38 236.51 2.36
ioc::network::libos::pop 7815.17 22631343.95 9904112.79 25.56
demikernel::pop 7815.17 538.77 236.86 0.12
ioc::network::libos::pushto 590.33 9123.01 4073.72 25.59
ioc::network::libos::pushto;catnap::linux::transport::push 590.33 720.48 321.99 7.95
demikernel::pushto 590.33 596.90 266.18 1.63
demikernel::async_close 32.50 995.73 406.52 0.02
ioc::network::libos::connect 24.95 8152260.82 3611806.30 29.19
ioc::network::libos::connect;catnap::linux::transport::connect 24.95 59723.49 26114.03 1.62
demikernel::connect 24.95 3196.09 1421.71 0.01
ioc::network::libos::close 18.35 23671.91 10368.03 0.07
ioc::network::libos::close;catnap::linux::transport::close 18.35 22532.12 9878.15 95.80
demikernel::accept 15.42 1379.18 613.15 0.00
ioc::network::libos::accept 15.39 866034763.84 384312646.24 44.09
ioc::network::libos::accept;catnap::linux::transport::accept 15.39 3213.50 1389.21 0.00
demikernel::socket 9.50 128626.24 56271.18 0.18
demikernel::socket;catnap::linux::transport::socket 9.50 126691.22 55417.13 96.93
demikernel::new 1.00 270485.55 119028.53 0.13
demikernel::bind 1.00 29292.40 12968.79 0.01
demikernel::bind;catnap::linux::transport::bind 1.00 24877.68 11017.27 84.68
demikernel::listen 1.00 15575.92 6869.59 0.00
demikernel::listen;catnap::linux::transport::listen 1.00 14507.03 6400.29 93.06
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catpowder
commit id = 38cf983

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 18867992.53 684.71 293.39 86.16
bgc::inetstack::poll_recv 9433996.27 1590.16 681.44 51.98
bgc::inetstack::tcp::established::background 23694.59 4053.79 1749.43 0.98
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 23694.59 422.18 184.01 8.94
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 23686.23 940.75 399.47 23.29
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 23657.39 1053.35 456.92 21.67
bgc::inetstack::tcp::established::background;tcp::established::background::sender 23615.20 1854.64 793.93 36.28
ioc::network::libos::pop 9483.67 975.26 421.50 0.09
ioc::network::libos::push;inetstack::push 8762.74 731.11 319.29 0.22
demikernel::sgafree 8747.58 107.88 45.90 0.01
ioc::network::libos::push 8073.71 33726163.62 15058721.43 41.82
demikernel::push 8073.71 628.55 271.57 0.04
demikernel::sgaalloc 6501.38 163.49 70.56 0.02
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 6083.83 623.01 268.01 0.71
demikernel::pop 6035.61 641.45 273.15 0.03
ioc::network::libos::pushto 662.33 4470.72 1835.94 1.87
ioc::network::libos::pushto;inetstack::push 662.33 3927.22 1612.77 87.86
demikernel::pushto 662.33 474.87 195.03 0.20
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 198.00 220.80 90.06 64.30
ioc::network::libos::close 47.48 6845.21 2908.28 0.10
bgc::passive_listening::poll 45.11 5848.38 2572.90 0.00
ioc::network::libos::connect 41.86 22610.54 9574.22 0.17
bgc::inetstack::tcp::passiveopen::background 41.86 15239.83 6683.51 0.00
ioc::network::libos::accept 38.32 2877.31 1269.68 0.00
demikernel::async_close 32.50 606.21 250.12 0.01
demikernel::accept 21.86 1328.13 582.89 0.00
demikernel::connect 20.93 4141.31 1750.59 0.02
demikernel::socket 10.30 1998.26 899.29 0.00
bgc::inetstack::arp::background 6.38 1838.57 787.68 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 6224.87 2669.96 84.03
bgc::inetstack::icmp::background 1.03 3294.03 1409.36 0.00
demikernel::new 1.00 95867794.75 40979947.67 20.18
demikernel::bind 1.00 24779.25 10598.09 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 14729.23 6317.35 0.05
demikernel::listen 1.00 6888.00 2998.92 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnip
commit id = 38cf983

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 29047920.97 334.96 141.15 77.07
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 29047920.97 195.75 82.49 58.48
bgc::inetstack::poll_recv 14523960.48 869.67 366.49 33.34
bgc::inetstack::tcp::established::background 22051.00 2830.79 1205.51 0.46
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22051.00 346.56 146.71 11.36
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22040.68 630.38 266.70 23.20
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22009.30 1023.58 433.56 29.26
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21967.45 793.85 337.10 22.66
ioc::network::libos::pop 9051.31 886.43 372.84 0.06
demikernel::sgafree 8846.64 82.66 35.90 0.00
ioc::network::libos::push;inetstack::push 8762.74 681.01 300.59 0.17
ioc::network::libos::push 8073.71 33630061.09 19369545.98 32.36
demikernel::push 8073.71 735.41 334.79 0.02
demikernel::sgaalloc 6671.50 151.20 68.23 0.01
demikernel::pop 6057.86 598.90 250.73 0.01
bgc::inetstack::tcp::established::background;tcp::established::background::sender;catnip::runtime::transmit 5497.64 438.74 187.62 16.03
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 3606.97 746.32 321.20 0.66
ioc::network::libos::pushto 2412.33 1393.56 579.55 0.13
ioc::network::libos::pushto;inetstack::push 2412.33 686.25 285.47 49.35
demikernel::pushto 2412.33 471.23 196.06 0.05
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 2412.33 243.56 101.30 35.32
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 635.67 264.60 113.19 72.61
ioc::network::libos::close 49.35 6041.20 2588.48 0.01
ioc::network::libos::connect 41.86 15851.67 6856.48 0.01
bgc::inetstack::tcp::passiveopen::background 41.86 14712.57 6282.42 0.00
ioc::network::libos::connect;catnip::runtime::transmit 41.86 6136.71 2671.58 27.13
bgc::passive_listening::poll 39.75 6503.51 2747.09 0.00
ioc::network::libos::accept 38.39 2866.60 1205.25 0.00
demikernel::async_close 32.50 630.08 258.00 0.00
demikernel::accept 21.86 1583.38 672.25 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 20.98 549.43 235.71 3.27
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 17436.82 7488.59 37.26
demikernel::connect 20.93 2647.08 1145.64 0.00
demikernel::socket 10.30 1896.80 808.75 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger;catnip::runtime::transmit 9.00 2968.44 1247.15 33.41
bgc::inetstack::arp::background 6.57 2317.82 978.23 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 20237.02 8535.64 95.39
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 2.00 18123.37 7644.27 89.55
bgc::inetstack::icmp::background 1.05 3450.83 1457.79 0.00
demikernel::new 1.00 1783140291.12 751413045.97 45.62
bgc::inetstack::poll_recv;inetstack::poll 1.00 42421.57 17892.78 0.12
demikernel::bind 1.00 11871.00 4966.17 0.00
demikernel::listen 1.00 5133.36 2146.75 0.00
demikernel::close 0.00 nan nan 0.00

@liu-weipeng liu-weipeng force-pushed the xdp-nic-split branch 2 times, most recently from d559bd2 to a9bac1d Compare November 11, 2024 23:35
Copy link

libos = catnap
commit id = a9bac1d

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::catnap::transport::epoll 13113225.56 1788.74 793.92 32.07
demikernel::sgafree 11537.02 86.67 37.13 0.05
demikernel::sgaalloc 11286.22 123.29 53.87 0.10
ioc::network::libos::push;catnap::linux::transport::push 9066.08 723.32 317.19 4.34
ioc::network::libos::push 8800.47 17276.75 7600.65 6.12
demikernel::push 8800.47 572.13 249.74 0.14
ioc::network::libos::pop;catnap::linux::transport::pop 8024.80 566.24 248.24 1.55
ioc::network::libos::pop 7816.30 17384803.07 7167063.97 26.67
demikernel::pop 7816.30 545.47 237.34 0.11
ioc::network::libos::pushto 644.33 9054.63 3897.75 25.33
ioc::network::libos::pushto;catnap::linux::transport::push 644.33 528.13 229.57 6.28
demikernel::pushto 644.33 447.15 194.29 1.52
demikernel::async_close 32.50 994.86 395.33 0.02
ioc::network::libos::connect 24.95 4964847.40 2175322.25 26.83
ioc::network::libos::connect;catnap::linux::transport::connect 24.95 67568.22 29229.09 2.36
demikernel::connect 24.95 2288.77 999.05 0.01
ioc::network::libos::close 18.35 23504.00 10211.18 0.07
ioc::network::libos::close;catnap::linux::transport::close 18.35 22546.80 9794.02 96.15
demikernel::accept 15.42 1283.64 557.78 0.00
ioc::network::libos::accept 15.39 878442051.34 383894286.24 44.45
ioc::network::libos::accept;catnap::linux::transport::accept 15.39 2400.66 1045.81 0.00
demikernel::socket 9.50 126694.03 55024.81 0.22
demikernel::socket;catnap::linux::transport::socket 9.50 125339.18 54434.86 97.77
demikernel::new 1.00 260928.55 113286.67 0.15
demikernel::bind 1.00 28910.75 12532.79 0.01
demikernel::bind;catnap::linux::transport::bind 1.00 24342.60 10549.35 84.34
demikernel::listen 1.00 14543.47 6296.78 0.00
demikernel::listen;catnap::linux::transport::listen 1.00 13615.55 5896.23 93.49
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catpowder
commit id = a9bac1d

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 19066995.60 686.11 295.72 86.24
bgc::inetstack::poll_recv 9533497.80 1592.71 686.49 52.38
bgc::inetstack::tcp::established::background 23586.29 4153.79 1800.17 0.96
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 23586.29 460.74 202.83 9.08
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 23578.04 962.06 418.10 23.32
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 23549.71 1056.41 455.39 21.57
bgc::inetstack::tcp::established::background;tcp::established::background::sender 23507.79 1913.43 829.35 36.45
ioc::network::libos::pop 9409.37 1008.77 435.63 0.09
demikernel::sgafree 8784.15 104.77 44.54 0.01
ioc::network::libos::push;inetstack::push 8762.80 719.31 309.74 0.21
ioc::network::libos::push 8073.74 33728396.68 15246664.61 42.19
demikernel::push 8073.74 690.01 298.05 0.04
demikernel::sgaalloc 6571.96 153.27 66.75 0.02
demikernel::pop 6039.31 644.30 281.19 0.03
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 6020.27 659.59 285.62 0.73
ioc::network::libos::pushto 1308.00 4523.11 1953.69 4.43
ioc::network::libos::pushto;inetstack::push 1308.00 3966.14 1713.14 87.68
demikernel::pushto 1308.00 503.97 217.76 0.48
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 278.00 226.03 96.66 64.73
ioc::network::libos::close 47.37 6301.34 2739.35 0.09
bgc::passive_listening::poll 44.36 5674.55 2418.25 0.00
ioc::network::libos::connect 41.86 22969.98 10057.71 0.16
bgc::inetstack::tcp::passiveopen::background 41.86 15276.98 6534.83 0.00
ioc::network::libos::accept 38.18 2772.71 1189.07 0.00
demikernel::async_close 32.50 720.09 310.95 0.01
demikernel::accept 21.86 1397.86 592.31 0.00
demikernel::connect 20.93 3940.12 1724.24 0.02
demikernel::socket 10.30 1672.29 712.83 0.00
bgc::inetstack::arp::background 6.38 1726.59 739.72 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 6347.10 2728.73 83.94
bgc::inetstack::icmp::background 1.03 3440.22 1489.13 0.00
demikernel::new 1.00 94829930.80 41013229.73 19.43
demikernel::bind 1.00 25225.12 10665.84 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 15043.37 6474.57 0.03
demikernel::listen 1.00 5763.64 2460.21 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnip
commit id = a9bac1d

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 29345857.27 337.77 141.82 76.77
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 29345857.27 198.96 83.50 58.82
bgc::inetstack::poll_recv 14672928.63 879.92 369.53 34.30
bgc::inetstack::tcp::established::background 22053.52 2770.84 1171.64 0.45
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22053.52 356.45 151.28 11.83
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22041.82 625.84 260.80 23.19
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22009.66 995.62 420.30 29.11
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21967.73 764.30 320.85 22.43
ioc::network::libos::pop 9043.69 905.57 380.47 0.06
demikernel::sgafree 8772.91 89.09 37.84 0.00
ioc::network::libos::push;inetstack::push 8762.80 663.47 288.13 0.16
ioc::network::libos::push 8073.74 33609525.71 14613110.02 32.10
demikernel::push 8073.74 716.67 309.24 0.02
demikernel::sgaalloc 6527.42 144.08 62.30 0.01
demikernel::pop 6049.78 615.24 258.00 0.01
bgc::inetstack::tcp::established::background;tcp::established::background::sender;catnip::runtime::transmit 5497.68 381.96 160.45 14.63
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 3567.71 762.83 322.33 0.75
ioc::network::libos::pushto 1109.33 2097.39 840.08 0.07
ioc::network::libos::pushto;inetstack::push 1109.33 1295.69 519.66 60.02
demikernel::pushto 1109.33 835.43 334.93 0.03
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 1109.33 379.85 152.16 30.57
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 460.33 300.19 121.10 70.53
ioc::network::libos::close 49.33 6546.58 2789.99 0.01
ioc::network::libos::connect 41.86 16594.13 7286.29 0.01
bgc::inetstack::tcp::passiveopen::background 41.86 14520.14 6203.66 0.00
ioc::network::libos::connect;catnip::runtime::transmit 41.86 6422.23 2855.35 27.45
bgc::passive_listening::poll 41.82 6415.53 2716.10 0.00
ioc::network::libos::accept 38.39 2637.62 1113.40 0.00
demikernel::async_close 32.50 633.59 253.78 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger;catnip::runtime::transmit 27.33 1931.10 840.98 25.14
demikernel::accept 21.86 1576.69 674.28 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 21.04 577.46 245.47 3.12
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 16956.38 7303.90 35.99
demikernel::connect 20.93 2632.84 1155.66 0.00
demikernel::socket 10.30 1323.23 558.12 0.00
bgc::inetstack::arp::background 6.60 2291.42 964.40 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 20598.50 8653.95 95.55
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 2.00 18336.02 7700.24 89.02
bgc::inetstack::icmp::background 1.05 3506.05 1478.89 0.00
demikernel::new 1.00 1778903786.52 747290326.05 44.85
bgc::inetstack::poll_recv;inetstack::poll 1.00 43116.57 18111.91 0.14
demikernel::bind 1.00 12578.19 5220.97 0.00
demikernel::listen 1.00 5443.21 2264.72 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter;catnip::runtime::transmit 1.00 362.00 151.23 0.40
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnap
commit id = a9bac1d

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::catnap::transport::epoll 13253054.98 1936.39 844.95 32.35
demikernel::sgafree 11620.13 78.94 33.74 0.05
demikernel::sgaalloc 11429.45 116.17 50.72 0.10
ioc::network::libos::push;catnap::linux::transport::push 9066.10 721.63 314.63 4.54
ioc::network::libos::push 8800.48 16855.53 7360.82 6.17
demikernel::push 8800.48 562.43 245.38 0.14
ioc::network::libos::pop;catnap::linux::transport::pop 8059.76 566.73 244.33 3.27
ioc::network::libos::pop 7850.35 2820775.84 1226200.41 26.28
demikernel::pop 7850.35 560.62 241.22 0.10
ioc::network::libos::pushto 3885.67 8717.91 3797.26 25.52
ioc::network::libos::pushto;catnap::linux::transport::push 3885.67 642.25 279.42 7.44
demikernel::pushto 3885.67 511.27 222.23 1.71
demikernel::async_close 32.50 863.53 365.71 0.01
ioc::network::libos::connect 24.95 4784978.96 2076075.07 25.57
ioc::network::libos::connect;catnap::linux::transport::connect 24.95 55600.00 24227.55 1.98
demikernel::connect 24.95 2222.49 971.43 0.01
ioc::network::libos::close 18.35 30228.33 13168.61 0.06
ioc::network::libos::close;catnap::linux::transport::close 18.35 29235.75 12737.37 96.19
demikernel::accept 15.42 1394.75 604.17 0.00
ioc::network::libos::accept 15.39 905481538.25 394751204.68 45.33
ioc::network::libos::accept;catnap::linux::transport::accept 15.39 3662.55 1601.91 0.00
demikernel::socket 9.50 120229.70 52238.96 0.20
demikernel::socket;catnap::linux::transport::socket 9.50 118888.89 51651.28 97.76
demikernel::new 1.00 259923.11 112489.24 0.11
demikernel::bind 1.00 28601.35 12374.43 0.00
demikernel::bind;catnap::linux::transport::bind 1.00 23946.98 10361.16 83.83
demikernel::listen 1.00 14810.61 6407.16 0.00
demikernel::listen;catnap::linux::transport::listen 1.00 13878.66 6005.30 93.71
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catpowder
commit id = a9bac1d

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 18901523.00 686.06 290.96 86.25
bgc::inetstack::poll_recv 9450761.50 1591.89 675.11 52.59
bgc::inetstack::tcp::established::background 22047.05 4152.75 1763.91 0.89
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22047.05 463.18 199.84 9.20
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22038.21 936.89 395.37 22.77
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22008.93 1096.04 462.36 22.23
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21966.96 1904.99 808.20 36.32
ioc::network::libos::pop 9032.35 990.80 419.45 0.08
ioc::network::libos::push;inetstack::push 8762.80 693.91 296.37 0.21
demikernel::sgafree 8754.15 106.98 45.36 0.01
ioc::network::libos::push 8073.74 33722892.84 15476409.23 42.34
demikernel::push 8073.74 669.34 284.84 0.04
demikernel::sgaalloc 6509.79 139.13 59.94 0.02
demikernel::pop 6037.65 630.44 267.32 0.03
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 5280.66 656.11 279.26 0.73
ioc::network::libos::pushto 778.00 4888.96 2090.95 2.30
ioc::network::libos::pushto;inetstack::push 778.00 4292.53 1835.31 87.79
demikernel::pushto 778.00 527.26 225.86 0.25
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 247.67 219.85 91.78 63.91
ioc::network::libos::close 47.97 6277.13 2676.20 0.10
bgc::passive_listening::poll 44.86 5756.05 2441.41 0.00
ioc::network::libos::connect 41.86 22379.42 9674.08 0.18
bgc::inetstack::tcp::passiveopen::background 41.86 15374.01 6538.24 0.00
ioc::network::libos::accept 38.50 2736.48 1164.09 0.00
demikernel::async_close 32.50 654.68 272.16 0.01
demikernel::accept 21.86 1282.32 546.81 0.00
demikernel::connect 20.93 4056.18 1758.98 0.02
demikernel::socket 10.30 1624.08 690.44 0.00
bgc::inetstack::arp::background 6.38 1857.10 786.69 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 6232.82 2648.03 83.29
bgc::inetstack::icmp::background 1.03 3269.05 1387.78 0.00
demikernel::new 1.00 92622973.02 39309676.76 19.30
demikernel::bind 1.00 27020.44 11410.30 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 14848.23 6307.88 0.04
demikernel::listen 1.00 6331.21 2662.89 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnip
commit id = a9bac1d

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 29346228.27 333.94 140.07 76.69
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 29346228.27 195.59 82.03 58.61
bgc::inetstack::poll_recv 14673114.13 871.66 365.73 33.64
bgc::inetstack::tcp::established::background 22051.30 2741.22 1154.81 0.46
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 22051.30 337.41 141.56 11.48
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 22040.95 611.27 253.64 23.20
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 22009.50 986.63 417.26 29.24
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21967.57 757.73 317.60 22.57
ioc::network::libos::pop 9043.76 893.28 374.40 0.06
demikernel::sgafree 8774.87 87.03 36.67 0.00
ioc::network::libos::push;inetstack::push 8762.80 653.75 282.34 0.16
ioc::network::libos::push 8073.74 33605698.48 14829793.06 32.11
demikernel::push 8073.74 732.56 315.01 0.02
demikernel::sgaalloc 6529.58 138.19 58.81 0.00
demikernel::pop 6050.86 586.88 243.57 0.01
bgc::inetstack::tcp::established::background;tcp::established::background::sender;catnip::runtime::transmit 5497.68 388.93 162.22 14.85
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 3639.37 766.90 323.43 0.81
ioc::network::libos::pushto 1144.00 1467.69 651.15 0.06
ioc::network::libos::pushto;inetstack::push 1144.00 721.08 318.88 49.33
demikernel::pushto 1144.00 487.54 215.30 0.02
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 1144.00 260.28 115.52 36.02
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 537.33 279.92 121.30 69.99
ioc::network::libos::close 49.40 6576.35 2766.17 0.01
ioc::network::libos::connect 41.86 16302.86 6904.59 0.01
bgc::inetstack::tcp::passiveopen::background 41.86 14059.17 6035.89 0.00
ioc::network::libos::connect;catnip::runtime::transmit 41.86 5495.12 2324.10 24.79
bgc::passive_listening::poll 40.11 6349.73 2701.16 0.00
ioc::network::libos::accept 38.68 2798.37 1180.25 0.00
demikernel::async_close 32.50 581.75 231.63 0.00
demikernel::accept 21.86 1504.51 662.72 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 21.02 592.87 250.64 3.27
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 16278.61 7039.72 37.08
demikernel::connect 20.93 2620.56 1105.78 0.00
demikernel::socket 10.30 1233.99 519.27 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger;catnip::runtime::transmit 9.00 3180.44 1276.80 36.02
bgc::inetstack::arp::background 6.58 2158.26 910.54 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 20381.23 8546.46 95.30
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 2.00 18084.07 7581.42 88.74
bgc::inetstack::icmp::background 1.05 3605.93 1521.78 0.00
demikernel::new 1.00 1769838642.75 741977850.95 45.50
bgc::inetstack::poll_recv;inetstack::poll 1.00 42762.20 17927.75 0.15
demikernel::bind 1.00 12010.81 5069.40 0.00
demikernel::listen 1.00 5479.86 2294.36 0.00
demikernel::close 0.00 nan nan 0.00

Copy link
Contributor

@anandbonde anandbonde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

Copy link

libos = catpowder
commit id = 7b4e60e

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 18956125.37 698.07 299.03 86.00
bgc::inetstack::poll_recv 9478062.68 1626.21 696.59 53.21
bgc::inetstack::tcp::established::background 17995.98 2094.27 894.84 0.34
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 17995.98 331.66 147.78 14.03
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 17987.34 752.47 318.03 31.71
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 17958.64 314.82 134.31 17.56
bgc::inetstack::tcp::established::background;tcp::established::background::sender 17916.59 862.80 358.59 13.82
ioc::network::libos::pop 9404.98 473.80 204.17 0.04
ioc::network::libos::push;inetstack::push 8762.80 6276.73 2716.75 2.14
demikernel::sgafree 8753.17 106.65 46.52 0.01
ioc::network::libos::push 8073.74 33512161.47 14786412.03 41.48
demikernel::push 8073.74 622.79 266.37 0.06
demikernel::sgaalloc 6506.58 142.74 61.55 0.02
demikernel::pop 6038.55 653.54 280.78 0.04
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 5995.63 636.63 274.48 0.86
ioc::network::libos::pushto 760.67 4339.31 1900.10 1.74
ioc::network::libos::pushto;inetstack::push 760.67 3912.97 1713.44 90.14
demikernel::pushto 760.67 487.28 213.27 0.19
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 263.33 190.74 86.64 60.76
ioc::network::libos::close 47.82 6214.13 2654.80 0.10
bgc::passive_listening::poll 43.61 45024.87 19264.90 0.04
ioc::network::libos::connect 41.86 72864.34 30787.58 1.23
bgc::inetstack::tcp::passiveopen::background 41.86 30670.60 13164.64 0.02
ioc::network::libos::accept 37.93 4575.13 1969.87 0.00
demikernel::async_close 32.50 838.40 348.11 0.01
demikernel::accept 21.86 1349.39 581.49 0.00
demikernel::connect 20.93 5025.40 2179.52 0.02
demikernel::socket 10.30 5809.25 2523.91 0.04
bgc::inetstack::arp::background 6.35 1862.92 796.91 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 5888.30 2514.57 83.29
bgc::inetstack::icmp::background 1.03 3163.43 1354.15 0.00
demikernel::new 1.00 91985228.18 39312796.97 19.23
demikernel::bind 1.00 25951.50 11105.32 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 14078.23 6013.57 0.04
demikernel::listen 1.00 9461.57 4047.22 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnap
commit id = 7b4e60e

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::catnap::transport::epoll 13200843.69 1950.06 847.70 32.96
demikernel::sgafree 11536.93 74.96 32.80 0.05
demikernel::sgaalloc 11284.90 116.88 53.40 0.11
ioc::network::libos::push;catnap::linux::transport::push 9066.08 607.81 272.01 3.80
ioc::network::libos::push 8800.47 16458.15 7270.15 6.74
demikernel::push 8800.47 530.53 235.58 0.16
ioc::network::libos::pop;catnap::linux::transport::pop 8024.88 394.29 173.50 2.22
ioc::network::libos::pop 7816.38 15762692.68 6406201.99 24.47
demikernel::pop 7816.38 521.25 229.48 0.12
ioc::network::libos::pushto 641.33 8154.34 3403.22 23.67
demikernel::pushto 641.33 454.42 190.12 1.48
ioc::network::libos::pushto;catnap::linux::transport::push 641.33 438.65 183.51 5.48
demikernel::async_close 32.50 994.28 392.29 0.01
ioc::network::libos::connect 24.95 6636052.84 2804691.80 28.56
ioc::network::libos::connect;catnap::linux::transport::connect 24.95 79841.15 34106.83 2.66
demikernel::connect 24.95 2074.76 894.47 0.01
ioc::network::libos::close 18.35 24192.97 10855.02 0.06
ioc::network::libos::close;catnap::linux::transport::close 18.35 22913.94 10287.43 94.74
demikernel::accept 15.42 1582.84 721.38 0.00
ioc::network::libos::accept 15.41 884662564.12 507810780.81 44.46
ioc::network::libos::accept;catnap::linux::transport::accept 15.39 8451.12 3672.27 0.00
demikernel::socket 9.50 155637.18 67956.95 0.28
demikernel::socket;catnap::linux::transport::socket 9.50 152626.18 66637.12 95.93
demikernel::new 1.00 270910.92 119321.62 0.13
demikernel::bind 1.00 29804.48 13281.96 0.01
demikernel::bind;catnap::linux::transport::bind 1.00 24942.52 11100.47 83.68
demikernel::listen 1.00 15053.32 6771.82 0.00
demikernel::listen;catnap::linux::transport::listen 1.00 13915.68 6266.60 92.48
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnip
commit id = 7b4e60e

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 29308449.87 340.05 141.71 76.66
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 29308449.87 197.07 82.08 58.12
bgc::inetstack::poll_recv 14654224.93 890.01 370.93 35.36
bgc::inetstack::tcp::established::background 16574.11 1505.36 622.40 0.16
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 16574.11 306.15 128.64 16.63
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 16563.18 469.68 192.46 28.57
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 16531.50 289.35 119.61 19.36
bgc::inetstack::tcp::established::background;tcp::established::background::sender 16489.54 320.27 128.58 9.50
ioc::network::libos::pop 9044.31 418.01 174.61 0.02
demikernel::sgafree 8779.40 96.78 40.63 0.01
ioc::network::libos::push;inetstack::push 8762.69 2042.07 859.84 0.63
ioc::network::libos::push;inetstack::push;catnip::runtime::transmit 8762.69 345.53 145.16 16.07
ioc::network::libos::push 8073.68 33445980.62 13685479.18 27.94
demikernel::push 8073.68 753.60 312.97 0.03
demikernel::sgaalloc 6534.79 145.56 60.46 0.01
demikernel::pop 6051.37 627.79 261.46 0.02
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 4429.64 739.13 308.35 1.21
ioc::network::libos::pushto 1224.67 1315.58 587.36 0.05
ioc::network::libos::pushto;inetstack::push 1224.67 701.03 313.45 53.61
demikernel::pushto 1224.67 493.02 220.26 0.02
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 1224.67 254.73 113.66 36.26
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 520.67 260.05 116.74 72.08
ioc::network::libos::close 49.35 6058.81 2523.46 0.01
ioc::network::libos::connect 41.86 66538.17 27393.86 0.12
bgc::inetstack::tcp::passiveopen::background 41.86 36080.50 14936.56 0.02
ioc::network::libos::connect;catnip::runtime::transmit 41.86 6139.48 2581.36 16.49
bgc::passive_listening::poll 41.07 61007.58 25364.98 0.03
ioc::network::libos::accept 38.14 2303.53 963.96 0.00
demikernel::async_close 32.50 838.34 333.10 0.00
demikernel::accept 21.86 1330.30 553.82 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 21.18 641.10 264.78 5.38
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 15265.29 6407.24 26.48
demikernel::connect 20.93 4023.32 1651.41 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::sender;catnip::runtime::transmit 20.93 661.50 274.24 11.33
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger;catnip::runtime::transmit 11.33 1797.69 774.92 21.13
demikernel::socket 10.30 4026.51 1663.13 0.00
bgc::inetstack::arp::background 6.47 2286.67 952.90 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 20458.85 8524.55 95.54
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 2.00 18362.60 7651.43 89.74
bgc::inetstack::icmp::background 1.05 2857.18 1190.09 0.00
demikernel::new 1.00 1763621232.43 734469383.52 46.63
bgc::inetstack::poll_recv;inetstack::poll 1.00 42812.67 17836.15 0.17
demikernel::listen 1.00 10793.00 4470.29 0.00
demikernel::bind 1.00 9826.00 4123.87 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter;catnip::runtime::transmit 1.00 288.00 114.72 0.40
demikernel::close 0.00 nan nan 0.00

@anandbonde anandbonde changed the title Enhancement: Support NetVSC/VF dual NIC in hyper-V VMs [catpowder] Support NetVSC/VF dual NIC in hyper-V VMs Nov 15, 2024
Copy link

libos = catpowder
commit id = 46e2a6e

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 19231380.53 704.47 302.69 86.02
bgc::inetstack::poll_recv 9615690.27 1641.12 704.87 54.26
bgc::inetstack::tcp::established::background 16571.88 2123.14 916.58 0.31
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 16571.88 393.86 173.85 14.93
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 16562.66 710.33 305.15 30.06
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 16532.91 338.60 145.11 18.47
bgc::inetstack::tcp::established::background;tcp::established::background::sender 16490.91 829.43 354.59 13.39
ioc::network::libos::pop 9032.59 481.01 207.95 0.04
ioc::network::libos::push;inetstack::push 8762.80 6069.01 2602.62 2.20
demikernel::sgafree 8754.28 105.30 44.82 0.01
ioc::network::libos::push 8073.74 33469395.94 14780082.84 41.33
demikernel::push 8073.74 663.73 284.85 0.05
demikernel::sgaalloc 6508.88 142.75 61.66 0.02
demikernel::pop 6037.86 634.52 273.68 0.04
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 5281.47 656.39 283.05 0.91
ioc::network::libos::pushto 780.33 4331.26 2058.20 2.38
ioc::network::libos::pushto;inetstack::push 780.33 3864.12 1838.79 89.18
demikernel::pushto 780.33 486.68 230.00 0.28
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 262.33 196.55 90.54 62.28
ioc::network::libos::close 48.38 6413.23 2740.92 0.10
bgc::passive_listening::poll 43.32 41946.31 18364.17 0.04
ioc::network::libos::connect 41.86 68015.68 28531.27 1.13
bgc::inetstack::tcp::passiveopen::background 41.86 33464.25 14522.34 0.02
ioc::network::libos::accept 37.68 4398.65 1921.25 0.00
demikernel::async_close 32.50 760.81 318.52 0.01
demikernel::accept 21.86 1633.38 710.41 0.00
demikernel::connect 20.93 3764.58 1609.99 0.02
demikernel::socket 10.30 4771.25 2015.43 0.02
bgc::inetstack::arp::background 6.32 1967.64 846.41 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 5081.97 2191.48 80.57
bgc::inetstack::icmp::background 1.03 3201.03 1374.73 0.00
demikernel::new 1.00 91632441.92 39661521.03 18.34
demikernel::bind 1.00 28037.69 12102.88 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 12534.00 5401.38 0.03
demikernel::listen 1.00 9037.57 3929.09 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnip
commit id = 46e2a6e

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once 29063866.47 342.34 150.31 75.98
bgc::inetstack::poll_recv;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 29063866.47 198.78 87.21 58.25
bgc::inetstack::poll_recv 14531933.23 904.66 397.32 34.56
bgc::inetstack::tcp::established::background 16584.16 1500.74 643.65 0.16
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 16584.16 232.08 101.25 15.19
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 16573.82 550.82 230.93 29.71
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 16542.48 290.48 126.48 19.77
bgc::inetstack::tcp::established::background;tcp::established::background::sender 16500.32 322.83 131.09 9.52
ioc::network::libos::pop 9043.94 407.79 178.59 0.02
demikernel::sgafree 8773.92 94.96 41.80 0.01
ioc::network::libos::push;inetstack::push 8762.80 2071.78 943.49 0.65
ioc::network::libos::push;inetstack::push;catnip::runtime::transmit 8762.80 337.65 152.87 15.71
ioc::network::libos::push 8073.74 33451100.15 13652229.92 27.45
demikernel::push 8073.74 751.70 330.09 0.04
demikernel::sgaalloc 6528.54 143.89 61.98 0.01
demikernel::pop 6049.53 617.61 270.09 0.02
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 4445.64 749.19 329.01 1.50
ioc::network::libos::pushto 1127.33 1330.39 614.41 0.05
ioc::network::libos::pushto;inetstack::push 1127.33 702.55 324.16 53.08
demikernel::pushto 1127.33 495.68 228.73 0.02
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 1127.33 253.38 117.00 35.92
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;udp::receive 492.00 265.81 123.37 72.21
ioc::network::libos::close 49.50 6397.66 2783.80 0.01
ioc::network::libos::connect 41.86 67061.35 28548.70 0.13
bgc::inetstack::tcp::passiveopen::background 41.86 40929.77 18593.87 0.02
ioc::network::libos::connect;catnip::runtime::transmit 41.86 6457.05 2879.22 17.48
bgc::passive_listening::poll 38.64 59396.71 25813.51 0.02
ioc::network::libos::accept 37.50 2303.42 1033.38 0.00
demikernel::async_close 32.50 820.84 327.87 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 26.79 660.84 287.42 5.03
demikernel::accept 21.86 1629.89 725.20 0.00
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 14788.84 6615.78 24.94
demikernel::connect 20.93 2785.83 1234.71 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::sender;catnip::runtime::transmit 20.93 723.66 317.90 10.81
demikernel::socket 10.30 3738.63 1653.43 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger;catnip::runtime::transmit 9.00 3520.67 1535.94 34.30
bgc::inetstack::arp::background 6.43 2422.06 1072.23 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once 2.00 21309.17 9377.06 95.58
bgc::inetstack::poll_recv;inetstack::poll;inetstack::layer4_endpoint::poll_once;catnip::runtime::receive 2.00 19065.08 8391.36 89.39
bgc::inetstack::icmp::background 1.05 3068.93 1341.09 0.00
demikernel::new 1.00 1758852820.10 771527306.37 47.73
bgc::inetstack::poll_recv;inetstack::poll 1.00 44544.63 19596.54 0.28
demikernel::bind 1.00 11582.00 5180.47 0.00
demikernel::listen 1.00 9887.71 4379.20 0.00
demikernel::close 0.00 nan nan 0.00

Copy link

libos = catnap
commit id = 46e2a6e

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::catnap::transport::epoll 13225131.34 1995.32 881.84 32.70
demikernel::sgafree 11562.21 72.58 31.12 0.05
demikernel::sgaalloc 11334.65 132.51 57.62 0.10
ioc::network::libos::push;catnap::linux::transport::push 9066.10 679.64 296.49 4.23
ioc::network::libos::push 8800.48 16810.38 7369.42 6.39
demikernel::push 8800.48 543.08 236.62 0.15
ioc::network::libos::pop;catnap::linux::transport::pop 8032.12 401.38 173.04 3.09
ioc::network::libos::pop 7823.43 5818474.61 2388371.21 24.96
demikernel::pop 7823.43 553.52 237.04 0.11
ioc::network::libos::pushto 1627.00 7591.65 3295.54 23.87
demikernel::pushto 1627.00 444.76 194.46 1.51
ioc::network::libos::pushto;catnap::linux::transport::push 1627.00 443.28 193.48 5.92
demikernel::async_close 32.50 951.09 366.69 0.01
ioc::network::libos::connect 24.95 5821700.83 2452399.10 28.72
ioc::network::libos::connect;catnap::linux::transport::connect 24.95 77643.73 33293.48 2.39
demikernel::connect 24.95 1945.66 845.32 0.01
ioc::network::libos::close 18.35 24365.15 10463.85 0.05
ioc::network::libos::close;catnap::linux::transport::close 18.35 23050.10 9897.57 94.83
demikernel::accept 15.42 1566.04 673.46 0.00
ioc::network::libos::accept 15.41 885063627.36 381831158.78 44.65
ioc::network::libos::accept;catnap::linux::transport::accept 15.39 6242.84 2688.02 0.00
demikernel::socket 9.50 156283.46 67715.46 0.26
demikernel::socket;catnap::linux::transport::socket 9.50 153393.08 66454.96 95.89
demikernel::new 1.00 263597.00 113099.10 0.11
demikernel::bind 1.00 31351.45 13439.45 0.01
demikernel::bind;catnap::linux::transport::bind 1.00 25582.98 10976.51 82.61
demikernel::listen 1.00 15794.13 6779.54 0.00
demikernel::listen;catnap::linux::transport::listen 1.00 14685.71 6303.61 92.96
demikernel::close 0.00 nan nan 0.00

@anandbonde anandbonde merged commit 1e61b40 into dev Nov 15, 2024
13 of 14 checks passed
@anandbonde anandbonde deleted the xdp-nic-split branch November 15, 2024 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants