Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions src/net_buffer_tuner.bpf.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,7 @@ int BPF_PROG(net_rx_action)
if (!last_time_squeezep)
return 0;
last_time_squeeze = *last_time_squeezep;
/* if time squeeze increased for every instance of
* net_rx_action() since last sample, we increase.
*/
if (time_squeeze <= (last_time_squeeze + bpftune_sample_rate))
if (time_squeeze <= last_time_squeeze)
return 0;
*last_time_squeezep = time_squeeze;
/* did not have previous time_squeeze value for comparison, bail. */
Expand Down
15 changes: 12 additions & 3 deletions test/budget_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,14 @@ for FAMILY in ipv4 ipv6 ; do

test_start "$0|budget test to $ADDR:$PORT $FAMILY opts $CLIENT_OPTS $LATENCY"

budget_orig=($(sysctl -n net.core.netdev_max_backlog))
budget_orig=($(sysctl -n net.core.netdev_budget))
usecs_orig=($(sysctl -n net.core.netdev_budget_usecs))
test_setup true

sysctl -w net.core.netdev_budget=10
sysctl -w net.core.netdev_budget_usecs=100
budget_pre=($(sysctl -n net.core.netdev_budget))
usecs_pre=($(sysctl -n net.core.netdev_budget_usecs))
declare -A results
for MODE in baseline test ; do

Expand All @@ -60,7 +63,7 @@ for FAMILY in ipv4 ipv6 ; do
LOGSZ=$(wc -l $LOGFILE | awk '{print $1}')
LOGSZ=$(expr $LOGSZ + 1)
fi
test_run_cmd_local "ip netns exec $NETNS $IPERF3 -fm -t 20 $CLIENT_OPTS -c $PORT -c $ADDR" true
test_run_cmd_local "ip netns exec $NETNS $IPERF3 -fm -t 10 -P 20 $CLIENT_OPTS -c $PORT -c $ADDR" true
sleep $SLEEPTIME

sresults=$(grep -E "sender" ${CMDLOG} | awk '{print $7}')
Expand All @@ -80,10 +83,16 @@ for FAMILY in ipv4 ipv6 ; do
done

budget_post=($(sysctl -n net.core.netdev_budget))
usecs_post=($(sysctl -n net.core.netdev_budget_usecs))
sleep $SLEEPTIME
sysctl -w net.core.netdev_budget="$budget_orig"
sysctl -w net.core.netdev_budget_usecs="$usecs_orig"
echo "budget ${budget_pre} -> ${budget_post}"
echo "usecs ${usecs_pre} -> ${usecs_post}"
if [[ "$budget_post" -gt "$budget_pre" ]]; then
test_pass
if [[ "$usecs_post" -gt "$usecs_pre" ]]; then
test_pass
fi
fi
test_cleanup
done
Expand Down