Opened 16 years ago

Closed 10 years ago

#2064 closed enhancement (fixed)

libMicro port

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

Description

The LibMicro is a portable set of microbenchmarks to measure the performance of various system and library calls.

http://www.opensolaris.org/os/project/libmicro/

attached:

  • libMicro-build.diff.zip

the incorporation of the libMicro to the build

  • libMicro-0.4.0-orig-mod.diff

libMicro diff original to modifications

Attachments (8)

libMicro-build.diff.zip (57.5 KB ) - added by kaoutsis 16 years ago.
libMicro-0.4.0-orig-mod.diff (27.0 KB ) - added by kaoutsis 16 years ago.
bench-modified (17.0 KB ) - added by kaoutsis 16 years ago.
other-tmp-results (340.1 KB ) - added by kaoutsis 16 years ago.
haiku-tmp-results (329.5 KB ) - added by kaoutsis 16 years ago.
adding-mmap-munmap-libmicro-tests.diff (673 bytes ) - added by kaoutsis 16 years ago.
src_tests_system_benchmarks_libMicro_Jamfile.diff (753 bytes ) - added by kaoutsis 16 years ago.
src_tests_system_benchmarks_libMicro.diff (812 bytes ) - added by kaoutsis 16 years ago.

Download all attachments as: .zip

Change History (28)

comment:1 by kaoutsis, 16 years ago

Removed additional macro getpagesize() from pread.c and read.c; now it uses haiku's getpagesize(), updated the two attached files.

comment:2 by kaoutsis, 16 years ago

using haiku's flock()

comment:3 by kaoutsis, 16 years ago

libMicro/connection.c Haiku is supporting now #include <sys/poll.h> Reverted file to its original state.

comment:4 by kaoutsis, 16 years ago

Hopefully, fixed the failed 'jam -q' from inside the libMicro dir, that i noticed yesterday night on haiku-host (still untested).

in reply to:  4 comment:5 by kaoutsis, 16 years ago

Replying to kaoutsis:

Hopefully, fixed the failed 'jam -q' ...

it's fixed, but still, not an elegant solution.

comment:6 by kaoutsis, 16 years ago

reduced further the number of changes to the original sources:

  • the 'bench' script wants to find the tattle executable in

a bin subdirectory, so it is copied now to the bin-BePC, and a symlink 'bin' points to bin-BePC is created by HaikuImage

  • reverted libMicro/tattle.c to its original state by

adding to libMicro/Jamfile: UseHeaders [ FDirName $(SUBDIR) ] : true ; so #include <tattle.h> now is allowed.

  • don't mix the getpeername stand alone net test with the synonym

of libMicro test by making the rules more clear in libMicro/Jamfile and to HaikuImage respectively.

comment:7 by kaoutsis, 16 years ago

Using haiku's mmap() and munmap() from hrev24964 the tests failed with barrier_create(): Invalid Argument

by kaoutsis, 16 years ago

Attachment: libMicro-build.diff.zip added

by kaoutsis, 16 years ago

in reply to:  7 ; comment:8 by bonefish, 16 years ago

Replying to kaoutsis:

Using haiku's mmap() and munmap() from hrev24964 the tests failed with barrier_create(): Invalid Argument

Fixed in hrev24967.

BTW, do you want it to be checked in or do you rather want to work on it some more first?

in reply to:  8 comment:9 by kaoutsis, 16 years ago

Replying to bonefish:

Replying to kaoutsis:

Using haiku's mmap() and munmap() from hrev24964 the tests failed with barrier_create(): Invalid Argument

Fixed in hrev24967.

Indeed :-)

BTW, do you want it to be checked in or do you rather want to work on it some more first?

I think it's better to be checked in. Trac is not svn :-) For other issues (pthreads etc) we can open separate tickets, if there is a need. Definitely, you made a very good job, thanks!

by kaoutsis, 16 years ago

Attachment: bench-modified added

by kaoutsis, 16 years ago

Attachment: other-tmp-results added

by kaoutsis, 16 years ago

Attachment: haiku-tmp-results added

comment:10 by kaoutsis, 16 years ago

  • Added the adding-mmap-munmap-libmicro-tests.diff in order to

made the mmap() and munmap() tests actually run.

  • Updated haiku-tmp-results with the newly included tests

comment:11 by kaoutsis, 16 years ago

hrev25003, after the pthread_cleanup_pop_handler fix, a lot of tests that were entered the gdb (for that reason), now run correctly but sometimes looks like they wait for ever (no cpu activity). Others just waits for ever,

One group of these tests, most of the times runs correct and sometimes waits, with no activity. An interesting example is (try to run by hand): go to ~/benchmarks/libmicro/bin> export OPTS="-1 -E -C 200 -L -S -W" malloc $OPTS -N "mallocT2_1k" -s 1k -g 10 -T 2 -I 200

Once every 40 or 30 times, doesn't return, waits for ever (no cpu activity)

The other group of tests, for example mktime $OPTS -N "mktimeT2" -T 2 -I 1000 waits for ever, every time it runs.

Also, it's the first time, that the tests are working without the -1 option (namely the default, OPTS="-E -C 200 -L -S -W") but also there are the above problems. HTH :-)

BTW: should i open different tickets for every issue, or should i post here?

comment:12 by kaoutsis, 16 years ago

src_tests_system_benchmarks_libMicro_Jamfile.diff:

  • Allow the mutex and the pthread_create libMicro benchmarks

run for real.

in reply to:  12 comment:13 by korli, 16 years ago

Replying to kaoutsis:

src_tests_system_benchmarks_libMicro_Jamfile.diff:

  • Allow the mutex and the pthread_create libMicro benchmarks

run for real.

Applied in hrev25460.

comment:14 by kaoutsis, 16 years ago

src_tests_system_benchmarks_libMicro.diff:

  • Allow the msync libMicro benchmark to compile for real
  • Added a plain test for msync to the bench script,

since the original bench script didn't have one.

comment:15 by scottmc, 15 years ago

Can this be closed?

in reply to:  15 ; comment:16 by kaoutsis, 15 years ago

Replying to scottmc:

Can this be closed?

i believe not, as long the bench script fails. I am not sure if it still fails; i will test it as soon as i find some time.

comment:17 by axeld, 14 years ago

Owner: changed from axeld to nobody
Version: R1/pre-alpha1

in reply to:  16 comment:18 by scottmc, 14 years ago

Replying to kaoutsis:

Replying to scottmc:

Can this be closed?

i believe not, as long the bench script fails. I am not sure if it still fails; i will test it as soon as i find some time.

Did you find time yet? ;) Maybe we move this to HaikuPorts and perhaps make it an OptionalPackage if/when it's ready.

comment:19 by pulkomandy, 12 years ago

Owner: changed from nobody to scottmc
Status: newassigned

This really should be moved over at HaikuPorts.

comment:20 by pulkomandy, 10 years ago

Resolution: fixed
Status: assignedclosed

There is now an HaikuPort recipe for libmicro. I will close this ticket and open separate one for each issue I get with it.

Note: See TracTickets for help on using tickets.