Ticket #1412 (closed enhancement: fixed)

Opened 14 months ago

Last modified 8 weeks ago

Haiku doesn't have the sys/ipc.h sys/sem.h and sys/mman.h files.

Reported by: kaoutsis Owned by: emitrax
Priority: normal Milestone: R1
Component: - General Version: R1 development
Cc: scottmc Blocked By:
Platform: All Blocking:

Description

Why?

* running the LibMicro (is a portable set of microbenchmarks) to measure the performance of various system and library calls. (Suggested by Axel). http://www.opensolaris.org/os/project/libmicro/

* being more posix http://www.opengroup.org/onlinepubs/007908799/xsh/sysipc.h.html http://www.opengroup.org/onlinepubs/007908799/xsh/syssem.h.html http://www.opengroup.org/pubs/online/7908799/xsh/sysmman.h.html

Attachments

libMicro-0.3.0-make.txt (0.8 kB) - added by kaoutsis 14 months ago.
trying to make libmicro

Change History

Changed 14 months ago by kaoutsis

trying to make libmicro

follow-up: ↓ 2   Changed 6 months ago by duaneb

Excuse me, has there been any progress on this ticket? I'd like to use mmap, if possible.

If the functionality is there, I'll be happy to shoulder the work, but I can't do much in terms of memory management.

in reply to: ↑ 1   Changed 6 months ago by kaoutsis

Replying to duaneb:

Excuse me, has there been any progress on this ticket? I'd like to use mmap, if possible.

well, i have compiled the libmicro and i have made some modifications in order to use the native haiku api (namely areas), and 'half-runs'; i tried to avoid using the posix api (sys/ipc.h sys/sem.h and sys/mman.h) because there is really a question if it's worth it, just for the libmicro tests, and seems there are not 'big' apps that needs this api. i think if the modifications proved to be correct we should close the ticket. half-runs means that after the test app runs some tests, it deadlocks in one test :-)

  Changed 6 months ago by axeld

There is a private function sys_vm_map_file() (the runtime loader currently uses that one) that doesn't need much work to be able to be used as mmap() backend. Currently, it requires a file name, but that needs to be changed to get a file descriptor instead.

Of course, to properly implement mprotect() and others, more work would be needed.

  Changed 6 months ago by kaoutsis

libMicro now has its own Ticket: #2064

  Changed 6 months ago by korli

sys/mman.h was added in r24964

  Changed 4 months ago by scottmc

  • cc scottmc added

Another bnechmark program could use these as well, bonnie++ also requires sys/ipc.h and sys/sem.h. From their website: Bonnie++ is a benchmark suite that is aimed at performing a number of simple tests of hard drive and file system performance.

  Changed 4 months ago by emitrax

  • owner changed from axeld to emitrax

I'm working on sem.h and related functions right now. I'll see if I can work on the rest of IPC after I'm done with semaphores.

  Changed 8 weeks ago by emitrax

sys/sem.h has been added along with ipc.h. Although the latest theorically would imply sys/shm.h and sys/msg, which are not yet implemented, I think this ticket can be closed.

  Changed 8 weeks ago by axeld

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.