1
1
Граф коммитов

162 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
dc47dd39aa * mvapi's deregister call calls free, and the fast bins in ptmalloc2 aren't
reentrant for free(), so we can't call free() from inside an sbrk() handler.
  The solution is never call sbrk() with a negative number.  The mmap() allocator
  used for large allocations does not have this problem and continues to give
  memory back to the OS as soon as possible.

This should go to both the v1.1 and v1.0 branches.

This commit was SVN r9943.
2006-05-16 21:16:55 +00:00
Jeff Squyres
19a51e2492 Clarify the documentation.
This commit was SVN r9904.
2006-05-12 02:14:57 +00:00
Brian Barrett
176aa8b7e1 include default implementation header file in tarball. fixes make distcheck,
I think

This commit was SVN r9540.
2006-04-06 02:46:14 +00:00
George Bosilca
d311d8acf1 The memcpy framework. The base component is here, but right now no
implementations. I dont want to overload the memcpy functions,
therefore people interested in using the high performance memcpy
should use directly opal_memcpy instead. Notice, that there are 2
other versions of memcpy available, which use a destination or a source
described as iovecs.

This commit was SVN r9532.
2006-04-05 05:56:08 +00:00
Brian Barrett
c42da09796 * Fix a small bug George noticed - if you change the prefix (or any of the
installation directories) in configure, the files that depend on this
  information are not properly rebuilt.  If you need this information,
  don't setup a -D in the Makefile.am - instead, include 
  opal/install_dirs.h.
* Use the : option in AC_CONFIG_FILES to avoid needing to expose that
  we are playing around with temporary files with our headers to avoid
  rebuilding
* Clean up the version file information a bit, and like the install 
  directory stuff, make sure that there is a dependency so that 
  ompi_info gets rebuilt properly when a version number changes.

This commit was SVN r9256.
2006-03-12 04:35:01 +00:00
Brian Barrett
710bca2df4 * properly enable threading support inside ptmalloc2=. Thanks to Tim for
figuring out that ptmalloc2 was borked.

This commit was SVN r9251.
2006-03-11 02:37:55 +00:00
Rainer Keller
5c7497bceb - In fix r9182, stream with id 0 was explicitly exluded
Still release the standard stream upon finalizing.

This commit was SVN r9204.

The following SVN revision numbers were found above:
  r9182 --> open-mpi/ompi@a2a26525b3
2006-03-05 11:45:43 +00:00
Rainer Keller
a2a26525b3 - Release the output-stream in mca_base_component_close
- Destroy the verbose-stream upon finalize, not when closing.
   Also free the output_prefix and output_dir variables.

This commit was SVN r9182.
2006-02-28 12:33:42 +00:00
George Bosilca
7abccaa819 Update the includes.
This commit was SVN r9155.
2006-02-27 02:14:31 +00:00
Jeff Squyres
b8ae4060b2 Fix warnings about setting read-only MCA parameters on bproc systems.
This commit was SVN r9057.
2006-02-16 04:41:38 +00:00
Brian Barrett
ad172b0088 * fix one more header file
This commit was SVN r8986.
2006-02-12 02:27:14 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Brian Barrett
e3ded6f8cf * add a #define for Galen as to whether or not any memory component was
built.

This commit was SVN r8928.
2006-02-08 00:50:42 +00:00
Brian Barrett
bc22539441 * update the code used when calls are made for every malloc/free in the
ptmalloc2 component - it had bit-rotted a bit.

This commit was SVN r8911.
2006-02-07 00:03:52 +00:00
Brian Barrett
5e6798cb4d * with ptmalloc2, prefer syscall over dlsym for calling the real munmap. This
makes illegal free() calls behave in a much more rational way.  You'll still
  probably die, but your stack trace will not have 3 billion pages of recusion
  inside the memory allocator.
* Fix illegal free in the opal_wrapper code.  basename() returns a string in a
  static buffer, so it shouldn't be free()ed.  It also shouldn't be left around
  so long, as another call to basename() may whack the returned buffer.  So
  leave the free and add a strdup() around the basename() call.
* Turn off some unneeded debugging in the opal_wrapper code that would list the
  comamnd to be run, regardless of the -showme option.

