Skip to content

lind-perf: add benchmarks for threei.#847

Open
stupendoussuperpowers wants to merge 8 commits intolind-perf-initfrom
lind-perf-threei
Open

lind-perf: add benchmarks for threei.#847
stupendoussuperpowers wants to merge 8 commits intolind-perf-initfrom
lind-perf-threei

Conversation

@stupendoussuperpowers
Copy link
Copy Markdown
Contributor

lind-perf: threei [Based on #846]


  • Add perf.rs file for threei, and include its counters in lind-boot/perf
  • Add initial benchmark calls for _grate_callback_trampoline and typed_func.call()

@github-actions
Copy link
Copy Markdown
Contributor

End-to-End Test Report

Test Preview

Unified Test Report

grate harness

MetricValue
Total4
Success4
Failures0
Compile Failures0
Runtime Failures0
Timeout Failures0
Missing Pair Failures0

Cases

TestStatusError TypeOutput
concurrent-request/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 2
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS

STDERR:

interpose-register_grate.cSuccess
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage|interpose-register] In cage 2, about to register handler for geteuid
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 0 with fn ptr addr: 7021753225191620609
[Grate|interpose-register] Handling function ptr: 2 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Cage|interpose-register] PASS: geteuid ret = 10
[Grate|interpose-register] PASS

STDERR:

multi-register_grate.cSuccess
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 2
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 2 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS

STDERR:

simple-tests/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 2
[Grate|geteuid] Handling function ptr: 2 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS

STDERR:

