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

2383 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
57efade1e2 * bump the event_tick_rate count from 100 to 10k, per conversation with Tim.
Might want to bump this higher?
* remove assumption that progress functions registered with opal_progress
  are not reentrant.  There is still the assumption that the event loop
  is not reentrant (because it's not), so that part is still protected by
  a spinlock. 

This commit was SVN r6827.
2005-08-12 16:08:44 +00:00
Brian Barrett
070e376407 * don't build qsort workaround unless we actually have a broken qsort
This commit was SVN r6824.
2005-08-12 15:28:11 +00:00
Brian Barrett
a926a9b4fb * I'm sure any decent optimizing compiler would have figured this one out,
but there's no point in having the call_yield check performed if we
  don't have sched_yield to call in the first place.

This commit was SVN r6823.
2005-08-12 15:21:59 +00:00
Brian Barrett
aab684f159 * fix off by one error that was causing the event library to only be
triggered every other call to opal_progress when the TCP BTL/PTL
  were being used.

This commit was SVN r6822.
2005-08-12 15:20:37 +00:00
Brian Barrett
c8865bd5c1 * remove bool from internal interface, since we might not want to include
ompi_config.h in some of the intercept mechanisms.
* Intercept munmap when called directly by the user when we are using
  ptmalloc2 (previously we only covered when the user called free()).
* Don't go through the locking and list traversal logic trying to fire
  callbacks until there is actually a callback to fire.  This is both
  a performance boost and a way to cope with the hook callback being
  triggered before opal_init.

This commit was SVN r6818.
2005-08-12 13:35:01 +00:00
Brian Barrett
7b42267631 * need sys/types.h for size_t
This commit was SVN r6800.
2005-08-10 19:20:47 +00:00
Brian Barrett
63dc0dd1de * fix up sources list to fix make dist
This commit was SVN r6794.
2005-08-10 13:36:59 +00:00
Brian Barrett
e765294bc0 * forgot to add memory in SUBDIRS
* don't run callbacks before end of init or after start of finalize, since
  the list structures will be in an undefined state at those times.

This commit was SVN r6791.
2005-08-10 00:43:47 +00:00
Brian Barrett
f707ba2dd3 * Add memory dispatching code for OPAL. This allows anyone to register
callbacks to be triggered when memory is about to leave the current
  process.  The system is designed to allow a variety of interfaces,
  hopefully including whole-sale replacement of the memory manager,
  ld preload tricks, and hooks into the system memory manager.  Since
  some of these may or may not be available at runtime and we won't know
  until runtime, there is a query funtion to look for availability of
  such a setup.
* Added ptmalloc2 memory manager replacement code.  Not turned on by
  default, can be enabled with --with-memory-manager=ptmalloc2.
  Only tested on Linux, not even compiled elsewhere.  Do not use
  on OS X, or you will never see your process again.
* Added AM_CONDITIONAL for threads test to support ptmalloc2's build
  system

This commit was SVN r6790.
2005-08-09 22:40:42 +00:00
Brian Barrett
d2354faaa3 * remove makefile, soon to be makefile.am
This commit was SVN r6788.
2005-08-09 19:42:29 +00:00
Brian Barrett
2541f15880 copy ptmalloc2 release into the main branch
This commit was SVN r6787.
2005-08-09 19:39:39 +00:00
Brian Barrett
bd4a0c4ee0 * start memory manager code. Not activated yet, since configure changes
aren't included yet

This commit was SVN r6784.
2005-08-09 19:32:49 +00:00
Brian Barrett
eee5b649a7 * no need for semicolons at end of #defined macros. Duh. Fixes build error
in ob1 on non-debug builds with threads enabled

This commit was SVN r6777.
2005-08-09 14:24:30 +00:00
Jeff Squyres
7f726081ba Oops -- accidentally broke code that used the old API to override the
final MCA parameter name by passing NULL instead of the parameter that
was received.

This commit was SVN r6768.
2005-08-08 20:54:15 +00:00
Jeff Squyres
32e71e5c6c Fix a problem where orterun itself would not receive MCA parameters
that were set on the command line.  This was techinically exactly the
way the code was designed, but it certainly violated the Law of Least
Astonishment (even to its designer ;-) ).  So now if you execute
something like this:

   mpirun -mca pls_rsh_debug 1 -np 4 hello

