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

[catnip] Allow DPDK prepend function #1366

Merged
merged 1 commit into from
Aug 8, 2024
Merged

Conversation

iyzhang
Copy link
Contributor

@iyzhang iyzhang commented Aug 7, 2024

This PR adds support for the DPDK prepend function in anticipation of using prepend for packet headers instead of allocating a new mbuf.

@iyzhang iyzhang requested a review from ppenna August 7, 2024 21:40
@iyzhang iyzhang self-assigned this Aug 7, 2024
Copy link

github-actions bot commented Aug 7, 2024

libos = catpowder
commit id = 1746507

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::receive 3616924.27 922.02 409.28 77.59
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 3616924.27 67.11 30.66 4.64
bgc::inetstack::poll_recv 3611640.52 1265.07 563.94 63.92
bgc::inetstack::tcp::established::background 21467.11 4267.92 1872.02 6.61
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 21467.11 1585.38 676.11 32.04
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 21449.09 1190.08 534.68 26.63
bgc::inetstack::tcp::established::background;tcp::established::background::sender 21449.09 828.18 366.91 19.32
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 21449.09 327.04 146.90 7.41
ioc::network::libos::pop 11350.84 1007.43 451.94 1.01
ioc::network::libos::push;inetstack::push 8791.77 5852.64 2683.23 87.47
ioc::network::libos::push 8100.42 6181.30 2833.71 3.54
demikernel::push 8100.42 657.61 297.62 0.30
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;inetstack::receive 7676.95 753.44 329.01 15.86
demikernel::sgaalloc 6567.17 167.23 75.54 0.13
demikernel::sgafree 6279.54 87.92 39.34 0.04
demikernel::pop 6059.90 513.20 222.67 0.14
ioc::network::libos::pushto 912.33 4803.75 2082.13 3.10
ioc::network::libos::pushto;inetstack::push 912.33 4291.70 1860.32 89.32
demikernel::pushto 912.33 462.35 200.21 0.29
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;inetstack::receive;udp::receive 270.67 348.71 151.58 57.65
bgc::passive_listening::poll 61.89 5176.67 2302.76 0.00
ioc::network::libos::close 46.33 10636.64 4646.22 0.17
ioc::network::libos::connect 41.86 24923.94 11292.41 0.26
bgc::inetstack::tcp::passiveopen::background 41.86 12271.58 5482.56 0.01
ioc::network::libos::accept 39.07 2631.86 1172.62 0.00
demikernel::async_close 32.50 764.18 305.25 0.01
demikernel::accept 21.86 1127.45 499.83 0.00
demikernel::connect 20.93 3635.06 1630.96 0.01
demikernel::socket 10.30 2046.24 897.31 0.00
bgc::inetstack::arp::background 2.45 2381.97 1042.88 0.00
bgc::inetstack::icmp::background 1.02 3058.00 1338.00 0.00
demikernel::new 1.00 95366690.28 41984737.32 25.93
demikernel::bind 1.00 10987.69 4774.74 0.00
bgc::inetstack::poll_recv;inetstack::poll 1.00 10407.00 4600.71 0.03
bgc::inetstack::poll_recv;inetstack::poll;inetstack::poll_bg_work::for::receive 1.00 7864.60 3484.89 74.91
demikernel::listen 1.00 5793.36 2507.07 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::poll_bg_work::for::for 1.00 418.03 183.94 4.06
demikernel::close 0.00 nan nan 0.00

Copy link

github-actions bot commented Aug 7, 2024