wasm harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases183
Number of Successes183
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.050984s4.403604s
Success
chdir_getcwd.cSuccessNone0.053693s4.422595s
Success
chmod.cSuccessNone0.058823s4.344033s
Success
clock_gettime_highlevel.cSuccessNone0.120648s4.504568s
Success
clock_gettime_simple.cSuccessNone0.045036s4.266162s
Success
cloexec.cSuccessNone0.056579s3.936370s
Success
close.cSuccessNone0.064192s4.394461s
Success
creat_access.cSuccessNone0.054414s4.313932s
Success
doubleclose.cSuccessNone0.046155s3.873347s
Success
dup.cSuccessNone0.048998s4.279465s
Success
dup2.cSuccessNone0.052631s3.935723s
Success
dup3.cSuccessNone0.051147s4.307496s
Success
dupwrite.cSuccessNone0.056374s4.112024s
Success
etc_conf.cSuccessNone0.050185s4.306099s
Success
fchdir.cSuccessNone0.056844s4.329841s
Success
fchmod.cSuccessNone0.063142s4.376537s
Success
fcntl.cSuccessNone0.053547s4.319637s
Success
fdatasync.cSuccessNone0.054221s4.369197s
Success
filetest.cSuccessNone0.053720s3.917498s
Success
filetest1000.cSuccessNone0.064505s3.986558s
Success
flock.cSuccessNone0.061188s4.421475s
Success
fstat.cSuccessNone0.056606s4.323888s
Success
fstatfs.cSuccessNone0.047659s4.325434s
Success
fsync.cSuccessNone0.052028s4.308613s
Success
ftruncate.cSuccessNone0.058682s4.354721s
Success
getcwd.cSuccessNone0.049846s4.317701s
Success
getrandom.cSuccessNone0.054985s4.341723s
Success
ioctl.cSuccessNone0.059308s4.325292s
Success
link.cSuccessNone0.060040s4.385180s
Success
locale_test.cSuccessNone0.067384s6.193655s
Success
lseek.cSuccessNone0.059001s4.366895s
Success
mkdir_rmdir.cSuccessNone0.054460s4.293267s
Success
nocancel_io.cSuccessNone0.059231s5.641639s
Success
open.cSuccessNone0.049100s4.301108s
Success
path_conversion_safety.cSuccessNone0.058351s4.343033s
Success
pread_pwrite.cSuccessNone0.052879s4.310585s
Success
printf.cSuccessNone0.045157s3.909096s
Success
read.cSuccessNone0.055095s4.286152s
Success
readbytes.cSuccessNone0.050192s3.911194s
Success
readlink.cSuccessNone0.055824s4.365587s
Success
readlinkat.cSuccessNone0.055973s4.322274s
Success
readv_writev_test.cSuccessNone0.055681s4.335457s
Success
rename.cSuccessNone0.056561s4.328230s
Success
sc-writev.cSuccessNone0.051765s4.294304s
Success
stat.cSuccessNone0.054995s4.321721s
Success
statfs.cSuccessNone0.049247s4.319610s
Success
sync_file_range.cSuccessNone0.052469s4.385340s
Success
truncate.cSuccessNone0.056245s4.321224s
Success
unlink.cSuccessNone0.057175s4.337012s
Success
unlinkat.cSuccessNone0.057023s4.373157s
Success
write.cSuccessNone0.047257s3.924420s
Success
writeloop.cSuccessNone0.056832s3.927421s
Success
writepartial.cSuccessNone0.055514s3.913674s
Success
writev.cSuccessNone0.057450s4.354932s
Success
Math Tests
math_link_smoke.cSuccessNone0.059298s3.978483s
Success
math_tests.cSuccessNone0.062198s4.113625s
Success
Memory Tests
brk.cSuccessNone0.052965s4.308516s
Success
fork_large_memory.cSuccessNone0.086556s4.513442s
Success
malloc.cSuccessNone0.049381s3.910469s
Success
malloc_large.cSuccessNone0.052203s4.276258s
Success
memcpy.cSuccessNone0.050085s3.933625s
Success
memory_error_test.cSuccessNone0.055383s4.389487s
Success
mmap.cSuccessNone0.047364s4.323730s
Success
mmap_aligned.cSuccessNone0.049600s4.421342s
Success
mmap_complicated.cSuccessNone0.054342s4.360600s
Success
mmap_file.cSuccessNone0.055406s4.330393s
Success
mmap_shared.cSuccessNone0.053569s4.379739s
Success
mmaptest.cSuccessNone0.049543s4.345225s
Success
mprotect.cSuccessNone0.048859s4.309506s
Success
mprotect_boundary.cSuccessNone0.049063s4.328475s
Success
mprotect_end_region.cSuccessNone0.047671s4.306284s
Success
mprotect_middle_region.cSuccessNone0.047409s4.318477s
Success
mprotect_multiple_times.cSuccessNone0.048133s4.320906s
Success
mprotect_same_value.cSuccessNone0.047848s4.307500s
Success
mprotect_spanning_regions.cSuccessNone0.051050s4.361890s
Success
sbrk.cSuccessNone0.050992s4.341728s
Success
segfault.cSuccessNone0.056644s4.379126s
Success
shm.cSuccessNone0.053962s4.434035s
Success
shmtest.cSuccessNone0.049585s4.308024s
Success
tcache_test.cSuccessNone0.058528s4.512219s
Success
vtable.cSuccessNone0.062373s3.972639s
Success
Networking Tests
dnstest.cSuccessNone0.054777s4.314930s
Success
epollcreate1.cSuccessNone0.055801s4.327671s
Success
error_handling_net.cSuccessNone0.068047s4.382318s
Success
getaddrinfo_test.cSuccessNone0.060153s6.130566s
Success
gethostname.cSuccessNone0.047503s3.910684s
Success
getifaddrs.cSuccessNone0.056933s4.407313s
Success
getsockname.cSuccessNone0.056590s4.302073s
Success
getsockopt.cSuccessNone0.059347s4.343361s
Success
makepipe.cSuccessNone0.046676s3.860863s
Success
nonblocking_eagain.cSuccessNone0.060043s4.363273s
Success
pipe.cSuccessNone0.057197s4.373322s
Success
pipe2.cSuccessNone0.056412s4.352775s
Success
pipeinput.cSuccessNone0.058945s4.421604s
Success
pipeinput2.cSuccessNone0.058172s4.331897s
Success
pipeonestring.cSuccessNone0.058436s4.371840s
Success
pipepong.cSuccessNone0.057253s4.412222s
Success
pipewrite.cSuccessNone0.050858s4.284646s
Success
poll.cSuccessNone0.058728s4.309863s
Success
recvfrom-sendto.cSuccessNone0.056597s4.352044s
Success
sendmsg_recvmsg_test.cSuccessNone0.057256s4.306071s
Success
serverclient.cSuccessNone0.056313s3.938449s
Success
shutdown.cSuccessNone0.058368s3.992793s
Success
shutdown_fork.cSuccessNone0.057233s4.345513s
Success
simple-select.cSuccessNone0.059920s4.380740s
Success
simple_epoll.cSuccessNone0.056882s4.384918s
Success
socket.cSuccessNone0.054077s3.909534s
Success
socket_cloexec.cSuccessNone0.053659s4.281754s
Success
socket_options_advanced.cSuccessNone0.061322s4.374106s
Success
socketepoll.cSuccessNone0.053372s3.930796s
Success
socketpair.cSuccessNone0.054945s4.357672s
Success
socketselect.cSuccessNone0.053459s4.297650s
Success
tcp_connect_single.cSuccessNone0.057931s4.313764s
Success
uds-getsockname.cSuccessNone0.055482s4.297063s
Success
uds-nb-select.cSuccessNone2.064237s6.530371s
Success
uds-serverclient.cSuccessNone0.058927s4.425323s
Success
uds-socketselect.cSuccessNone0.056795s3.925445s
Success
writev_socket.cSuccessNone0.060228s4.341280s
Success
Process Tests
barrier_test.cSuccessNone0.053225s4.488784s
Success
chain_thread.cSuccessNone1.056193s5.474303s
Success
cxa_atexit_test.cSuccessNone0.052111s3.923980s
Success
exit.cSuccessNone0.052436s3.925525s
Success
flockfile_test.cSuccessNone0.056894s4.500825s
Success
fork2malloc.cSuccessNone0.056978s4.413661s
Success
fork_select.cSuccessNone0.054738s4.353766s
Success
fork_simple.cSuccessNone0.054652s4.354081s
Success
fork_syscall.cSuccessNone0.061145s4.450890s
Success
fork_tls_ctype.cSuccessNone0.058407s4.389517s
Success
forkandopen.cSuccessNone0.056547s4.469640s
Success
forkdup.cSuccessNone0.057990s4.042808s
Success
forkexecuid.cSuccessNone0.055217s4.401599s
Success
forkexecv-arg.cSuccessNone0.056561s4.405759s
Success
forkexecv.cSuccessNone0.053729s4.351526s
Success
forkfiles.cSuccessNone0.056156s4.421970s
Success
forkmalloc.cSuccessNone0.069776s4.346857s
Success
forknodup.cSuccessNone0.057633s4.338516s
Success
function-ptr.cSuccessNone0.052121s4.284574s
Success
getegid_syscall.cSuccessNone0.057947s4.408146s
Success
getgid_syscall.cSuccessNone0.056480s4.419153s
Success
getpid.cSuccessNone0.048831s4.307108s
Success
getpid_syscall.cSuccessNone0.058573s4.402520s
Success
getppid.cSuccessNone0.056813s4.370637s
Success
getppid_syscall.cSuccessNone0.060211s4.394251s
Success
getuid.cSuccessNone0.055985s4.351710s
Success
getuid_syscall.cSuccessNone0.056117s4.400599s
Success
hello-arg.cSuccessNone0.045841s3.899006s
Success
hello.cSuccessNone0.048578s3.966727s
Success
longjmp.cSuccessNone0.046212s3.955367s
Success
mutex.cSuccessNone2.060349s6.572266s
Success
printf_deadlock_smoke.cSuccessNone0.063914s4.633463s
Success
printf_thread_test.cSuccessNone0.052977s4.471604s
Success
sem_forks.cSuccessNone0.058294s4.418411s
Success
setsid.cSuccessNone0.049469s3.913837s
Success
template.cSuccessNone0.056212s4.392695s
Success
test_exec_nofork.cSuccessNone0.056973s4.349383s
Success
test_unlink_open_file.cSuccessNone0.052035s3.894582s
Success
thread-test.cSuccessNone0.050532s4.442460s
Success
thread.cSuccessNone0.052513s4.489647s
Success
thread_cageid_race.cSuccessNone0.050968s4.457240s
Success
tls_test.cSuccessNone0.053439s4.513496s
Success
uname.cSuccessNone0.048235s4.332355s
Success
wait.cSuccessNone2.053449s6.020336s
Success
waitpid_anychild.cSuccessNone0.055500s4.372933s
Success
waitpid_syscall.cSuccessNone1.055897s5.376035s
Success
waitpid_wnohang.cSuccessNone0.056502s3.975789s
Success
Signal Tests
alarm.cSuccessNone7.056184s11.023616s
Success
setitimer.cSuccessNone7.054796s11.014595s
Success
sigalrm.cSuccessNone2.055945s5.945544s
Success
sigchld.cSuccessNone1.057032s5.035210s
Success
signal-fork.cSuccessNone4.056671s8.062428s
Success
signal-simple.cSuccessNone0.057658s3.921183s
Success
signal.cSuccessNone0.052252s3.920429s
Success
signal_SIGCHLD.cSuccessNone0.054292s4.340270s
Success
signal_fork.cSuccessNone0.053724s4.369905s
Success
signal_int_ignored.cSuccessNone2.055729s6.360147s
Success
signal_int_thread.cSuccessNone0.052999s4.486966s
Success
signal_longjmp.cSuccessNone0.052771s3.975665s
Success
signal_nodefer.cSuccessNone0.053320s3.935341s
Success
signal_procmask.cSuccessNone0.050157s4.312906s
Success
signal_recursive.cSuccessNone0.049938s3.919684s
Success
signal_sa_mask.cSuccessNone0.050358s3.914192s
Success
sigpipe.cSuccessNone1.057289s5.428847s
Success
sigprocmask.cSuccessNone1.055384s5.019625s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.116863s4.557850s
Success
mmap-negative2.cSuccessNone0.169288s4.184772s
Success
Signal Tests
signal_resethand.cSuccessNone1.055082s3.995254s
Success

