History log of /recipes/tpc/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7431d6ce 19-May-2021 Shuo Chen <chenshuo@chenshuo.com>

tpc/tcpperf support -p and -b options

c7fe36ba 26-Apr-2021 Shuo Chen <chenshuo@chenshuo.com>

print cwnd and retrans in tpc/tcpperf.cc

14ca1249 21-Apr-2021 Shuo Chen <chenshuo@chenshuo.com>

add tpc/bin/tcpperf.cc

e146b157 19-Apr-2021 Shuo Chen <chenshuo@chenshuo.com>

Compile tpc on FreeBSD 13.

77bc5cb1 08-Apr-2021 Shuo Chen <chenshuo@chenshuo.com>

tpc/footprint.cc binds to source IP and port before connecting.

This reduces runtime of 500,000 connections from 110s to 16s on z420.

Before:
Samples: 529K of event 'cycles', Event count (approx.): 490797782170
Children Self Command Shared Object Symbol
- 88.24% 0.04% connect_many.py [kernel.vmlinux] [k] entry_SYSCALL_64_after_hwframe
- 88.20% entry_SYSCALL_64_after_hwframe
- 82.53% do_syscall_64
- 73.49% __x64_sys_bind
- __sys_bind
- 73.32% __inet_bind
- 73.16% inet_csk_get_port
- 62.04% inet_csk_bind_conflict
46.77% inet_rcv_saddr_equal
- 12.33% sock_i_uid
6.18% _raw_read_lock_bh
4.68% _raw_read_unlock_bh
0.63% __local_bh_enable_ip
4.64% _raw_spin_lock_bh
0.89% __local_bh_enable_ip
0.82% _cond_resched
+ 5.88% __x64_sys_connect
+ 1.19% __x64_sys_socket
+ 0.96% __x64_sys_accept4
+ 0.57% __x64_sys_epoll_ctl
- 5.67% syscall_exit_to_user_mode
+ 5.59% exit_to_user_mode_prepare

After:
Samples: 143K of event 'cycles', Event count (approx.): 132260215644
Children Self Command Shared Object Symbol
- 57.20% 0.15% connect_many.py [kernel.vmlinux] [k] entry_SYSCALL_64_after_hwframe
- 57.05% entry_SYSCALL_64_after_hwframe
- 36.48% do_syscall_64
- 21.05% __x64_sys_connect
- 21.01% __sys_connect
- 20.66% inet_stream_connect
- 20.56% __inet_stream_connect
- 11.71% tcp_v4_connect
- 9.94% tcp_connect
+ 8.11% __tcp_transmit_skb
0.70% sk_stream_alloc_skb
+ 0.54% ip_route_output_flow
+ 8.49% release_sock
+ 4.79% __x64_sys_socket
+ 3.60% __x64_sys_bind
+ 3.31% __x64_sys_accept4
+ 2.08% __x64_sys_epoll_ctl
+ 0.79% __x64_sys_close
+ 20.56% syscall_exit_to_user_mode

246b2f80 06-Apr-2021 Shuo Chen <chenshuo@chenshuo.com>

tpc/bin/footprint.cc supports millions of connections.

Client binds to 127.1.xxx.yyy before connecting to 127.0.0.1.

eef48d84 24-Feb-2021 Shuo Chen <chenshuo@chenshuo.com>

fix Socket::getLocalAddr() and Socket::getPeerAddr() for IPv6

Also fix bin/roundtrip_udp.cc for IPv6.

02165cfc 24-Feb-2021 Shuo Chen <chenshuo@chenshuo.com>

tpc echo.cc supports -6 flag.

e0ccc29f 24-Feb-2021 Shuo Chen <chenshuo@chenshuo.com>

Fix InetAddress::toIpPort() for IPv6

be081f78 24-Feb-2021 Shuo Chen <chenshuo@chenshuo.com>

print min,max,avg rtt in roundtrip_tcp.cc

8bdf4aaf 24-Feb-2021 Shuo Chen <chenshuo@chenshuo.com>

Use TEMP_FAILURE_RETRY() to deal with EINTR.

Also replace read(2) with recv(2), write(2) with send(2).
On Linux 5.10, recv/send save a hop in VFS, so it's a bit more
efficient.

read -> do_syscall_64 -> ksys_read -> vfs_read -> new_sync_read
-> call_read_iter -> sock_read_iter -> inet_recvmsg
readv -> do_syscall_64 -> do_readv -> vfs_readv -> do_iter_read
-> do_iter_readv_writev -> call_read_iter -> sock_read_iter
-> inet_recvmsg
recv -> do_syscall_64 -> __x64_sys_recvfrom -> __se_sys_recvfrom
-> __do_sys_recvfrom -> __sys_recv_from -> inet_recvmsg

