Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
12 years agoDocument ranges for years in copyright notices.
Arnaud Giersch [Thu, 9 Feb 2012 12:10:36 +0000 (13:10 +0100)]
Document ranges for years in copyright notices.

12 years agoParmap: fix deadlock in with futexes.
Arnaud Giersch [Wed, 8 Feb 2012 23:35:50 +0000 (00:35 +0100)]
Parmap: fix deadlock in with futexes.

Also anticipate the possibility for futex_wait to return early with EINTR.

In the following scenario, the first wake(parmap.work) should not have
unlocked the second xbt_parmap_futex_worker_wait().

Master                                  Worker
======                                  ========
xbt_parmap_futex_master_signal() {
  parmap.thread_counter = 1
  ++parmap.work
                                        xbt_parmap_futex_worker_wait();
                                        xbt_parmap_work();
                                        xbt_parmap_futex_worker_signal();
                                        xbt_parmap_futex_worker_wait();
  wake(parmap.work) -- unlock -------->
}
xbt_parmap_work();
xbt_parmap_futex_master_wait();
                                        xbt_parmap_work();
                                        xbt_parmap_futex_worker_signal();
xbt_parmap_futex_master_signal();
xbt_parmap_work();
xbt_parmap_futex_master_wait();
  ===> LOCKED
                                        xbt_parmap_futex_worker_wait();
                                          ===> LOCKED

12 years agoParmap: protect against wraparound for round.
Arnaud Giersch [Wed, 8 Feb 2012 22:58:25 +0000 (23:58 +0100)]
Parmap: protect against wraparound for round.

12 years agoParmap: use INT_MAX as number of threads to wake by futex_wake.
Arnaud Giersch [Wed, 8 Feb 2012 22:53:27 +0000 (23:53 +0100)]
Parmap: use INT_MAX as number of threads to wake by futex_wake.

We want to wake up everybody anyway.

12 years agoFile has moved.
Arnaud Giersch [Wed, 8 Feb 2012 21:16:54 +0000 (22:16 +0100)]
File has moved.

12 years agoThose are already declared in ./include/simgrid/modelchecker.h.
Arnaud Giersch [Wed, 8 Feb 2012 17:22:09 +0000 (18:22 +0100)]
Those are already declared in ./include/simgrid/modelchecker.h.

12 years agoRemove tests for deprecated dicts of scalars.
Arnaud Giersch [Mon, 28 Nov 2011 09:20:07 +0000 (10:20 +0100)]
Remove tests for deprecated dicts of scalars.

12 years agoMark integer dicts as deprecated.
Arnaud Giersch [Fri, 25 Nov 2011 22:23:49 +0000 (23:23 +0100)]
Mark integer dicts as deprecated.

12 years agoChangeLog: spell checking, and whitespace cleanup.
Arnaud Giersch [Wed, 8 Feb 2012 16:55:21 +0000 (17:55 +0100)]
ChangeLog: spell checking, and whitespace cleanup.

12 years agostop using internal header files from the examples, it won't work for users
Martin Quinson [Wed, 8 Feb 2012 16:45:57 +0000 (17:45 +0100)]
stop using internal header files from the examples, it won't work for users

12 years agoour malloc implementation NEEDS multi-threading protection
Martin Quinson [Wed, 8 Feb 2012 16:41:11 +0000 (17:41 +0100)]
our malloc implementation NEEDS multi-threading protection