You'll see debugging output from the rsh pls component, as you would
expect (this was not previously the case -- the MCA pls_rsh_debug
parame would be set to 1 in the 4 spawned hello processes, but *not*
in the orterun process).

More specifically, MCA parameters will be set in the orterun process
in the following cases:

- The new command line switch "--gmca" (or "-gmca") is used,
  indicating that the MCA parameter is "global".  --gmca also means
  that that MCA parameter will be applied to all context app's.  For
  example:

      mpirun -gmca foo bar -np 1 hello : -np 2 goodbye

  The foo MCA param will be set in both the hello and goodbye
  processes.

- If there is only one context app.  For example:

      mpirun -mca pls_rsh_debug 1 -np 4 hello

  will set pls_rsh_debug to 1 in both the orterun process and the 4
  spawned hello processes.

Also added a few more comments inside orterun to document a somewhat
confusing use of a state variable in a recursive case.

This commit was SVN r6764.
2005-08-08 16:42:28 +00:00
Brian Barrett
c39ba3e2da * re-enable poll_recalc so that it triggers the recalc of the signals
properly.  This fixes the random hangs that we were seeing this morning
  on Linux that were a result of fixing the thread deadlock yesterday.
  (worked great on my OS X box, which uses select() instead of poll()).

This commit was SVN r6730.
2005-08-04 14:05:46 +00:00
Jeff Squyres
49dfd6a527 Add doxy docs for a function that was missing them.
This commit was SVN r6728.
2005-08-03 21:14:40 +00:00
Jeff Squyres
ae7d85b6ca Fix a corner case -- if the MCA param had already been registered, be
sure to look it up if NULL != current_value.

This commit was SVN r6727.
2005-08-03 20:59:44 +00:00
Brian Barrett
124850d1c5 * fix deadlock in signal add code. Should not call the event_loop from
a function that has the lock.  Instead, recalculate the pending
  events directly.  Same effect, but less deadlock.