This commit was SVN r8758.
2006-01-19 18:48:58 +00:00
George Bosilca
29684dd800 Remove a warning about an unused variable.
This commit was SVN r8755.
2006-01-19 15:52:17 +00:00
George Bosilca
8b50c3d8c3 Handle systems where the HOME directory is NULL (windows and friends).
A small and ugly workaround the path problem on windows (the absolute
path start with [a-z]: whn : is considered as separator for most of
the environment variables.

This commit was SVN r8746.
2006-01-19 07:05:34 +00:00
George Bosilca
e728fc0c15 I know windows is "different" ... but not at this point !!!
This commit was SVN r8743.
2006-01-19 06:54:23 +00:00
Brian Barrett
17197666bf When heap is shrinking ptmalloc tries to be smart and uses mmap to change
page protection, which causes the pages to be droped, which causes problems
if we don't deregister the pages first.  Since memory is cheap in this case
(it is still usable, should ptmalloc2 want it back, and is limited in size),
we just mprotect the pages instead.  This solves the dropping pages problem,
and doesn't cause even more calls into the cache code.

Thanks to Gleb Natapov for both finding the problem and giving a fix.

This should go to the v1.0 branch

This commit was SVN r8732.
2006-01-18 16:23:52 +00:00
Brian Barrett
17d2c907fc Some changes to better support cross-compiling OMPI:
- fall back to compile test for windows paffinity component
    when cross compiling
  - fall back to platform guess when checking for threads having
    different pids with pthreads (yes on linux, no elsewhere)
  - pass the proper host, target, and build flags to the
    ROMIO configure script

With these changes, cross-compiling should be possible with the exception
of the Fortran 77 and Fortran 90 bindings.  Fortran 77 can be cross-
compiled if cache values are provided for type sizes and alignment.

This commit was SVN r8702.
2006-01-16 04:00:44 +00:00
Brian Barrett
c96f870674 * Merge of wrapper compiler updates from the bwb-wrapper-fix branch (r8690 -
r8698), with changes below:

  - Split wrapper flags into those required for each of the three projects,
    and cleaned up some cruft (including the LIBMPI_EXTRA_*FLAGS) through-
    out the build system
  - Added opal_init_util and opal_finalize_util to allow init / cleanup
    of all the opal code that doesn't require the MCA system
  - Create standalone key=value file parser, based on the one that used
    to be in the mca param parser, so that it can be shared in multiple
    places
  - Add wrapper datafiles for opal, orte, and ompi wrappers, and add
    wrapper compiler with support for all the old features

This commit was SVN r8699.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r8690
  r8698
2006-01-16 01:48:03 +00:00
Jeff Squyres
c3cc1d5bbc Avoid false positives in bcheck/valgrind -- there are holes in the
mca_base_param_t struct, and it eventually ends up getting memcpy()'ed 

This commit was SVN r8642.
2006-01-04 22:18:30 +00:00
Brian Barrett
3f6c409164 * Need to specify link order to make sure we grab the right mmap
This commit was SVN r8556.
2005-12-20 00:50:47 +00:00
Brian Barrett
08799e4a48 * Make the format of the --with-BTL options the same for all the BTLs
* Make sure --without-BTL works for all BTLs
* Fix copy-n-paste error in aix timer configrue help string

This should go to the v1.0 branch

This commit was SVN r8554.
2005-12-20 00:47:36 +00:00
Brian Barrett
f993b3a1f0 * 1, 0, they're all the same...
This commit was SVN r8550.
2005-12-19 22:01:56 +00:00
Brian Barrett
7801b9045f temporarily bring back the malloc_hooks code so that Galen and I can do
some regression testing

This commit was SVN r8548.
2005-12-19 21:08:51 +00:00
Brian Barrett
22d058e67c make windows component prefered over linux component. Cygwin provides a
/proc/cpuinfo (which is weird), so the Linux component was getting selected
when on Windows...

This commit was SVN r8543.
2005-12-19 06:55:01 +00:00
Brian Barrett
a5af07cd6b fixes suggested by Ralf for supporting both Libtool 1 and 2 in Open MPI...
This commit was SVN r8538.
2005-12-19 03:10:23 +00:00
George Bosilca
958bba0f99 mca_base_param_find should be exported.
This commit was SVN r8534.
2005-12-17 22:08:02 +00:00
Brian Barrett
5685144e3d * update darwin memory hooks code to recent changes in API
This commit was SVN r8522.
2005-12-16 02:01:38 +00:00
Brian Barrett
b42bb3d8e8 More memory hooks tweaks... Set a flag on callbacks if the allocation /
deallocation came from the allocator (malloc, fee, etc) or somewhere
else (the user calling mmap/munmap, etc).  Going to be used by Galen
to determine if it is worth searching the allocations tree

Set flag if it is possible to intercept mmap (not always possible
due to a circular dependency between mmap, dlsym, and calloc)

This commit was SVN r8521.
2005-12-16 01:12:45 +00:00
Brian Barrett
2a94f693f6 * make sure to actually add the ptmalloc2-specific library dependencies to
LIBADD, so that libtool does it's magic propogation thing...

This commit was SVN r8508.
2005-12-15 18:11:51 +00:00
Jeff Squyres
6bc6178e8d Make the comment explain much more fully what is going on (in typical
Jeff-length).  Also change it such that we also have a lt_dlhandle
type -- even in the case of --disable-dlopen.  Specifically, even in
the case of --disable-dlopen, we still have shell functions that use
an lt_dlhandle parameter, so we need that type, even if <ltdl.h> isn't
used.

This commit was SVN r8507.
2005-12-15 17:47:54 +00:00
Brian Barrett
01e7191c3e * use our memory barriers instead of ptmalloc2's, since it only does the
right thing with gcc on x86.

This commit was SVN r8490.
2005-12-13 16:04:48 +00:00
George Bosilca
30648c55ff First version of the paffinity for Windows. We detect correctly if the
functions are available in the .h file as well as the kernel32.dll but
we generate empty functions.

This commit was SVN r8478.
2005-12-13 06:04:41 +00:00
George Bosilca
3e03a5f702 A better comment I hope ...
This commit was SVN r8477.
2005-12-12 23:39:40 +00:00
George Bosilca
39e8d4ce02 Protect the function definition not the typedef.
This commit was SVN r8475.
2005-12-12 22:33:02 +00:00
George Bosilca
bd0ee62e62 Protect headers and use __WINDOWS__ for Windows code.
This commit was SVN r8468.
2005-12-12 22:01:51 +00:00
George Bosilca
8c71f578da The real timer in Windows is a long long.
This commit was SVN r8467.
2005-12-12 21:52:53 +00:00
George Bosilca
6e5aeab0b5 Remove the dependance to ltdl.h for all the the places where we dont't really need it. Read
the comment for more informations.

This commit was SVN r8466.
2005-12-12 21:51:20 +00:00
Brian Barrett
d8d67b618f don't intercept mmap if we have to use dlsym to get at the real mmap. dlsym
may call calloc(large number), which causes ptmalloc2 to call mmap, which
causes us to try to dlsym for mmap, which leads to looping badness.

This commit was SVN r8461.
2005-12-12 19:38:42 +00:00
George Bosilca
436ef18ec2 Adding high performance timers for windows (the same as for Linux we use the counters from
the processor).

This commit was SVN r8458.
2005-12-12 17:27:48 +00:00
Brian Barrett
6c4ac2299c fix typo in release hooks if calling for every malloc/free
This commit was SVN r8431.
2005-12-10 05:06:52 +00:00
George Bosilca
699653f733 Typo correction.
This commit was SVN r8427.
2005-12-09 05:17:27 +00:00
Brian Barrett
0348d02875 * need to expose posix_memalign so that the one in our ptmalloc2 is used
instead of the one in libc.  Thanks to Gleb Natapov for tracking this
  down.

This commit was SVN r8418.
2005-12-08 18:06:52 +00:00
Brian Barrett
364ca3f075 - Add configure-time switch (--enable-ptmalloc2-opt-sbrk) to control when
the ptmalloc2 memory hooks component triggers callbacks for memory
  allocation / deallocation.  If enabled (the default) it is only when
  memory is actually obtained from or released to the OS (so little
  malloc calls only trigger callbacks if sbrk is called).  If disabled,
  callbacks are triggered every time malloc/free/etc. is called
* It turns out that syscall and mmap aren't good friends due to the return
  type of mmap and some old legacy issues with syscall functions that
  take more than 5 parameters.  For now, default to either loading
  the symbol from glibc using dlsym or using the __m{un,}map functions.
  Thanks to George for finding this.
* Fix some dumb typos in the mmap / munmap catching code

This commit was SVN r8410.
2005-12-08 04:47:03 +00:00
Jeff Squyres
b04f6bf71b Fix a segv; it's possible to have an empty string parameter (""), such
that opal_argv_split() will return an empty array.  So test for that
case before trying to iterate through the array.

This commit was SVN r8396.
2005-12-06 20:06:40 +00:00
George Bosilca
1fe691c1f5 powerpc-apple-darwin8-gcc-4.0.0 catch 2 warnings about uninitialized usage. Reading the code I have to agree with it,
even if it's highly improbable that it could happens in real life. But we never know ...

This commit was SVN r8393.
2005-12-06 18:44:52 +00:00
George Bosilca
9efd0e0813 Include the memoryhooks.h after the standard include files to insure that all expected types are
correctly defined (like size_t).

This commit was SVN r8383.
2005-12-06 05:55:36 +00:00
George Bosilca
23c618ab51 Allow a VPATH build to find the include files.
This commit was SVN r8382.
2005-12-06 05:26:36 +00:00