arg6: u64,
arg6_cageid: u64,
) -> i32 {
// Only enable timers for syscalls that are explicitly benchmarking related (2000-3000)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

does this need to be cfg'd?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same for everything in a 3i file

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

All cfg's are handled within lind-perf, which has no-op shims when the feature is not enabled. This allows us to not have to use cfg's here.

When building without lind_perf, the get_timer!() just returns None, and will not cause overheads.

arg6: u64,
arg6_cageid: u64,
) -> Option<i32> {
let _timer = lind_perf::get_timer!(perf::CALL_GRATE_FUNC);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why are others range gated but not this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

_call_grate_func doesn't have access to the syscall_num that was called so we can't gate it.

besides, the rationale for gating make_syscall was to ensure we dont see measurement from other syscalls. _call_grate_func is only called for interposed syscalls, and we can easily have a setup where only the syscall being benchmarked is interposed.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 9, 2026

End-to-End Test Report

Test Preview

Unified Test Report

grate harness

MetricValue
Total9
Success9
Failures0
Compile Failures0
Runtime Failures0
Timeout Failures0
Missing Pair Failures0

Cases

TestStatusError TypeOutput
concurrent-request/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 2
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS

STDERR:

interpose-exec_grate.cSuccess
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 2
[Grate|interpose-exec] Handling function ptr: 2 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 2 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS

STDERR:

interpose-exit_grate.cSuccess
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 2
Exiting...

[Grate|interpose-exit] Handling function ptr: 2 from cage: 1
[Grate|interpose-exit] In exit_grate 1 handler for cage: 1
[Grate|interpose-exit] PASS

STDERR:

interpose-fork_grate.cSuccess
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 2
[Grate|interpose-fork] Handling function ptr: 2 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS

STDERR:

interpose-mmap_grate.cSuccess
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 2
[Grate|interpose-mmap] Handling function ptr: 2 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 2 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS

STDERR:

interpose-register_grate.cSuccess
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage|interpose-register] In cage 2, about to register handler for geteuid
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 0 with fn ptr addr: 7021753225191620609
[Grate|interpose-register] Handling function ptr: 2 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Cage|interpose-register] PASS: geteuid ret = 10
[Grate|interpose-register] PASS

