tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: refine of the GSOC project



On May 5, 10:14pm, charles.cui1984%gmail.com@localhost (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



Home | Main Index | Thread Index | Old Index