libos = catnip
commit id = 1746507

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::receive 5876872.65 307.50 129.60 55.67
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::receive;catnip::runtime::receive 5876872.65 202.36 85.35 65.61
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for 5876872.65 53.69 22.75 8.90
bgc::inetstack::poll_recv 5871666.90 576.01 243.09 36.35
bgc::inetstack::tcp::established::background 19342.80 3275.95 1367.75 2.66
bgc::inetstack::tcp::established::background;tcp::established::background::receiver 19342.80 854.83 350.53 27.98
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter 19321.88 1088.75 459.23 26.58
bgc::inetstack::tcp::established::background;tcp::established::background::sender 19321.88 752.89 314.24 19.91
bgc::inetstack::tcp::established::background;tcp::established::background::acknowledger 19321.88 318.55 134.16 8.29
ioc::network::libos::pop 12050.73 880.52 373.88 0.51
ioc::network::libos::push;inetstack::push 8791.71 1556.68 671.96 70.39
ioc::network::libos::push;inetstack::push;catnip::runtime::transmit 8791.71 799.85 345.25 50.48
ioc::network::libos::push 8100.39 2056.32 885.57 0.49
demikernel::push 8100.39 661.85 281.64 0.15
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;inetstack::receive 6663.44 863.96 362.23 12.62
demikernel::sgaalloc 6607.12 157.71 66.19 0.05
demikernel::sgafree 6317.18 66.48 28.34 0.01
demikernel::pop 6077.86 440.86 186.29 0.06
bgc::inetstack::tcp::established::background;tcp::established::background::receiver;catnip::runtime::transmit 2577.55 1044.59 456.70 8.10
ioc::network::libos::pushto 1540.00 1564.61 729.29 0.09
ioc::network::libos::pushto;inetstack::push 1540.00 832.34 389.17 51.37
demikernel::pushto 1540.00 553.32 258.30 0.03
ioc::network::libos::pushto;inetstack::push;catnip::runtime::transmit 1540.00 456.00 212.71 57.12
bgc::inetstack::poll_recv;inetstack::poll_bg_work::for::for;inetstack::receive;udp::receive 591.67 391.05 183.00 57.48
bgc::passive_listening::poll 59.61 5671.92 2445.51 0.00
ioc::network::libos::close 49.48 7519.68 3157.36 0.01
ioc::network::libos::connect 41.86 15337.34 6478.27 0.01
bgc::inetstack::tcp::passiveopen::background 41.86 15096.21 6589.95 0.00
ioc::network::libos::connect;catnip::runtime::transmit 41.86 6554.62 2791.74 30.57
ioc::network::libos::accept 38.50 2451.66 1054.40 0.00
demikernel::async_close 32.50 732.51 286.44 0.00
ioc::network::libos::close;catnip::runtime::transmit 31.41 962.82 404.61 8.99
demikernel::accept 21.86 1158.08 498.90 0.00
bgc::inetstack::tcp::passiveopen::background;catnip::runtime::transmit 20.93 20050.93 8798.79 44.78
demikernel::connect 20.93 4302.58 1794.34 0.00
bgc::inetstack::tcp::established::background;tcp::established::background::retransmitter;catnip::runtime::transmit 18.80 702.04 294.88 0.01
demikernel::socket 10.30 1204.73 510.93 0.00
bgc::inetstack::arp::background 2.63 2551.78 1080.49 0.00
bgc::inetstack::poll_recv;inetstack::poll;inetstack::poll_bg_work::for::receive 2.00 19215.13 8105.52 87.09
bgc::inetstack::poll_recv;inetstack::poll;inetstack::poll_bg_work::for::receive;catnip::runtime::receive 2.00 18709.53 7893.44 97.35
bgc::inetstack::poll_recv;inetstack::poll;inetstack::poll_bg_work::for::for 2.00 1531.32 643.83 6.96
bgc::inetstack::poll_recv;inetstack::poll;inetstack::poll_bg_work::for::for;inetstack::receive 1.32 1733.87 727.38 66.07
bgc::inetstack::icmp::background 1.02 3203.37 1350.83 0.00
demikernel::new 1.00 1811894963.50 761888121.09 60.22
bgc::inetstack::poll_recv;inetstack::poll 1.00 44092.43 18590.59 0.18
demikernel::bind 1.00 22629.44 9282.78 0.00
demikernel::listen 1.00 5439.57 2334.80 0.00
bgc::passive_listening::poll;catnip::runtime::transmit 1.00 1058.00 444.67 0.31
demikernel::close 0.00 nan nan 0.00

Copy link

github-actions bot commented Aug 7, 2024

libos = catnap
commit id = 1746507

collapsed_stack num_calls cycles_per_call nanoseconds_per_call percent_time
bgc::catnap::transport::epoll 5742276.35 2372.32 1069.92 33.35
demikernel::sgaalloc 11307.35 273.00 121.34 0.23
ioc::network::libos::push;catnap::linux::transport::push 9076.36 869.66 393.47 5.13
ioc::network::libos::push 8810.43 17928.17 8059.33 6.63
demikernel::push 8810.43 549.69 244.81 0.17
ioc::network::libos::pop;catnap::linux::transport::pop 8024.71 544.82 244.69 2.19
demikernel::sgafree 7920.32 83.20 37.23 0.04
ioc::network::libos::pop 7816.21 3566404.35 1554172.52 26.47
demikernel::pop 7816.21 593.07 266.19 0.11
ioc::network::libos::pushto 574.67 8210.93 3558.99 22.74
ioc::network::libos::pushto;catnap::linux::transport::push 574.67 558.84 241.96 6.83
demikernel::pushto 574.67 438.03 189.82 1.22
demikernel::async_close 32.50 840.51 362.04 0.02
ioc::network::libos::connect 24.95 5169090.79 2306929.53 24.03
ioc::network::libos::connect;catnap::linux::transport::connect 24.95 59847.03 26342.70 2.30
demikernel::connect 24.95 2182.99 965.14 0.01
ioc::network::libos::close 18.35 24161.22 10713.08 0.08
ioc::network::libos::close;catnap::linux::transport::close 18.35 23051.22 10220.85 95.77
demikernel::accept 15.42 1543.13 698.93 0.00
ioc::network::libos::accept 15.41 923127494.22 419242762.30 43.08
ioc::network::libos::accept;catnap::linux::transport::accept 15.39 3046.37 1357.64 0.00
demikernel::socket 9.50 61137.15 27130.28 0.12
demikernel::socket;catnap::linux::transport::socket 9.50 60082.27 26661.89 98.15
demikernel::new 1.00 1645375.85 730925.60 0.59
demikernel::bind 1.00 33672.38 14954.62 0.01
demikernel::bind;catnap::linux::transport::bind 1.00 27520.60 12221.71 82.39
demikernel::listen 1.00 14991.13 6650.23 0.00
demikernel::listen;catnap::linux::transport::listen 1.00 13747.45 6101.25 91.73
demikernel::close 0.00 nan nan 0.00

@ppenna ppenna changed the title [catnip] Enhancement: Allow DPDK prepend function [catnip] Allow DPDK prepend function Aug 8, 2024
@ppenna ppenna added the enhancement Enhancement Request on an Existing Feature label Aug 8, 2024
Copy link
Collaborator

@ppenna ppenna left a comment

Choose a reason for hiding this comment

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

LGTM.

Thank you submitting this.

@ppenna ppenna merged commit 4a9dd7a into dev Aug 8, 2024
20 checks passed
@ppenna ppenna deleted the enhancement-catnip-allow-prepend branch August 8, 2024 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement Request on an Existing Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants