asterinas / asterinas

Asterinas is a secure, fast, and general-purpose OS kernel, written in Rust and providing Linux-compatible ABI.
https://asterinas.github.io/
Other
836 stars 85 forks source link

Support LTP tests #745

Open cchanging opened 5 months ago

cchanging commented 5 months ago

Currently we still have some inescapable gaps to enable LTP (Linux Test Project) tests in asterinas, this Issue will track these gaps.

cchanging commented 5 months ago

Currently some tests (in ltp tests and gvisor tests) will be blocked due to the schedule and workqueue strategies. e.g.

// set a timer to send signals, which will add `sigcnt`.
...

// Holding the current processor, unable to switch to executing the actions of the workqueue.
while (sigcnt <= 10UL); 

Due to the absence of preemptive scheduling, similar code patterns can cause the program to be unable to execute the acctions on the workqueue, resulting in being blocked at the while loop.

StanPlatinum commented 4 months ago
  • capget syscall (can use a dummy version).

Hope #809 can help.