71 Commits

Author SHA1 Message Date
Rainer Gerhards
18e60f46a1 Merge branch 'v4-stable' into v5-stable
Conflicts:
	runtime/debug.h
	runtime/obj.c
	runtime/parser.h
	runtime/wti.h
2012-01-16 16:14:30 +01:00
Rainer Gerhards
bd22bf8cb4 license changes 2012-01-16 15:23:01 +01:00
Rainer Gerhards
7574e70df4 fixed race conditions during queue shutdown (DA case, disks active) 2010-05-18 17:53:12 +02:00
Rainer Gerhards
dd76d96d67 adapted new atomic instruction emulation to v5 engine
code did not compile after merge from v4
2010-04-27 18:26:09 +02:00
Rainer Gerhards
4a5a3196fb Merge branch 'v4-devel' into master
Conflicts:
	runtime/Makefile.am
	runtime/atomic.h
	runtime/queue.c
	runtime/queue.h
	runtime/wti.c
	runtime/wti.h
	runtime/wtp.c
	runtime/wtp.h
2010-04-27 17:49:06 +02:00
Rainer Gerhards
cbe2e3d444 bugfix: problems with atomic operations emulation
replaced atomic operation emulation with new code. The previous code
seemed to have some issue and also limited concurrency severely. The
whole atomic operation emulation has been rewritten.
2010-04-27 17:31:28 +02:00
Rainer Gerhards
38cb392672 replaced data type "bool" by "sbool" because this created some portability issues 2010-02-02 15:51:01 +01:00
Rainer Gerhards
4ec7b9d9ec enhanced worker thread pool by atomic ops
... greater performance and was able to remove a potential troublespot
in a cancel cleanup handler.
2009-07-20 11:52:05 +02:00
Rainer Gerhards
ef70e6174d architecture change: queue now always has at least one worker thread
...if not running in direct mode. Previous versions could run without
any active workers. This simplifies the code at a very small expense.
See v5 compatibility note document for more in-depth discussion.
2009-07-20 10:25:02 +02:00
Rainer Gerhards
4c9eded44d further code simplification
... could even remove one mutex by using a better algorithm. I think I also
spotted some situation in which a hang could have happened. As I can't fix it
in v4 and less without moving to the new engine, I make no effort in testing
this out. Hangs occur during shutdown, only (if at all). The code changes
should also result in some mild performance improvement. Some bug potential,
but overall the bug potential should have been greatly reduced.
2009-07-17 18:40:28 +02:00
Rainer Gerhards
cb7f903730 some code simplification 2009-07-16 12:42:45 +02:00
Rainer Gerhards
4b6e93d382 further reduction in code size/complexity due to design change 2009-07-08 18:45:23 +02:00
Rainer Gerhards
4cfbc7254a simplified worker thread handling
based on now working with detached threads. This is probably the biggest
patch in this series and with large bug potential.
2009-07-08 18:12:05 +02:00
Rainer Gerhards
651bee9cf5 Merge branch 'omfile' into tmp
This was a complex manual merge, especially in action.c. So if
there occur some problems, this would be a good point to start
troubleshooting. I run a couple of tests before commiting and
they all went well.

Conflicts:
	action.c
	action.h
	runtime/queue.c
	runtime/queue.h
	runtime/wti.c
	runtime/wti.h
2009-06-22 15:12:35 +02:00
Rainer Gerhards
7a695d1714 removed uniprocessor optimization
... as it was not even optimal on uniprocessors any longer ;) I keep
the config directive in, maybe we can utilize it again at some later
point in time (questionable).
2009-06-19 12:03:56 +02:00
Rainer Gerhards
d4564f8399 interim commit: working on failure cases
slightly improved situation, would like to save it before carrying on
2009-05-27 19:43:28 +02:00
Rainer Gerhards
bb79e96dc3 moving to a cleaner implementation of batches
... now that we know what we need from a theoretical POV.
2009-05-12 15:27:40 +02:00
Rainer Gerhards
7667845bd7 first attempt at dequeueing multiple batches inside the queue
... but this code has serious problems when terminating the queue, also
it is far from being optimal. I will commit a series of patches (hopefully)
as I am on the path to the final implementation.
2009-04-22 15:06:45 +02:00
Rainer Gerhards
cf38fc8175 added a setting "$OptimizeForUniprocessor"
...to enable users to turn off pthread_yield calls which are
counter-productive on multiprocessor machines (but have been
shown to be useful on uniprocessors)
2008-10-22 13:54:40 +02:00
Rainer Gerhards
5a1a73b432 improved threading
- changed sequence when awakening thread
- removed no longer needed condition variable
- EXPERIMENTALLY added mutex guarding to hostname lookups
  this is to be removed if it does not have any verifyable
  useful effect
2008-09-30 14:20:01 +02:00
Rainer Gerhards
3af28bbd2d moved runtime files into their own directory 2008-04-16 08:56:48 +02:00