mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 10:03:23 +09:00
run_matrix.sh drives interleaved monolith/inproc/spawn+shm/spawn+tcp benchmark rounds on an adb device with per-run arm-marker verification; profile_matrix.sh layers simpleperf, ftrace wakeup capture and a /proc sampler on top; make_report.py aggregates runs into REPORT.md. The wifi kit carries the cross-host control-plane hang repro and phone-side strace/fd-reconcile helpers. .trace-work/ (run output) is now ignored.
34 lines
1.2 KiB
Bash
34 lines
1.2 KiB
Bash
#!/bin/bash
|
|
# Repro hang, then map child fds -> socket inodes and dump per-socket rx queues + supervisor fds.
|
|
set -u
|
|
BASE=~/wifi-perf
|
|
export MOBILEGL_TRANSPORT=spawn
|
|
export MOBILEGL_IPC_CONTROL=tcp://192.168.21.181:40613
|
|
export MOBILEGL_IPC_DATA=stream
|
|
export MOBILEGL_IPC_TOKEN=wifibench-token-2026-09
|
|
export MOBILEGL_IPC_RUN_AHEAD=1
|
|
export MOBILEGL_IPC_COLD_START_MS=90000
|
|
export MOBILEGL_PIPE_STATS=1
|
|
cd ~/MobileGL
|
|
rm -rf "$BASE/out/fdprobe"; mkdir -p "$BASE/out/fdprobe"
|
|
./build-split/tools/trace_replay/mobilegl_trace_replay \
|
|
--trace "$BASE/traces/openra.trace" --backend DirectGLES \
|
|
--mobilegl-library ./build-split/libMobileGL.so --pbuffer-surface \
|
|
--benchmark --benchmark-result="$BASE/out/fdprobe/benchmark.json" \
|
|
--output "$BASE/out/fdprobe" > "$BASE/out/fdprobe/mobilegl.log" 2>&1 &
|
|
CPID=$!
|
|
echo "client pid=$CPID"
|
|
for i in $(seq 1 60); do
|
|
grep -q "MobileGL initialized" "$BASE/out/fdprobe/mobilegl.client.log" 2>/dev/null && break
|
|
sleep 1
|
|
done
|
|
sleep 8
|
|
echo "=== hang confirmed; dumping ==="
|
|
echo "=== CLIENT ss ==="
|
|
ss -tn dst 192.168.21.181:40613
|
|
echo "=== CLIENT bytes ==="
|
|
ss -ti dst 192.168.21.181:40613 | grep -E 'bytes_sent|ESTAB'
|
|
sleep 1
|
|
kill $CPID 2>/dev/null
|
|
echo DONE_LOCAL
|