write -> do_syscall_64 -> ksys_write -> vfs_write -> new_sync_write
-> call_write_iter -> sock_write_iter -> sock_sendmsg
send -> do_syscall_64 -> __x64_sys_sendto -> __se_sys_sendto
-> __do_sys_sendto -> __sys_sendto -> sock_sendmsg

91852b37 12-Feb-2021 Shuo Chen <chenshuo@chenshuo.com>

add tpc/roundtrip_tcp.cc

24ca08a8 01-Jul-2020 Shuo Chen <chenshuo@chenshuo.com>

Support IPv6.

475e9be4 22-Aug-2017 Shuo Chen <chenshuo@chenshuo.com>

Add tpc/bin/sendoob.cc

e2512892 18-Feb-2017 Shuo Chen <chenshuo@chenshuo.com>

add bin/footprint

8d51ab70 08-Jan-2017 Shuo Chen <chenshuo@chenshuo.com>

add ssl/TlsStream etc.

726c52da 08-Jan-2017 Shuo Chen <chenshuo@chenshuo.com>

organize source files in tpc/

5629ec01 05-Jan-2017 Shuo Chen <chenshuo@chenshuo.com>

update tpc/build.sh

267a4893 02-Apr-2015 Shuo Chen <chenshuo@chenshuo.com>

update sudoku_stress.cc

7a9ed4ce 01-Apr-2015 Shuo Chen <chenshuo@chenshuo.com>

rename sudoku_loadtest.cc to sudoku_stress.cc

533a0924 29-Mar-2015 Shuo Chen <chenshuo@chenshuo.com>

add tpc/sudoku_loadtest.cc

e0d88046 26-Feb-2015 Shuo Chen <chenshuo@chenshuo.com>

add echo server that deals with half-close.

b42ce01e 25-Dec-2014 Shuo Chen <chenshuo@chenshuo.com>

update nodelay*.cc to support concurrent requests.

569528b0 18-Dec-2014 Shuo Chen <chenshuo@chenshuo.com>

add nodelay.cc

fa5c8e97 04-Dec-2014 Shuo Chen <chenshuo@chenshuo.com>

Update build.sh

41523f40 02-Dec-2014 Shuo Chen <chenshuo@chenshuo.com>

Merge branch 'master' of github.com:chenshuo/recipes


b7176da7 02-Dec-2014 Shuo Chen <chenshuo@chenshuo.com>

add sender.cc

d42543f4 30-Nov-2014 Shuo Chen <chenshuo@chenshuo.com>

add discard.cc

93e5f6a7 30-Nov-2014 Shuo Chen <chenshuo@chenshuo.com>

add chargen.cc

7573bb11 30-Nov-2014 Shuo Chen <chenshuo@chenshuo.com>

Fix TcpStream::sendAll(). Fixed issue #6.

2de24e35 16-Nov-2014 Shuo Chen <chenshuo@chenshuo.com>

update netcat

65e04e7f 01-Nov-2014 Shuo Chen <chenshuo@chenshuo.com>

update build.sh

28d3a254 31-Oct-2014 Shuo Chen <chenshuo@chenshuo.com>

add netcat.py

f41285cf 30-Oct-2014 Shuo Chen <chenshuo@chenshuo.com>

add netcat.cc

aafef3cc 29-Oct-2014 Shuo Chen <chenshuo@chenshuo.com>

add echo_client.cc and roundtrip_udp.cc

d47c0202 27-Oct-2014 Shuo Chen <chenshuo@chenshuo.com>

passing C-style strings with StringArg

aa323eb5 18-Mar-2014 Shuo Chen <chenshuo@chenshuo.com>

add sieve.cc, add another trivial String class.

1dfcf3a2 14-Mar-2014 Shuo Chen <chenshuo@chenshuo.com>

add ttcp.pic and int128.h

ddbf26c3 12-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

current TPC echo

a52ee0fd 13-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

tpc

fca8cc3f 13-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

fix for Ubuntu 10.04

8f04b50c 12-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

add ttcp

503bffb0 11-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

InetAddress::resolveSlow

5b543c9c 11-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

InetAddress::resolve

355c2bf7 10-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

tpc TcpStream IO done.

efbfdb0c 10-Feb-2014 Shuo Chen <chenshuo@chenshuo.com>

add tpc directory