On May 5, 10:14pm, charles.cui1...@gmail.com (Charles Cui) wrote: -- Subject: refine of the GSOC project
| Hi guys, | | I spend some time on researching the project and have some results. | Based on the results, I can split the project into multiple parts and expect | to complete the project in divide-and-concur way. | | I found a lot of building errors in the posix benchmark are because of | compiler settings. Some variables are defined and never used, some | other variables are set and not used. In the makefile of the posix | benchmark, it used -Werror and -Wall as the flags, which will report | those cases as errors. | After disabling the flags, I can classify all remaining errors into | multiple classes, which are listed below. In each class, it requires | to provide a particular macro, function or some data structures. I | will continue to read related code base and find the best way to solve | all those problems. By the way, http://nxr.netbsd.org/ is super | helpful to view kernel code, thanks Christos for recommending. | | timers: | _SC_TIMER_MAX fgrep -r _SC_TIMER_MAX /usr/include/ /usr/include/sys/unistd.h:#define _SC_TIMER_MAX 88 | _SC_CPUTIME | _SC_THREAD_CPUTIME | _SC_DELAYTIMER_MAX These can be aded | | CLOCK_PROCESS_CPUTIME_ID | CLOCK_THREAD_CPUTIME_ID | clock_getcpuclockid | getdate | strptime | daylight | timezone | pthread_getcpuclockid | struct timespec Again, some of these exist. Perhaps it is using a compiler define that hides them and should not? | pthreads: | PTHREAD_PRIO_INHERIT | PTHREAD_PRIO_NONE | PTHREAD_PRIO_PROTECT | PTHREAD_STACK_MIN | PTHREAD_ONCE_INIT | STACKSIZE | pthread_barrierattr_getpshared | pthread_barrierattr_setpshared | pthread_mutexattr_setpshared | pthread_mutexattr_getpshared | pthread_condattr_setpshared | pthread_condattr_getpshared | pthread_condattr_setclock | pthread_condattr_getclock | pthread_mutexattr_getprioceiling | pthread_mutexattr_setprioceiling | pthread_mutexattr_getprotocol | pthread_mutexattr_setprotocol | pthread_rwlockattr_getpshared | pthread_rwlockattr_setpshared | pthread_mutex_getprioceiling | pthread_mutex_timedlock | pthread_setaffinity_np | pthread_getattr_np fgrep -r pthread_setaffinity_np /usr/include/ /usr/include/pthread.h:int pthread_setaffinity_np(pthread_t, size_t, cpuset_t *); | scheduler: | SCHED_SPORADIC Does freebsd have this? | signals: | | SIGPOLL | SIGRTMIN | SIGRTMAX | SIGNAL | SIGSTKSZ | SIG_INVALID | SIGTOTEST | _SC_REALTIME_SIGNALS | _SC_SIGQUEUE_MAX | SA_ONSTACK | SA_RESETHAND | SA_RESTART | SA_NODEFER | SS_ONSTACK | SS_DISABLE | MINSIGSTKSZ Real-time signals is an area we are missing. | struct sigstack | stack_t | bsd_signal | killpg | sigaltstack_test | sigaltstack | sighold | sigignore | siginterrupt | sigpause | sigrelse | sigset | | mmap: | POSIX_TYPED_MEM_ALLOCATE | POSIX_TYPED_MEM_ALLOCATE_CONTIG | POSIX_TYPED_MEM_MAP_ALLOCATABLE | struct posix_typed_mem_info | posix_mem_offset | posix_typed_mem_get_info | posix_typed_mem_open I dont know what these are | aio | struct rlimit We have struct rlimit, again we need to check the compilation flags. | cpuset | CPU_ZERO | CPU_SETSIZE | CPU_SET | cpu_set_t This is linux-specific; we have our own and the tests need to be adjusted | | semaphore | _SC_SEM_NSEMS_MAX | features.h christos