STDERR:

multi-register_grate.cSuccess
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 2
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Handling function ptr: 2 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS

STDERR:

simple-tests/cpdata_grate.cSuccess
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10

STDERR:

simple-tests/geteuid_grate.cSuccess
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 2
[Grate|geteuid] Handling function ptr: 2 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS

STDERR:

wasm harness

Test Report

Deterministic Tests

Summary

MetricCount
Total Test Cases186
Number of Successes186
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
File Tests
chartests.cSuccessNone0.050387s4.288727s
Success
chdir_getcwd.cSuccessNone0.050827s4.312050s
Success
chmod.cSuccessNone0.055924s4.299167s
Success
clock_gettime_highlevel.cSuccessNone0.122459s4.500279s
Success
clock_gettime_simple.cSuccessNone0.044920s4.239704s
Success
cloexec.cSuccessNone0.057707s3.928739s
Success
close.cSuccessNone0.063961s4.316723s
Success
creat_access.cSuccessNone0.053067s4.272442s
Success
doubleclose.cSuccessNone0.045140s3.856085s
Success
dup.cSuccessNone0.045980s4.237677s
Success
dup2.cSuccessNone0.051465s3.887227s
Success
dup3.cSuccessNone0.051398s4.285618s
Success
dupwrite.cSuccessNone0.053300s3.870304s
Success
etc_conf.cSuccessNone0.049627s4.286763s
Success
fchdir.cSuccessNone0.056561s4.397085s
Success
fchmod.cSuccessNone0.063135s4.295575s
Success
fcntl.cSuccessNone0.052963s4.274868s
Success
fdatasync.cSuccessNone0.052148s4.259417s
Success
filetest.cSuccessNone0.052931s3.877702s
Success
filetest1000.cSuccessNone0.062195s3.906120s
Success
flock.cSuccessNone0.059750s4.340924s
Success
fstat.cSuccessNone0.056688s4.305705s
Success
fstatfs.cSuccessNone0.048031s4.242310s
Success
fsync.cSuccessNone0.052242s4.267806s
Success
ftruncate.cSuccessNone0.057821s4.314844s
Success
getcwd.cSuccessNone0.049205s4.280396s
Success
getrandom.cSuccessNone0.053397s4.292740s
Success
ioctl.cSuccessNone0.057183s4.279214s
Success
link.cSuccessNone0.058090s4.305703s
Success
locale_test.cSuccessNone0.070205s6.068875s
Success
lseek.cSuccessNone0.057773s4.330784s
Success
mkdir_rmdir.cSuccessNone0.055902s4.304918s
Success
mkfifo_test.cSuccessNone0.059352s4.408152s
Success
mknod.cSuccessNone0.052496s4.295276s
Success
nocancel_io.cSuccessNone0.056397s5.624088s
Success
open.cSuccessNone0.048049s4.252890s
Success
path_conversion_safety.cSuccessNone0.057504s4.294020s
Success
pread_pwrite.cSuccessNone0.050903s4.317135s
Success
printf.cSuccessNone0.043857s3.848718s
Success
read.cSuccessNone0.053717s4.273031s
Success
readbytes.cSuccessNone0.050185s3.888888s
Success
readlink.cSuccessNone0.053419s4.287205s
Success
readlinkat.cSuccessNone0.055644s4.264898s
Success
readv_writev_test.cSuccessNone0.055381s4.314449s
Success
rename.cSuccessNone0.057010s4.310106s
Success
sc-writev.cSuccessNone0.051631s4.309257s
Success
stat.cSuccessNone0.054738s4.288923s
Success
statfs.cSuccessNone0.048730s4.266244s
Success
sync_file_range.cSuccessNone0.051439s4.271402s
Success
truncate.cSuccessNone0.055156s4.302868s
Success
unlink.cSuccessNone0.056305s4.331604s
Success
unlinkat.cSuccessNone0.056759s4.311246s
Success
write.cSuccessNone0.047433s3.872693s
Success
writeloop.cSuccessNone0.055549s3.869853s
Success
writepartial.cSuccessNone0.054232s3.896006s
Success
writev.cSuccessNone0.054845s4.273223s
Success
Math Tests
math_link_smoke.cSuccessNone0.059698s3.936423s
Success
math_tests.cSuccessNone0.062247s4.080638s
Success
Memory Tests
brk.cSuccessNone0.052063s4.284609s
Success
fork_large_memory.cSuccessNone0.086023s4.464040s
Success
malloc.cSuccessNone0.049683s3.889961s
Success
malloc_large.cSuccessNone0.050299s4.289952s
Success
memcpy.cSuccessNone0.049831s3.886067s
Success
memory_error_test.cSuccessNone0.056047s4.283795s
Success
mmap.cSuccessNone0.046848s4.288194s
Success
mmap_aligned.cSuccessNone0.048547s4.277209s
Success
mmap_complicated.cSuccessNone0.054223s4.337151s
Success
mmap_file.cSuccessNone0.054700s4.305118s
Success
mmap_shared.cSuccessNone0.053968s4.354437s
Success
mmaptest.cSuccessNone0.049390s4.278117s
Success
mprotect.cSuccessNone0.047318s4.280651s
Success
mprotect_boundary.cSuccessNone0.048617s4.289747s
Success
mprotect_end_region.cSuccessNone0.047802s4.282947s
Success
mprotect_middle_region.cSuccessNone0.047452s4.247879s
Success
mprotect_multiple_times.cSuccessNone0.047543s4.268460s
Success
mprotect_same_value.cSuccessNone0.048480s4.317791s
Success
mprotect_spanning_regions.cSuccessNone0.048654s4.306881s
Success
sbrk.cSuccessNone0.050033s4.285224s
Success
segfault.cSuccessNone0.055638s4.341744s
Success
shm.cSuccessNone0.053943s4.331554s
Success
shmtest.cSuccessNone0.048063s4.258410s
Success
tcache_test.cSuccessNone0.058031s4.467790s
Success
thread_malloc_sequential.cSuccessNone0.055715s4.518131s
Success
vtable.cSuccessNone0.060791s3.928478s
Success
Networking Tests
dnstest.cSuccessNone0.053323s4.256731s
Success
epoll_edge_triggered.cSuccessNone0.211176s4.490671s
Success
epollcreate1.cSuccessNone0.054719s4.297818s
Success
error_handling_net.cSuccessNone0.061603s4.339775s
Success
getaddrinfo_test.cSuccessNone0.059399s6.042330s
Success
gethostname.cSuccessNone0.047930s3.875687s
Success
getifaddrs.cSuccessNone0.055138s4.370448s
Success
getsockname.cSuccessNone0.056123s4.285237s
Success
getsockopt.cSuccessNone0.057697s4.353131s
Success
ipv6_basic.cSuccessNone0.061639s4.306607s
Success
makepipe.cSuccessNone0.047478s3.848980s
Success
nonblocking_eagain.cSuccessNone0.058206s4.387804s
Success
pipe.cSuccessNone0.055748s4.282798s
Success
pipe2.cSuccessNone0.055660s4.265010s
Success
pipeinput.cSuccessNone0.056858s4.309344s
Success
pipeinput2.cSuccessNone0.057364s4.328050s
Success
pipeonestring.cSuccessNone0.056823s4.307003s
Success
pipepong.cSuccessNone0.056793s4.453992s
Success
pipewrite.cSuccessNone0.050121s4.247290s
Success
poll.cSuccessNone0.054160s4.249679s
Success
recvfrom-sendto.cSuccessNone0.058333s4.384019s
Success
sendmsg_recvmsg_test.cSuccessNone0.058257s4.272341s
Success
serverclient.cSuccessNone0.054764s3.892397s
Success
shutdown.cSuccessNone0.058909s3.891627s
Success
shutdown_fork.cSuccessNone0.060871s4.317755s
Success
simple-select.cSuccessNone0.058774s4.352108s
Success
simple_epoll.cSuccessNone0.055043s4.394334s
Success
socket.cSuccessNone0.052337s3.872497s
Success
socket_cloexec.cSuccessNone0.053942s4.249614s
Success
socket_options_advanced.cSuccessNone0.059267s4.417375s
Success
socketepoll.cSuccessNone0.055342s3.908739s
Success
socketpair.cSuccessNone0.052281s4.315627s
Success
socketselect.cSuccessNone0.054828s4.279259s
Success
tcp_connect_single.cSuccessNone0.057370s4.306837s
Success
udp_send_recv.cSuccessNone0.161325s4.518414s
Success
uds-getsockname.cSuccessNone0.055683s4.294135s
Success
uds-nb-select.cSuccessNone2.062020s6.514217s
Success
uds-serverclient.cSuccessNone0.060844s4.358316s
Success
uds-socketselect.cSuccessNone0.055337s3.876395s
Success
writev_socket.cSuccessNone0.057324s4.277614s
Success
Process Tests
barrier_test.cSuccessNone0.054008s4.466780s
Success
chain_thread.cSuccessNone1.056127s5.452182s
Success
ctor_syscall_test.cSuccessNone0.046329s4.343443s
Success
cxa_atexit_test.cSuccessNone0.051112s3.934775s
Success
exit.cSuccessNone0.055352s3.884747s
Success
flockfile_test.cSuccessNone0.061711s4.487970s
Success
fork2malloc.cSuccessNone0.055768s4.422704s
Success
fork_select.cSuccessNone0.060181s4.448689s
Success
fork_simple.cSuccessNone0.051650s4.299767s
Success
fork_syscall.cSuccessNone0.065800s4.395099s
Success
fork_tls_ctype.cSuccessNone0.057320s4.369419s
Success
forkandopen.cSuccessNone0.060455s4.508242s
Success
forkdup.cSuccessNone0.056436s3.968755s
Success
forkexecuid.cSuccessNone0.060232s4.454613s
Success
forkexecv-arg.cSuccessNone0.059103s4.553320s
Success
forkexecv.cSuccessNone0.052507s4.347463s
Success
forkfiles.cSuccessNone0.057178s4.368957s
Success
forkmalloc.cSuccessNone0.067806s4.306379s
Success
forknodup.cSuccessNone0.058153s4.366107s
Success
function-ptr.cSuccessNone0.050775s4.268379s
Success
getegid_syscall.cSuccessNone0.055383s4.345970s
Success
getgid_syscall.cSuccessNone0.058258s4.395415s
Success
getpid.cSuccessNone0.050921s4.467144s
Success
getpid_syscall.cSuccessNone0.058443s4.364358s
Success
getppid.cSuccessNone0.055127s4.326916s
Success
getppid_syscall.cSuccessNone0.059281s4.354339s
Success
getuid.cSuccessNone0.054377s4.241373s
Success
getuid_syscall.cSuccessNone0.058754s4.401140s
Success
hello-arg.cSuccessNone0.045113s3.906573s
Success
hello.cSuccessNone0.048604s3.895164s
Success
longjmp.cSuccessNone0.046864s3.928372s
Success
mutex.cSuccessNone2.060227s6.560128s
Success
printf_deadlock_smoke.cSuccessNone0.063814s4.615193s
Success
printf_thread_test.cSuccessNone0.053448s4.471823s
Success
sem_forks.cSuccessNone0.059219s4.374707s
Success
setsid.cSuccessNone0.047393s3.950491s
Success
template.cSuccessNone0.057661s4.401990s
Success
test_exec_nofork.cSuccessNone0.056434s4.313579s
Success
test_unlink_open_file.cSuccessNone0.050353s3.891785s
Success
thread-test.cSuccessNone0.052643s4.510942s
Success
thread.cSuccessNone0.050467s4.438420s
Success
thread_cageid_race.cSuccessNone0.053639s4.447626s
Success
tls_test.cSuccessNone0.053357s4.490910s
Success
uname.cSuccessNone0.047351s4.248193s
Success
wait.cSuccessNone2.060325s6.139243s
Success
waitpid_anychild.cSuccessNone0.064143s4.327782s
Success
waitpid_syscall.cSuccessNone1.057152s5.346762s
Success
waitpid_wnohang.cSuccessNone0.055473s3.957075s
Success
Signal Tests
alarm.cSuccessNone7.056737s10.978476s
Success
setitimer.cSuccessNone7.057539s10.922023s
Success
sigalrm.cSuccessNone2.054815s5.932726s
Success
sigchld.cSuccessNone1.056480s4.992829s
Success
signal-fork.cSuccessNone4.058590s8.046008s
Success
signal-simple.cSuccessNone0.057669s3.956047s
Success
signal_SIGCHLD.cSuccessNone0.053648s4.359579s
Success
signal_fork.cSuccessNone0.052923s4.435971s
Success
signal_int_ignored.cSuccessNone2.056519s6.380050s
Success
signal_procmask.cSuccessNone0.052248s4.364937s
Success
signal_recursive.cSuccessNone0.048876s3.894755s
Success
signal_sa_mask.cSuccessNone0.048600s3.866168s
Success
sigpipe.cSuccessNone1.057749s5.400197s
Success
sigprocmask.cSuccessNone1.057626s4.945375s
Success
Fail Tests

Summary

MetricCount
Total Test Cases3
Number of Successes3
Number of Failures0
Number of Compilation Failure Native0
Number of Runtime Failure Native0
Number of Segmentation Fault Native0
Number of Timeout During Native0
Number of Lind Wasm Compile Failure0
Number of Lind Wasm Runtime Failure0
Number of Lind Wasm Segmentation Failure0
Number of Timeout During Lind Wasm run0
Number of Unknown Failure0
Number of C Compiler and Wasm Output mismatch0
Number of Fail Test: Native Succeeded (Should Fail)0
Number of Fail Test: Wasm Succeeded (Should Fail)0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)0
Number of Fail Test: Native Compilation Failure (Should Succeed)0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)0

Test Results by Category

Test CaseStatusError TypeNative TimeWasm TimeOutput
Memory Tests
mmap-negative1.cSuccessNone0.119633s4.553359s
Success
mmap-negative2.cSuccessNone0.167928s4.150505s
Success
Signal Tests
signal_resethand.cSuccessNone1.055255s4.035240s
Success

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.

2 participants