Open cchanging opened 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.
capget
syscall (can use a dummy version).
Hope #809 can help.
Currently we still have some inescapable gaps to enable LTP (Linux Test Project) tests in asterinas, this Issue will track these gaps.
capget
syscall (can use a dummy version)./proc/meminfo
file. The file records the system's free memory information. LTP checks this file before performing memory allocation to ensure that the memory allocation actions are successful. A mock file could be used, but this file would still need to be created at runtime.Maintain
/dev/shm/
directory and implement filebacked shared mmap. Here/dev/shm
will mount a tmpfs and store the temporary created file which is used for shared mmap. The current difficulty in addressing this issue lies in the conflict between the definition of a slice VMO and file-backed mmap. The doc in asterinas says:Since the file-backed mmap relies on the file inode's page cache to allocate a child VMO, and the page cache itself is a resizable VMO, it leads to a definition conflict. There are a few approaches under consideration:
shm
, as it is a tmpfs, therefore the inode should more closely correspond to an anonymous VMO.