[GSOC] System V IPC in userspac - Final report

Grigore Larisa <[email protected]>
Newsgroups gmane.os.dragonfly-bsd.kernel
Message-ID <CAKt0zCykv0Q2ZrDZHkwzw-vX1PO8p0BfEPRC5ppuO89PyCPfjQ@mail.gmail.com>
Hi all,

First of all, sorry for the delay. Moving libsysvipc into libc brought me a
lot of problems. There are two things necessary for an application to use
userland implementation. First the sysvipc daemon (located in usr.sbin)
must be started and applications must set the environment variable
USR_SYSVIPC to "1".
I have added wrappers in libc for shm* calls and modified those for sem*
and msg*. Every time a wrapper is called, a global variable is inspected to
see if the system call or the library function must be used. The global
variable is set using a libc constructor and it is initialized with 1 if
the environment variable is set to 1.

I have attached the results obtained last week. I will repeat them because
there were made some improvements from that moment. For each implementation
(kernel or userland) there are presented in the first column, the number of
transactions including connections established and in the second one the
number of transactions excluding connections established.

I am currently adding a fork and pthread_atfork wrapper in libc to avoid
linking libc with libpthread (my implementation needs pthread_atfork) to
succeed making another set of tests.

Thanks,
Larisa
Results.pdf (application/pdf, 216.7 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.