POSIX-results: Difference between revisions
(→SIG) |
(→SIG) |
||
Line 39: | Line 39: | ||
|- | |- | ||
|| sigqueue/9-1 || || blacksand || conformance/interfaces/sigqueue/9-1: execution: UNRESOLVED || || n/a | || sigqueue/9-1 || || blacksand || conformance/interfaces/sigqueue/9-1: execution: UNRESOLVED || || n/a | ||
|- | |- | ||
|| sigaction/16-1 || Ignore || qemu-mips routerstation || "test not present" || NO SIGSTKFLT on mips platform. Signals are defined in /usr/include/bits/signum.h || n/a | || sigaction/16-1 || Ignore || qemu-mips routerstation || "test not present" || NO SIGSTKFLT on mips platform. Signals are defined in /usr/include/bits/signum.h || n/a |
Revision as of 08:46, 19 January 2012
Introduction
This page records the POSIX test results of Yocto 1.2. You can get more informations from POSIX test overall on Yocto. The test suite is from ltp and version 20110915. Six platforms are included: qemu-arm qemu-ppc qemu-mips beagleboard mpc8315rdb routerstation. There are 1794 test cases in total, only failed items are list here.
All POSIX test cases can be get at POSIX git repository.
The online POSIX specification could be viewed at IEEE Std 1003.1, 2004 Edition.
Results and analysis
The results of groups SIG SEM THR TMR MSG TPS MEM are listed. Conclusion of some test cases have been given.
Value of clumn "status":
Bug: it is a bug and the test case needs to be fixed.
Ignore: the case is not appropriate for the hardware or linux
POSIX: that test case is in development, that causes the test fails
SIG
1.2 M2 RC1
POSIX cases | status | platforms | error msg | analysis | bugzilla |
sigaction/16-1 | Ignore | qemu-mips routerstation | "test not present" | NO SIGSTKFLT on mips platform. Signals are defined in /usr/include/bits/signum.h | n/a |
1.2 M1 RC2
POSIX cases | status | platforms | error msg | analysis | bugzilla |
sigaltstack/9-1 | sugarbay blacksand | conformance/interfaces/sigaltstack/9-1: execution: UNRESOLVED | n/a | ||
sigset/7-1 | sugarbay blacksand | conformance/interfaces/sigset/7-1: execution: UNRESOLVED | n/a | ||
sigset/6-1 | sugarbay blacksand | conformance/interfaces/sigset/6-1: execution: UNRESOLVED | n/a | ||
sigqueue/9-1 | blacksand | conformance/interfaces/sigqueue/9-1: execution: UNRESOLVED | n/a | ||
sigaction/16-1 | Ignore | qemu-mips routerstation | "test not present" | NO SIGSTKFLT on mips platform. Signals are defined in /usr/include/bits/signum.h | n/a |
SEM
1.2 M1 RC2
POSIX cases | status | platforms | error msg | analysis | bugzilla |
sem_post/8-1 | blacksand | conformance/interfaces/sem_post/8-1: execution: FAILED | n/a |
1.1
POSIX cases | status | platforms | error msg | analysis | bugzilla |
sem_init/7-1 | ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | can't test: There is no constraint on SEM_NSEMS_MAX | _SC_SEM_NSEMS_MAX is not supported by sysconf(). In implement it check whether SEM_NSEMS_MAX is defined, then if defined return SEM_NSEMS_MAX, otherwise return -1. No SEM_NSEMS_MAX defined in Yocto Ubuntu and Fedora | n/a |
THR
1.2 M1 RC2
POSIX cases | status | platforms | error msg | analysis | bugzilla |
pthread_cond_init/2-2 | sugarbay | conformance/interfaces/pthread_cond_init/2-2: execution: FAILED | n/a | ||
pthread_cond_init/1-3 | sugarbay | conformance/interfaces/pthread_cond_init/1-3: execution: HUNG | n/a | ||
pthread_mutex_getprioceiling/1-1 | sugarbay blacksand | conformance/interfaces/pthread_mutex_getprioceiling/1-1: execution: FAILED | n/a | ||
pthread_mutex_init/5-3 | sugarbay | conformance/interfaces/pthread_mutex_init/5-3: execution: SIGNALED | n/a | ||
pthread_cancel/5-2 | blacksand | conformance/interfaces/pthread_cancel/5-2: execution: UNRESOLVED | n/a |
1.1
POSIX cases | status | platforms | error msg | analysis | bugzilla |
pthread_cond_broadcast/1-2 | Ignore | qemu-arm beagleboard | HUNG - "timeout" | Create too many threads and cause kernel to kill some of them, so the case block on getting mutex.
Log in dmesg: Out of memory: Kill process 25300 (1-2.run-test) score 8 or sacrifice child Killed process 858 (1-2.run-test) total-vm:26200kB, anon-rss:8236kB, file-rss:4kB |
n/a |
pthread_create/1-6 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay | testcase create NCPU=4 threads running with a high priority with the same sched policy policy and one with a low-priority. The low-priority thread should not run until the other threads stop running, unless the machine has more than NCPU processors. Redefine NCPU = sysconf(_SC_NPROCESSORS_CONF), testcase should pass | n/a | |
pthread_create/10-1 | POSIX/Removed | qemu-arm beagleboard qemu-mips routerstation | Segmentation fault | test case use an uninitialized attributes object to make case pthread_create() segmentation fault then catch the signal. But the uninitialized object is NOT invalid to pthread_create() all the time | n/a |
pthread_create/14-1 | routerstation | Segmentation fault | test failed 6/10 times | n/a | |
pthread_mutex_lock/3-1 | POSIX (send patch) | qemu-arm beagleboard routerstation qemu-mips mpc8315e | User defined signal 2 | Signals are sended before install signal handler | n/a |
pthread_rwlock_rdlock/2-1 | Ignore(unsupport) | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Main thread read lock 'rwlock' with high priority. Child thread1 write lock 'wrlock' with medium priority will block. child thread2 read lock 'rwlock' with low priority should block because a high priority write lock is waiting, but read lock doesn't block. | This test case is to test option Thread Execution Scheduling of pthread rwlock. But eglibc/libc don't support this option. They provide a __flags option to identify perfer 'read lock' or read lock, and the default is 'read lock' first. A Non-portable api pthread_rwlockattr_setkind_np() is provided to set this value. The test case is not supported. | |
pthread_rwlock_rdlock/2-2 | Ignore(unsupport) | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Main thread read lock 'rwlock' with high priority. Child thread1 write lock 'wrlock' with low priority will block. child thread2 read lock 'rwlock' with same low priority should block because a same priority write lock is waiting, but read lock doesn't block. | See pthread_rwlock_rdlock/2-1 | |
pthread_rwlock_unlock/3-1 | Ignore(unsupport) | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Main thread write lock 'rwlock' with high priority. Child thread1 write lock 'wrlock' with medium priority will block. Child thread2 read lock 'wrlock' with same mediumpriority. Child thread3 write lock 'wrlock' with low priority. When main thread unlock 'rwlock', child thread1 get the 'wrlock'. When child thread1 unlock 'rwlock', child thread2 should get the read lock 'wrlock' because it has higher priority than child thread3. But it is the child thread3 who get the 'wrlock'. | See pthread_rwlock_rdlock/2-1 |
TMR
1.2 M1 RC2
POSIX cases | status | platforms | error msg | analysis | bugzilla |
clock_getcpuclockid/6-1 | sugarbay blacksand | conformance/interfaces/clock_getcpuclockid/6-1: execution: UNRESOLVED |
1.1
POSIX cases | status | platforms | error msg | analysis | bugzilla |
timer_getoverrun/3-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return UNTESTED | N/A | |
timer_getoverrun/2-3 | Bug | qemu-arm beagleboard routerstation | "WR: Change CONFIG_HZ from 100 to 250 can solve this." The root cause is that these platform don't provide HIGH RESOLUTION TIMER. The value on platforms which test case can pass is only 1 nanosecond. But on qemuarm is 10000000 nanoseconds, on routerstation is 4000250 nanoseconds. After set
CONFIG_HIGH_RES_TIMER=y for routerstation (CONFIG_HZ=250 is already set), test case passes. These 2 kernel configurations for qemuarm are not permitted. |
Bug 1827 | |
clock_getcpuclockid/5-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | clock_getcpuclockid(1, ..) passed unexpectedly | Permission issue. When call clock_getcpuclockid() as a unpriviledge user to get process 'init' cpu time, it succeeds but expect fails with EPERM.
This is not supported by Linux. In man page, it addresses EPERM " does not occur on Linux unless the kernel does not support obtaining the per-process CPU-time clock of another process.". clock_getcpuclockid() is implemented in eglibc source file libc/sysdeps/unix/sysv/linux/clock_getcpuclockid.c, call system call clock_getres() without permission check |
n/a |
MSG
1.2 M1 RC2
None
1.1
POSIX cases | status | platforms | error msg | analysis | bugzilla |
mq_timedreceive/5-2 | Ignore | qemu-ppc qemu-mips mpc8315e subarbay blacksand | The time() can not specifies an abs_timeout to mq_timedreceiver () for preempt_rt kernel | n/a | |
mq_timedreceive/10-2 | Bug | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e subarbay blacksand |
FAIL: the validity of abs_timeout is checked Test FAILED |
Pass a invalid parameter and when no need to wait mq_timedreceive should not check the timeout value. This is described in IEEE Std 1003.1-2008 POSIX Base Specifications, Issue 7, line 43787-43889.
In linux implementation, mq_timedreceive is defined in ipc/mqueue.c. It will call prepare_timeout() ==> timespec_valid() to validate the parameter abs_timeout before to get the message queue info. |
n/a |
mq_timedsend/5-1 | POSIX/Patch send | qemu-ppc qemu-mips |
Child never interrupted mq_send() didn't appear to complete Test FAILED |
It fails random, because test case expect parent process sleep first and then child send signal to notify the parent, then the test pass. But the parent doesn't have chance to sleep before the child send the signal. | n/a |
mq_close/5-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/4-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/10-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/14-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/17-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/22-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/24-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/25-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/28-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_open/30-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_send/6-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_timedsend/6-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_timedsend/17-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
mq_unlink/2-3 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a |
TPS
1.2 M1 RC2
POSIX cases | status | platforms | error msg | analysis | bugzilla |
sched_setparam/9-1 | blacksand | conformance/interfaces/sched_setparam/9-1: execution: FAILED | n/a | ||
sched_setscheduler/17-5 | sugarbay blacksand | conformance/interfaces/sched_setscheduler/17-5: execution: UNRESOLVED | n/a |
1.1
POSIX cases | status | platforms | error msg | analysis | bugzilla |
sched_getparam/6-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | sched_getparam is a system call, and defined in kernel/sched.c:L5510. It calls security_task_getscheduler() ==> security_ops->task_getscheduler() to perform security check. Default security policy is "Unix Discretionary Access Control". Its task_getscheduler() refer to cap_task_getscheduler() and doesn't perform any permission check.
WR: A permission test. On Linux, the kernel makes no check on user permission to call this API. So basically we don't know on what condition a system should return EPERM. It is implementation defined. |
||
sched_getscheduler/7-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Same with sched_getparam/6-1
WR: A permission test. On Linux, the kernel makes no check on user permission to call this API. So basically we don't know on what condition a system should return EPERM. It is implementation defined. |
n/a | |
sched_yield/1-1 | Bug / Fixed | qemu-arm qemu-mips routerstation qemu-ppc mpc8315e beagleboard | SIGINT is trapped by bin/run-test.sh | n/a | |
sched_get_priority_max/1-3 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_get_priority_min/1-3 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a
| |
sched_getscheduler/2-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/3-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/6-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/7-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/8-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/12-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/13-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/14-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/15-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/16-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/17-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/18-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/19-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setparam/20-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | PTHREAD_SCOPE_PROCESS for pthread_attr_setscope() is not supported by linux | n/a | |
sched_setparam/21-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | PTHREAD_SCOPE_PROCESS for pthread_attr_setscope() is not supported by linux | n/a | |
sched_setparam/21-2 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | PTHREAD_SCOPE_PROCESS for pthread_attr_setscope() is not supported by linux | n/a | |
sched_setparam/23-2 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/23-3 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/23-4 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setparam/23-5 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a
| |
sched_setparam/25-2 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a
| |
sched_setparam/25-3 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a
| |
sched_setparam/25-4 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a
| |
sched_setscheduler/2-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a
| |
sched_setscheduler/5-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a
| |
sched_setscheduler/6-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a
| |
sched_setscheduler/7-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a
| |
sched_setscheduler/9-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/10-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/11-1 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/12-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a
| |
sched_setscheduler/13-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setscheduler/14-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setscheduler/15-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setscheduler/15-2 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setscheduler/17-2 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/17-3 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/17-4 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/19-2 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/19-3 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/19-4 | Ignore | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Schedule policy SCHED_SPORADIC is not supported by linux | n/a | |
sched_setscheduler/22-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a | |
sched_setscheduler/22-2 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Just print something and then return | n/a |
MEM
1.2 M1 RC2
POSIX cases | status | platforms | error msg | analysis | bugzilla |
mlockall/3-7 | sugarbay blacksand | conformance/interfaces/mlockall/3-7: execution: UNRESOLVED | n/a |
1.1
Note: from LTP/POSIX maintainer Cyril say: "At least the mmap/31-1, mmap/28-1, mmap/27-1, mmap/24-2, mmap/11-4 and mmap/11-5 are known to fail sometimes and most likely are coded incorrecly."
So these cases should exclude from test list.
POSIX cases | status | platforms | error msg | analysis | bugzilla |
mmap/11-4 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand |
pa: 0x400fb000 pa_2: 0x40115000 Modification of the partial page at the end of an object is written out |
Test case map a file with size of 1/2 * page_size, then write char 'b' to next byte of 1/2 * page_size. Then try to re-mmap() the file and expect the byte next to of 1/2 * page_size should not be character 'b'. Test on all platforms are failed. The reason is after first mmap(), the mapped page for the file is cached in page cache. When do the 2nd or 3rd mmap() still get the same mapped page.
The mapped page is cached. mmap() is a system call and implemented by mmap2(). Then the call sequence is mmap2() ==> sys_mmap_pgoff() ==> do_mmap_pgoff() ==> mmap_region() ==> file->f_op->mmap(). In ext3 file system, file->f_op->mmap() point to generic_file_mmap(). In generic_file_mmap(), assign the Page Fault Exception Handler to filemap_fault(). When access the Virtual Memory Area, page fault will occur and the run filemap_fault(). In filemap_fault(), kernel run find_get_page() to search the physical page in the page cache. |
n/a |
mmap/11-5 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | Modification of the partial page at the end of an object is written out | Same with mmap/11-4, and this test case is to test share memory, so file->f_op->mmap() point to shm_fault() in ipc/shm.c, then it call shmem_fault() ==> shmem_getpage() ==> shmem_getpage_gfp() ==> find_lock_page(). In find_lock_page() it will search the desired pagecache page. | n/a |
mmap/27-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | eglibc has define macro MAP_FIXED, and test case check MAP_FIXED defined then quit with PTS_UNTESTED | n/a | |
mmap/28-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test mmap() with length 2 timed file size expect fail with errno ENXIO( No such device or address) but successed. | n/a | |
mmap/31-1 | POSIX | qemu-arm qemu-ppc mpc8315e beagleboard sugarbay blacksand |
off: fffff000, len: fffff000 expect EOVERFLOW but get other error: Cannot allocate memory |
Parameters lenth and offset for mmap() are too large. Case 24-2 with same length expects mmap() failed with ENOMEM.
In function get_unmapped_area(), it checks len should less than TASK_SIZE, otherwise it returns -ENOMEM. TASK_SIZE value on different platforms beagleboard 0xC0000000 - 0x01000000 = 0xBF000000 mpc8315e 0xc0000000 routerstation 0x7fff8000UL sugarbay 0xffff880000000000 |
n/a |
shm_open/23-1 | Ignore | qemu-ppc | HUNG | qemu-ppc is too slow to fork and schedule, parent process create 1000 child processes and then wait children quit and then it time out. Limited to hardware. | n/a |
shm_open/2-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/3-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/6-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/7-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/9-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/10-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/12-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/19-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/24-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/27-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/29-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/36-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a | |
shm_open/42-1 | POSIX | qemu-arm beagleboard qemu-mips routerstation qemu-ppc mpc8315e sugarbay blacksand | test code just return PTS_UNTESTED and do nothing | n/a |