12 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 8 Feb 2012 16:15:25 +0000 (17:15 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

12 years agokill duplicate definitions, and try to ensure that MC-ready code still works without...
Martin Quinson [Wed, 8 Feb 2012 16:09:48 +0000 (17:09 +0100)]
kill duplicate definitions, and try to ensure that MC-ready code still works without MC (closes #13813 on gforge)

12 years agoFix a race condition in _XBT_LOG_ISENABLEDV().
Arnaud Giersch [Wed, 8 Feb 2012 16:03:36 +0000 (17:03 +0100)]
Fix a race condition in _XBT_LOG_ISENABLEDV().

Without this change, catv.threshold can be initialized by another
thread, between the test for priority being great enough, and
that for catv.threshold being initialized, leading to a false
positive answer.

Hypothesis
==========
  Initially, catv.threshold == xbt_log_priority_unititialized == -1
  After initialization, priority < catv.threshold
  Two threads running _XBT_LOG_ISENABLEDV() for the same
  category, and the same priority.

Thread A                                Thread B
========                                ========

                                        priority >= cat.threshold
                                          is TRUE
priority >= catv.threshold
  is TRUE

catv.threshold != x.l.p._uninitialized
  is FALSE

call xbt_log_cat_init(...)
  returns FALSE
                                        catv.threshold != x.l.p._uninitialized
                                          is TRUE

=> _XBT_LOG_ISENABLEDV(...)             => _XBT_LOG_ISENABLEDV(...)
     is FALSE                                is TRUE

12 years agomove a public header in the simgrid/ directory to fight the namespace polution
Martin Quinson [Wed, 8 Feb 2012 15:54:16 +0000 (16:54 +0100)]
move a public header in the simgrid/ directory to fight the namespace polution

12 years agouser code sometimes needs to know whether MC is activated
Martin Quinson [Wed, 8 Feb 2012 15:53:16 +0000 (16:53 +0100)]
user code sometimes needs to know whether MC is activated

12 years agoSetup the framework allowing to add backtraces to the malloc meta-data
Martin Quinson [Wed, 8 Feb 2012 10:47:29 +0000 (11:47 +0100)]
Setup the framework allowing to add backtraces to the malloc meta-data

- implement a malloc-clean backtrace() function
- make some room to store the backtraces. Only for big blocks for now,
  the memory consumption seem to be very high when doing so for
  fragments. Possible solutions include:
  - increasing the minimal fragment size to reduce the amount of
    possible fragment per block. It will waste some blocks for very
    small fragments, but it will save metadata that is paid for EVERY
    block, including full blocks, through the union in the metadata
  - Reduce the size of the saved backtraces. For now, we save up to 10
    calls, 5 to 3 levels may be enough if space is scarce.
- use that framework to save the backtraces in one malloc execution
  path. Other malloc execution paths, as well as realloc paths should
  now be changed to store the backtrace too.
- Implement a mmalloc_backtrace_display() function that displays the
  backtrace at which the block where malloc()ed. This is a bit crude
  for now, as we reuse the internals of exceptions that where not
  really done for that, but it works.

12 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 8 Feb 2012 10:37:29 +0000 (11:37 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

12 years agoSet xbt_binary_name so that the exception mechanism accepts to display backtraces
Martin Quinson [Wed, 8 Feb 2012 10:37:07 +0000 (11:37 +0100)]
Set xbt_binary_name so that the exception mechanism accepts to display backtraces

12 years agoSet network_maxmin_system->keep_track once for all.
Arnaud Giersch [Wed, 8 Feb 2012 07:11:11 +0000 (08:11 +0100)]
Set network_maxmin_system->keep_track once for all.

12 years agoRemove global variable, and push it into lmm_system_t.
Arnaud Giersch [Tue, 7 Feb 2012 20:47:23 +0000 (21:47 +0100)]
Remove global variable, and push it into lmm_system_t.

And give surf_solve a chance to run correctly in parallel.

12 years agoGuard against subas->to_index being NULL.
Arnaud Giersch [Tue, 7 Feb 2012 14:11:00 +0000 (15:11 +0100)]
Guard against subas->to_index being NULL.

12 years agoRemove bogus inline declarations in private interface.
Arnaud Giersch [Mon, 6 Feb 2012 16:57:47 +0000 (17:57 +0100)]
Remove bogus inline declarations in private interface.

12 years agoRemove bogus inline declarations in public interface.
Arnaud Giersch [Mon, 6 Feb 2012 16:57:13 +0000 (17:57 +0100)]
Remove bogus inline declarations in public interface.

12 years agoFixups in mrealloc
Martin Quinson [Mon, 6 Feb 2012 10:36:18 +0000 (11:36 +0100)]
Fixups in mrealloc

- make sure that it won't try to get a block smaller than what we are
  willing to give (was a bug in previous implementation!!)
- update the requested size markers in meta-datas

12 years agoTHROWF won't work in mmalloc: it needs to malloc stuff (I'm sure)
Martin Quinson [Mon, 6 Feb 2012 10:04:38 +0000 (11:04 +0100)]
THROWF won't work in mmalloc: it needs to malloc stuff (I'm sure)

12 years agosplit memory snapshooting and diffing functions out in their own file
Martin Quinson [Mon, 6 Feb 2012 09:19:44 +0000 (10:19 +0100)]
split memory snapshooting and diffing functions out in their own file

12 years agoUseless casts.
Arnaud Giersch [Fri, 3 Feb 2012 22:00:38 +0000 (23:00 +0100)]
Useless casts.

What's the point compiling with -Werror if we use ugly casts
to silence the compiler???

12 years agoReindent.
Arnaud Giersch [Fri, 3 Feb 2012 21:51:26 +0000 (22:51 +0100)]
Reindent.

12 years agobvprintf is now superfluous here.
Arnaud Giersch [Sat, 4 Feb 2012 09:51:50 +0000 (10:51 +0100)]
bvprintf is now superfluous here.

12 years agoKill more duplicate routes in platform files.
Arnaud Giersch [Sat, 4 Feb 2012 09:54:29 +0000 (10:54 +0100)]
Kill more duplicate routes in platform files.

12 years agoError message has changed, update tesh file.
Arnaud Giersch [Sat, 4 Feb 2012 09:52:29 +0000 (10:52 +0100)]
Error message has changed, update tesh file.

12 years agoFix compilation errors about multiple definition of `automaton'.
Arnaud Giersch [Fri, 3 Feb 2012 14:21:20 +0000 (15:21 +0100)]
Fix compilation errors about multiple definition of `automaton'.

12 years agoDocument one of midjy's changes (+cosmetics)
Martin Quinson [Fri, 3 Feb 2012 17:27:17 +0000 (18:27 +0100)]
Document one of midjy's changes (+cosmetics)

12 years agodocument my ongoing changes. Not everything of it were implemented yet, but nothing...
Martin Quinson [Fri, 3 Feb 2012 17:22:30 +0000 (18:22 +0100)]
document my ongoing changes. Not everything of it were implemented yet, but nothing writen in ChangeLog is really wrong. Even right now

12 years agodocument Pierre's last changes
Martin Quinson [Fri, 3 Feb 2012 17:18:03 +0000 (18:18 +0100)]
document Pierre's last changes

12 years agoI don't need an extra file just to define calloc when it can be inlined that easily
Martin Quinson [Fri, 3 Feb 2012 16:22:05 +0000 (17:22 +0100)]
I don't need an extra file just to define calloc when it can be inlined that easily

12 years agoand now with the right test so that not all our tests fail
Martin Quinson [Fri, 3 Feb 2012 16:21:23 +0000 (17:21 +0100)]
and now with the right test so that not all our tests fail

12 years agoreindent only
Martin Quinson [Fri, 3 Feb 2012 16:02:09 +0000 (17:02 +0100)]
reindent only

12 years agokill some dupplicate routes: now that we issue a warning, it breaks all tesh files
Martin Quinson [Fri, 3 Feb 2012 15:57:23 +0000 (16:57 +0100)]
kill some dupplicate routes: now that we issue a warning, it breaks all tesh files

12 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Fri, 3 Feb 2012 15:16:24 +0000 (16:16 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

12 years agocatch a given possible misconfiguration, and give more informative messages
Martin Quinson [Fri, 3 Feb 2012 15:10:40 +0000 (16:10 +0100)]
catch a given possible misconfiguration, and give more informative messages

12 years agoPut #ifdef MSG_USE_DEPRECATED for all functions with channel mecanism.
navarro [Fri, 3 Feb 2012 14:49:06 +0000 (15:49 +0100)]
Put #ifdef MSG_USE_DEPRECATED for all functions with channel mecanism.

12 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Fri, 3 Feb 2012 14:43:13 +0000 (15:43 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

12 years agoadd a warning if a given route is redefined. It will hopefully help users understandi...
Martin Quinson [Fri, 3 Feb 2012 14:42:59 +0000 (15:42 +0100)]
add a warning if a given route is redefined. It will hopefully help users understanding what's going wrong.

12 years agokill now unused declaration
Martin Quinson [Fri, 3 Feb 2012 14:42:18 +0000 (15:42 +0100)]
kill now unused declaration

12 years agoadd a surf_parse_warn and get surf_parse_error() accepting variable amount of parameters
Martin Quinson [Fri, 3 Feb 2012 14:37:53 +0000 (15:37 +0100)]
add a surf_parse_warn and get surf_parse_error() accepting variable amount of parameters

12 years agoAlso show the filename to locate parsing errors, not only the line number
Martin Quinson [Fri, 3 Feb 2012 14:23:51 +0000 (15:23 +0100)]
Also show the filename to locate parsing errors, not only the line number

12 years agoFurther simplify the mmallocs, and improve its introspection abilities
Martin Quinson [Fri, 3 Feb 2012 14:17:14 +0000 (15:17 +0100)]
Further simplify the mmallocs, and improve its introspection abilities

- Ensure that the mmallocation code will never return NULL (but die
  verbosely), and simplify the using code accordingly.
- Stop using THROWF in there, because these functions probably need
  malloc to work, and that what broke when we want to issue a message.
  Use printf/abort instead.
- Introduce a SMALLEST_POSSIBLE_MALLOC. It already existed (and were
  defined to sizeof(struct list) to ensure that free fragments can be
  enlisted, but I need this to declare the block metadata
- Add a frag_size information within the bloc info structure. It may
  not perfectly be kept uptodate yet (in particular, by realloc)

12 years agoDon't use reserved keywords.
Arnaud Giersch [Fri, 3 Feb 2012 13:53:53 +0000 (14:53 +0100)]
Don't use reserved keywords.

"or", "and", and "not" are reserved keywords in C++, and this line
breaks compilation of C++ code.

Since the literal constants defined here are never used, comment their
definition, and simply declare the field as an int.

12 years agoCorrectly initialize simdata->comm when marked as isused.
Arnaud Giersch [Fri, 3 Feb 2012 10:27:49 +0000 (11:27 +0100)]
Correctly initialize simdata->comm when marked as isused.

I hope that it's now the good fix for the segfault I got when running
chord --cfg=contexts/stack_size:5 --log=msg_chord.thres:critical --cfg=network/model:Constant ./cluster_with_100000_hosts.xml ./chord100000.xml

(see the backtrace in the message for commit 1380f1a).

12 years agoAdd missing dependency for smpi_traced_simple.
Arnaud Giersch [Fri, 3 Feb 2012 10:34:23 +0000 (11:34 +0100)]
Add missing dependency for smpi_traced_simple.

12 years agoAnother %ld -> %zu fix.
Arnaud Giersch [Thu, 2 Feb 2012 20:56:08 +0000 (21:56 +0100)]
Another %ld -> %zu fix.

12 years agoTODO--: the 'type' of each mmalloc block is granted to be uptodate at every point
Martin Quinson [Thu, 2 Feb 2012 20:44:21 +0000 (21:44 +0100)]
TODO--: the 'type' of each mmalloc block is granted to be uptodate at every point

Tomorrow, I'll add the fragment metadatas, and the backtraces.
For that, I'll waste a lot of space by adding a static tables to the
malloc_info structure, where the size of that table is the maximal
amount of fragments per block.

Something like BLOCKSIZE/sizeof(struct list) since mmalloc refuses to
allocate smaller blocks (to ensure that we can enlist free fragments).

This implementation of malloc will definitely not be something that
you want to use when not forced to do so to get the model-checking
working. But it will provide all the information that MC needs.

12 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid into LLL
Martin Quinson [Thu, 2 Feb 2012 20:55:53 +0000 (21:55 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid into LLL

12 years agoalso enforce that the freed block were marked as used before doing so. Theses stats...
Martin Quinson [Thu, 2 Feb 2012 20:41:32 +0000 (21:41 +0100)]
also enforce that the freed block were marked as used before doing so. Theses stats should be trustable now

12 years agothere were no difference between __mmalloc_free and mfree anymore; merge them
Martin Quinson [Thu, 2 Feb 2012 20:14:25 +0000 (21:14 +0100)]
there were no difference between __mmalloc_free and mfree anymore; merge them

12 years agoimprove the doc to reflect recent changes (and we already have the actual size of...
Martin Quinson [Thu, 2 Feb 2012 20:08:51 +0000 (21:08 +0100)]
improve the doc to reflect recent changes (and we already have the actual size of blocks)

12 years agoensure that free block are marked as such
Martin Quinson [Thu, 2 Feb 2012 19:43:32 +0000 (20:43 +0100)]
ensure that free block are marked as such

12 years agoSimplify the malloc_info structure containing the metadata of a given block in mmalloc
Martin Quinson [Thu, 2 Feb 2012 16:45:21 +0000 (17:45 +0100)]
Simplify the malloc_info structure containing the metadata of a given block in mmalloc

* Less structures in union in structure in union inception madness
  We're using a less portable anonymous union, but gcc handles that
   since maybe 15 years, so that should be cool.
* We can now determine from looking at it whether the block is busy or
   free, without having to search in which list the block is.
  That was useles to other usages of mmalloc, but this is very
   interesting when comparing heaps.
  Moreover, it comes for free: it has exactly the same (memory) cost
   when the block is busy, and we have a plenty of place in the block
   to store that this it free when it is actually free.

Please note that this information is not updated when the block is
freed yet. (splitting the commit just in case someone tries to read it
later: this one is almost automatic refactoring)

12 years agodocument one more function
Martin Quinson [Thu, 2 Feb 2012 16:20:50 +0000 (17:20 +0100)]
document one more function

12 years agoAdd missing flag (X86 or AMD) to test windows functions
unknown [Thu, 2 Feb 2012 15:57:19 +0000 (16:57 +0100)]
Add missing flag (X86 or AMD) to test windows functions

12 years agoDon't import smpi binaries on windows and set environment variables on current user
unknown [Wed, 25 Jan 2012 13:19:07 +0000 (14:19 +0100)]
Don't import smpi binaries on windows and set environment variables on current user

12 years agoDon't need to do a distrib on win32
unknown [Wed, 25 Jan 2012 13:18:23 +0000 (14:18 +0100)]
Don't need to do a distrib on win32

12 years agoI think I understood how mmalloc works. Now, I'll do what we need in there
Martin Quinson [Thu, 2 Feb 2012 15:55:50 +0000 (16:55 +0100)]
I think I understood how mmalloc works. Now, I'll do what we need in there

12 years agosimply reindent
Martin Quinson [Thu, 2 Feb 2012 15:25:31 +0000 (16:25 +0100)]
simply reindent

12 years agowho needs aligned mallocs anyway?
Martin Quinson [Thu, 2 Feb 2012 15:24:04 +0000 (16:24 +0100)]
who needs aligned mallocs anyway?

12 years agofurther little clarifications in mmalloc comments
Martin Quinson [Thu, 2 Feb 2012 15:20:32 +0000 (16:20 +0100)]
further little clarifications in mmalloc comments

12 years agovarious cosmetics and comments improvements
Martin Quinson [Thu, 2 Feb 2012 14:41:34 +0000 (15:41 +0100)]
various cosmetics and comments improvements

12 years agonormalize the function names wrt to the rest of XBT
Martin Quinson [Thu, 2 Feb 2012 14:12:20 +0000 (15:12 +0100)]
normalize the function names wrt to the rest of XBT

12 years agoinline a function used at only one location.
Martin Quinson [Thu, 2 Feb 2012 14:07:10 +0000 (15:07 +0100)]
inline a function used at only one location.

I'm not sure that the lisibility gain is very high, but at least it
makes clear that this functionnality is used only here.

12 years agocosmetics and kill a now undeclared function prototype
Martin Quinson [Thu, 2 Feb 2012 14:00:15 +0000 (15:00 +0100)]
cosmetics and kill a now undeclared function prototype

12 years agokill an unused/undocumented/un-understood function
Martin Quinson [Thu, 2 Feb 2012 13:53:54 +0000 (14:53 +0100)]
kill an unused/undocumented/un-understood function

12 years agogroup together all functions speaking of module and objects init/fini
Martin Quinson [Thu, 2 Feb 2012 13:23:23 +0000 (14:23 +0100)]
group together all functions speaking of module and objects init/fini

12 years agomerge two files (I'll ignore both of these functions anyway)
Martin Quinson [Thu, 2 Feb 2012 13:16:13 +0000 (14:16 +0100)]
merge two files (I'll ignore both of these functions anyway)

12 years agoRevert "Reset t_simdata->comm after comm is over."
Arnaud Giersch [Wed, 1 Feb 2012 21:21:47 +0000 (22:21 +0100)]
Revert "Reset t_simdata->comm after comm is over."

This reverts commit 1380f1a22147312c119055320c6ca87d72837598.

Looking at cdash, it is clearly wrong... sorry for the noise.

12 years agosmpi_mpi_request_free expects an MPI_request*.
Arnaud Giersch [Wed, 1 Feb 2012 16:41:51 +0000 (17:41 +0100)]
smpi_mpi_request_free expects an MPI_request*.

12 years agoThese free's are buggy.
Arnaud Giersch [Wed, 1 Feb 2012 16:04:45 +0000 (17:04 +0100)]
These free's are buggy.

AFAICT, it's the responsibility of smpi_mpi_waitall to free the
requests.

12 years agosmpirun: report exit status.
Arnaud Giersch [Wed, 1 Feb 2012 15:41:03 +0000 (16:41 +0100)]
smpirun: report exit status.

12 years agokill dupplicated code between legacy interface and actual implementations
Martin Quinson [Wed, 1 Feb 2012 17:01:00 +0000 (18:01 +0100)]
kill dupplicated code between legacy interface and actual implementations

12 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 1 Feb 2012 16:36:58 +0000 (17:36 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

12 years agoSimplify the mmalloc library further
Martin Quinson [Wed, 1 Feb 2012 16:30:58 +0000 (17:30 +0100)]
Simplify the mmalloc library further

* Stop playing with void* for the heap descriptors and introduce the
  xbt_mheap_t datatype for that.
* Don't try to make it work when mmalloc and friends are called with
  NULL as a first argument.

I added a pimple that mmalloc_preinit returns the default mhead after
creating it to simplify the code of the legacy functions that check
that this default mhead exist or create it before using it.

This extra check should be useless if mmalloc_preinit were called soon
enough since it's in the critical path, but the performance of
model-checking is not a concern yet: only getting something working
matters for now.

12 years agoI finally understood what this function is good for
Martin Quinson [Wed, 1 Feb 2012 15:30:15 +0000 (16:30 +0100)]
I finally understood what this function is good for

12 years agocosmetics and comment improvement
Martin Quinson [Wed, 1 Feb 2012 15:20:45 +0000 (16:20 +0100)]
cosmetics and comment improvement

12 years agowe don't need any stats about the amount of free chunks and such
Martin Quinson [Wed, 1 Feb 2012 15:14:36 +0000 (16:14 +0100)]
we don't need any stats about the amount of free chunks and such

12 years agoerrno were never updated anyway
Martin Quinson [Wed, 1 Feb 2012 15:09:27 +0000 (16:09 +0100)]
errno were never updated anyway

12 years agocosmetics and comment improvements
Martin Quinson [Wed, 1 Feb 2012 15:03:54 +0000 (16:03 +0100)]
cosmetics and comment improvements

12 years agorename sup-mmap.c into mmorecore.c and simplify the code since we want no more than...
Martin Quinson [Wed, 1 Feb 2012 14:56:58 +0000 (15:56 +0100)]
rename sup-mmap.c into mmorecore.c and simplify the code since we want no more than one core provider

12 years agokill the sbrk-based morecore: we'll never use less than two heaps when using mmalloc
Martin Quinson [Wed, 1 Feb 2012 14:48:55 +0000 (15:48 +0100)]
kill the sbrk-based morecore: we'll never use less than two heaps when using mmalloc

12 years agomove a global definition so that we can kill the sbrk stuff: we'll never use it
Martin Quinson [Wed, 1 Feb 2012 14:47:45 +0000 (15:47 +0100)]
move a global definition so that we can kill the sbrk stuff: we'll never use it

12 years agokill little useless things in mmalloc. Still searching how to do the Big Cleanup...
Martin Quinson [Wed, 1 Feb 2012 14:40:07 +0000 (15:40 +0100)]
kill little useless things in mmalloc. Still searching how to do the Big Cleanup on that code

12 years agokill the standard hooks of mmalloc: we will change the implementation directly, not...
Martin Quinson [Wed, 1 Feb 2012 14:25:05 +0000 (15:25 +0100)]
kill the standard hooks of mmalloc: we will change the implementation directly, not declare hooks

12 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 1 Feb 2012 14:17:52 +0000 (15:17 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

12 years agoReset t_simdata->comm after comm is over.
Arnaud Giersch [Wed, 1 Feb 2012 14:11:55 +0000 (15:11 +0100)]
Reset t_simdata->comm after comm is over.

Fixes a segfault with chord on 100000 hosts, where the backtrace is:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b2bd2f in SIMIX_rdv_remove (comm=0x40bd4fd0, rdv=0x0) at ./src/simix/smx_network.c:117
117       xbt_fifo_remove(rdv->comm_fifo, comm);
(gdb) bt
 #0  0x00007ffff7b2bd2f in SIMIX_rdv_remove (comm=0x40bd4fd0, rdv=0x0) at ./src/simix/smx_network.c:117
 #1  SIMIX_comm_cancel (action=0x40bd4fd0) at ./src/simix/smx_network.c:754
 #2  0x00007ffff7b4046e in SIMIX_simcall_pre (simcall=0x613c90, value=0) at ./src/simix/smx_smurf.c:126
 #3  0x00007ffff7b407c6 in SIMIX_simcall_push (self=0x613c00) at ./src/simix/smx_smurf.c:26
 #4  0x00007ffff7a83a8d in simcall_comm_cancel (comm=0x40bd4fd0) at ./src/simix/smx_user.c:830
 #5  MSG_task_cancel (task=0x45ba4eb0) at ./src/msg/msg_task.c:223
 #6  0x00007ffff7a83bc0 in MSG_task_destroy (task=0x45ba4eb0) at ./src/msg/msg_task.c:187
 #7  0x00007ffff7ac3ebb in SIMIX_comm_destroy (action=0x42078370) at ./src/simix/smx_network.c:274
 #8  0x00007ffff7a9603c in SIMIX_process_cleanup (process=0x1ce9da60) at ./src/simix/smx_process.c:87
 #9  0x00007ffff7b40208 in SIMIX_simcall_pre (simcall=0x1ce9daf0, value=0) at ./src/simix/smx_smurf.c:323
 #10 0x00007ffff7b2554e in SIMIX_run () at ./src/simix/smx_global.c:207
 #11 0x00007ffff7b256e7 in MSG_main () at ./src/msg/msg_global.c:155
 #12 0x000000000040180b in main (argc=3, argv=<optimized out>) at ./examples/msg/chord/chord.c:918

Git bisect identified commit 6dcde87 as culprit (Use isend
instead of send to set the simdata->comm so that get_remaining
can work.)

12 years agoAdd more thorough tests for parmaps.
Arnaud Giersch [Wed, 1 Feb 2012 08:36:03 +0000 (09:36 +0100)]
Add more thorough tests for parmaps.

* all modes are tested;
* the "basic test" does some computations, and checks the results;
* the "extended test" tries to verify that all threads are working.

12 years agoParmap review.
Arnaud Giersch [Wed, 1 Feb 2012 08:21:45 +0000 (09:21 +0100)]
Parmap review.

* synchronizations are made a bit simpler;
* helper functions are renamed for more clarity;
* synchronization at the end of xbt_parmap_new() is removed;
* the working loop is made faster by manually inlining xbt_parmap_next();
* finally, the posix mode is fixed.

12 years agoAdd parmap_bench.c.
Arnaud Giersch [Tue, 31 Jan 2012 18:11:23 +0000 (19:11 +0100)]
Add parmap_bench.c.

12 years agoRemove static function attribute.
Arnaud Giersch [Wed, 1 Feb 2012 08:00:35 +0000 (09:00 +0100)]
Remove static function attribute.

Fixes build error:
./src/surf/network.c:376:12: error: static declaration of ‘net_get_link_latency_limited’ follows non-static declaration
./src/surf/surf_private.h:81:5: note: previous declaration of ‘net_get_link_latency_limited’ was here

12 years agoUse m_file_t instead of m_file_t*
navarro [Tue, 31 Jan 2012 20:51:09 +0000 (21:51 +0100)]
Use m_file_t instead of m_file_t*

12 years agoRemove duplicate declaration for smx_file_t.
Arnaud Giersch [Tue, 31 Jan 2012 21:07:41 +0000 (22:07 +0100)]
Remove duplicate declaration for smx_file_t.