tech-userlevel archive

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

Re: refine of the GSOC project



On Fri, May 6, 2016 at 8:46 AM, Christos Zoulas <christos%zoulas.com@localhost> wrote:
> 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
>

http://nxr.netbsd.org/ might help tracking down some stuff?


Home | Main Index | Thread Index | Old Index