This commit was SVN r6720.
2005-08-03 14:10:55 +00:00
Brian Barrett
e84a02d79c Allow the C and C++ compilers to support different methods of inline
assembly (including case where one supports inline assembly and the
other doesn't).

This commit was SVN r6714.
2005-08-02 19:51:57 +00:00
Jeff Squyres
2e0b649362 Make the output of opal_cmd_line_get_usage_msg() show the options in a
defined / sorted order (makes it significantly easier to find options
in the --help messages).

This commit was SVN r6711.
2005-08-02 18:51:34 +00:00
Jeff Squyres
853d2fb980 Add spaces in the help message
This commit was SVN r6708.
2005-08-02 17:47:53 +00:00
Jeff Squyres
d827253e7f Better help string
This commit was SVN r6707.
2005-08-02 17:47:11 +00:00
Brian Barrett
24116a3935 * fix up a bunch of threading issues when progress and/or mpi threads
are enabled.  Mostly just ADD32 -> ADD_SIZE_T issues and naming of
  variables in THREAD_{LOCK,UNLOCK}

This commit was SVN r6706.
2005-08-02 17:36:01 +00:00
Brian Barrett
8f47bf194d * Workaround for the problems OS X 10.4 has with ioctl(..., SIOCGIFCONF, ...).
Suggested by Apple Engineering.

This commit was SVN r6703.
2005-08-02 15:14:41 +00:00
Jeff Squyres
4c1dd716c7 Change and add new features to the MCA parameter system:
- new preferred API calls for registering MCA parameters are
  mca_base_param_reg_{int|string} and
  mca_base_param_reg_{int|string}_name.
- See opal/mca/base/mca_base_param.h for docs on new calls.  
- Can now register and lookup a value at the same time.
- Can now mark a parameter "read only" at registration time
- Can now mark a parameter "internal" at registration time
- Can now associate a help message with the parameter at registration
  time; displayed in the ompi_info output.

The old API calls are still available for backwards compatibility
(mca_base_param_register_{int|string}.  They will eventually be
removed -- all developers are encouraged to use the new APIs from here
on out and replace any old calls with the new API.

Some params were also renamed -- the previous convention of using
"base_" as a prefix for any param that was not associated with a
component is henceforth deprecated.  Instead, use one of the following
prefixes:

mca: for anything in the MCA base itself
opal: for anything in OPAL
orte: for anything in ORTE
mpi: for anything in OMPI

This commit was SVN r6698.
2005-08-01 22:38:17 +00:00
Josh Hursey
0c32f34cb7 Let's clean up the block comment parsing to be a bit more lex-like.
This commit was SVN r6695.
2005-08-01 22:25:47 +00:00
Josh Hursey
50545ef082 Additional Comment possibilities supported for both hostfile and
mca param file.
------
/*
 * Block Quote
 */

// Line Quote

# Shell Style Line Quote
-------

This commit was SVN r6694.
2005-08-01 22:11:26 +00:00
Jeff Squyres
efd2372a7f Remove unused field
This commit was SVN r6685.
2005-07-29 14:44:06 +00:00
Josh Hursey
4959a2ca92 forgot to unlock mutex. Also allow parse to complete before returning an error, if warrented
This commit was SVN r6669.
2005-07-28 20:43:32 +00:00
Josh Hursey
86e8fba7f7 Return an error for long options as well as short if we are not
ignoring 'unknown options'

This commit was SVN r6664.
2005-07-28 19:45:44 +00:00
Brian Barrett
6aa464b67e More changes from Red Storm port
- only call sched_yield if it exists
  - don't fail out if modex doens't work in ob1
  - bunch of fixes for Portals BTL
  - add cnos rml component
  - add NULL gpr component (should only be used if replica AND proxy
    fail to load)  

This commit was SVN r6629.
2005-07-27 23:07:14 +00:00
Brian Barrett
5cd46a1681 * only clean up the if code during finalize if we have initialized.
otherwise, badness happens in the OBJ_* code.

This commit was SVN r6581.
2005-07-21 20:20:41 +00:00
Brian Barrett
14b89e0e50 Bunch more updates from operation Red Storm:
* Add ability to completely disable libltdl (the dlopen code to load
  dynamic shared objects) to configure: --disable-dlopen
* Added MCA param (component_disable_dlopen) to disable DSO loading
  at runtime
* Made the event library behave in some not-completely-erroneous way
  on platforms where it has absolutely no eventops support (ie, no
  select, poll, or epoll)
* Disabled orte_wait, opal_few, and opal_daemon_init code on
  platforms without fork, waitpid support.  All non-init functions
  will return OPMI_ERR_NOT_SUPPORTED
* Disable orteprobe tool when fork or pipe aren't supported

This commit was SVN r6490.
2005-07-14 18:05:30 +00:00
Brian Barrett
68b91e85ed * add checks for the hton and ntoh functions, since they don't exist on
Red Storm.  Add stub functions to ompi_config_bottom.h when they are
  around
* Add protection for a bunch of #include <netinet/in.h>s
* Fix up the Portals BTL so that it compiles on Red Storm and has the
  right mojo for initialization on Red Storm
* Add some important comments to ompi_check_package and mvapi configures
* Add support for platforms without getpwuid() (aka, Red Storm). 

This commit was SVN r6478.
2005-07-14 04:11:59 +00:00
Brian Barrett
2793bd6d76 * and fix a dumb typo from this morning
This commit was SVN r6457.
2005-07-13 13:35:21 +00:00
Brian Barrett
6371e26eab * fix some dumb mistakes in the if.c stubs committed last nigh
This commit was SVN r6456.
2005-07-13 13:20:22 +00:00
Brian Barrett
4d580fa706 * disable TCP ptl and oob components if there is no TCP support (look at
sockaddr_in - seems to be a good indicator)
* disable util/if code if no inet devices (again, no sockaddr_in)
* add enable/disable flag to disable stacktrace pretty-print code
  (defaults to enabled).  Seems there's something funky going on with
  the preprocessor on Red Storm that was causing problems - this was
  the easiest fix
* clean up a bunch of the configure.m4 files to remove bogus comments,
   properly comment them, fix the dumb logic for happy/unhappy
* Create a macro for testing both header and library for a package, 
  since we seem to do this kind of test quite often.  Handles the
  -I and -L search paths properly (including stripping out /usr and
  /usr/local if not needed)
* Converted mvapi components to configure.m4, using the nice new
  ompi_check_package macro (above)

This commit was SVN r6454.
2005-07-13 04:16:03 +00:00
Josh Hursey
048d5c1415 Added some userlevel error checking, and messaging.
This commit was SVN r6440.
2005-07-12 18:06:31 +00:00
George Bosilca
3f466e2915 Small change with large benefits. Until now, in DEBUG mode we keep trace of the file and line number where
an object has been created. I slightly change this behaviour. Now, during the life time of an object (when
the reference count is > 0) we keep the place where the object was created and just before freeing the object
we set the location where the object get destroyed. So when we try to release an already destroyed object
we have the location where it happens (where the object get destroyed for the first time).

This commit was SVN r6428.
2005-07-12 05:26:37 +00:00
Brian Barrett
170ef8af1f * rename ompi_show_help to opal_show_help
* rename ompi_stacktrace to opal_stacktrace
* rename ompi_strncpy to opal_strncpy

This commit was SVN r6336.
2005-07-04 02:38:44 +00:00
Brian Barrett
ed81e51c3a * rename ompi_printf to opal_printf
* rename ompi pty code to opal pty code
* rename ompi_qsort to opal_qsort

This commit was SVN r6335.
2005-07-04 02:16:57 +00:00
Brian Barrett
46245aaac1 * rename orte_os_create_dirpath to opal_os_create_dirpath
* rename orte_os_path to opal_os_path
* rename ompi_path_find to opal_path_find
* rename ompi_pow2 to opal_pow2

This commit was SVN r6334.
2005-07-04 01:59:52 +00:00
Brian Barrett
4d4908f011 * finish ompi_environ -> opal_environ rename
This commit was SVN r6333.
2005-07-04 01:39:08 +00:00
Brian Barrett
e55f99d23a * rename ompi_if to opal_if
* rename ompi_malloc to opal_malloc
* rename ompi_numtostr to opal_numtostr
* start of rename of ompi_environ to opal_environ

This commit was SVN r6332.
2005-07-04 01:36:20 +00:00
Brian Barrett
e8afe9d9ef * fix some remaining ompi references
This commit was SVN r6331.
2005-07-04 00:16:24 +00:00
Brian Barrett
9f44b80291 * rename ompi_argv to opal_argv
* rename ompi_basename to opal_basename
* rename ompi bitop functions to opal
* rename ompi_cmd_line to opal_cmd_line
* rename ompi_sizet2int to opal_sizet2int
* rename orte_daemon_init to opal_daemon_init
* rename ompi_few to opal_few

This commit was SVN r6330.
2005-07-04 00:13:44 +00:00
Brian Barrett
a13166b500 * rename ompi_output to opal_output
This commit was SVN r6329.
2005-07-03 23:31:27 +00:00
Brian Barrett
23b687b0f4 * rename ompi_event to opal_event
This commit was SVN r6328.
2005-07-03 23:09:55 +00:00
Brian Barrett
39dbeeedfb * rename locking code from ompi to opal
This commit was SVN r6327.
2005-07-03 22:45:48 +00:00
Brian Barrett
ccd2624e3f * rename ompi_progress to opal_progress
This commit was SVN r6326.
2005-07-03 21:57:43 +00:00
Brian Barrett
9da0b4fe1d * rename all the atomic functions from ompi to opal
This commit was SVN r6325.
2005-07-03 21:38:51 +00:00
Brian Barrett
9f0c969bb4 * rename ompi_hash_table opal_hash_table
This commit was SVN r6324.
2005-07-03 16:52:32 +00:00
Brian Barrett
764a9314db * rename ompi_value_array opal_value_array
This commit was SVN r6323.
2005-07-03 16:38:52 +00:00
Brian Barrett
761402f95f * rename ompi_list to opal_list
This commit was SVN r6322.
2005-07-03 16:22:16 +00:00
Brian Barrett
499e4de1e7 * rename ompi_object and ompi_class to opal_object and opal_class
This commit was SVN r6321.
2005-07-03 16:06:07 +00:00
Brian Barrett
e86ab57d84 * initialize array (fixes random segfault in show_help)
This commit was SVN r6316.
2005-07-03 04:11:47 +00:00
Brian Barrett
5a5fb88489 * it compiles! ompi_info works!
This commit was SVN r6312.
2005-07-03 01:01:55 +00:00
Brian Barrett
8cad33db40 * finish modex move
* fix protection in opal_free_list.h
* Fix some makefiles

This commit was SVN r6311.
2005-07-03 00:52:18 +00:00
Brian Barrett
8077da277b * move ompi_rb_tree from opal to ompi since it's only used in ompi, and should
have the ompi_free_list instead of the opal_free_list
* Change orte to use opal_free_list instead of ompi_free_list

This commit was SVN r6307.
2005-07-02 16:46:27 +00:00
Jeff Squyres
335307b9a5 Port over latest fixes from beta branch
This commit was SVN r6303.
2005-07-02 16:02:35 +00:00
Jeff Squyres
f9fcb77f63 Fixups for pointer_array->argv changes
This commit was SVN r6302.
2005-07-02 16:02:26 +00:00
Brian Barrett
76035790ee * fix some more makefiles
This commit was SVN r6301.
2005-07-02 16:00:15 +00:00
Jeff Squyres
5691aa5c93 Fix up -- no need modex here, but now need mca/mca.h
This commit was SVN r6300.
2005-07-02 15:56:45 +00:00
Brian Barrett
b77505d61c * remove unneeded pml.h in ompi_progress
* fix Makefile.am

This commit was SVN r6299.
2005-07-02 15:54:41 +00:00
Brian Barrett
73f05ce012 * remove last of ompi_free_list / mpool refs
This commit was SVN r6298.
2005-07-02 15:51:22 +00:00
Jeff Squyres
d245788f67 Remove dynamic-mca from Makefile.am
This commit was SVN r6297.
2005-07-02 15:46:01 +00:00
Brian Barrett
957ac4fe3d * change ompi -> opal and remove the mpool code
This commit was SVN r6295.
2005-07-02 15:42:29 +00:00
Jeff Squyres
aa280da712 Forgot to move dynamic-mca/allocator and mpool over to ompi. opal now
no longer has any need for dynamic-mca

This commit was SVN r6293.
2005-07-02 15:38:36 +00:00
Jeff Squyres
959a08bf42 Compromise:
- move mpool and allocator frameworks back to ompi (from opal)
- specialize the ompi_free_list class to use an mpool instance
- un-specialize opal_free_list to *not* use mpool; just use malloc/free

This commit was SVN r6292.
2005-07-02 15:35:34 +00:00
Jeff Squyres
bf318e394c Move some OMPI-specific classes from opal->ompi
This commit was SVN r6288.
2005-07-02 15:21:32 +00:00
Brian Barrett
a4468e60c2 * change src/ to opal/ in asm paths
This commit was SVN r6285.
2005-07-02 14:57:46 +00:00
Jeff Squyres
fe76370cd3 While we're here, re-indent properly. :D
This commit was SVN r6283.
2005-07-02 14:41:58 +00:00
Jeff Squyres
ff41c82259 Remove ORTE-specific call
This commit was SVN r6282.
2005-07-02 14:41:22 +00:00
Jeff Squyres
da465b38e2 Fix typo
This commit was SVN r6279.
2005-07-02 14:35:30 +00:00
Brian Barrett
0c16b5419e * first cut at autogen.sh / configure for new directory structure
* fix some broken makefile.ams

This commit was SVN r6277.
2005-07-02 14:29:45 +00:00
Jeff Squyres
e10a181120 Fix typo
This commit was SVN r6276.
2005-07-02 14:24:55 +00:00
Jeff Squyres
5ad98c7b32 First cut at converting show_help to ompi_argv.h
(vs. ompi_pointer_array.h)

This commit was SVN r6275.
2005-07-02 14:19:49 +00:00
Jeff Squyres
d865e68e20 First cut at Makefile.am changes
This commit was SVN r6272.
2005-07-02 14:08:19 +00:00
Jeff Squyres
d05658f705 Add opal/Makefile
This commit was SVN r6271.
2005-07-02 13:53:01 +00:00
Jeff Squyres
05d7543b4e Move a small number of specialized classes back to ompi
This commit was SVN r6270.
2005-07-02 13:44:20 +00:00
Jeff Squyres
cd497636ac Move modex out of opal MCA base into orte/util
This commit was SVN r6268.
2005-07-02 13:43:30 +00:00
Jeff Squyres
3a9179a0d7 Initial population of the opal tree
This commit was SVN r6267.
2005-07-02 13:43:20 +00:00