archipelago
10 years agoFix bug in archipelago premigrate hook hotfix-0.3.4 0.3.4
Filippos Giannakos [Tue, 17 Dec 2013 12:05:33 +0000 (14:05 +0200)]
Fix bug in archipelago premigrate hook

Return 0 if template is not ext, to allow migration of other templates.

10 years agoBump version to 0.3.4
Filippos Giannakos [Tue, 17 Dec 2013 12:05:17 +0000 (14:05 +0200)]
Bump version to 0.3.4

10 years agoAdd ganeti pre-migrate hook hotfix-0.3.3 0.3.3
Filippos Giannakos [Wed, 4 Dec 2013 15:00:59 +0000 (17:00 +0200)]
Add ganeti pre-migrate hook

Add ganeti pre-migrate hook to ensure that the volume is opened by the current
node, before proceeding with the migration.

10 years agovlmcd: Complete pending requests after "flushing"
Filippos Giannakos [Fri, 13 Sep 2013 10:42:30 +0000 (13:42 +0300)]
vlmcd: Complete pending requests after "flushing"

10 years agovlmc: Honor flush req by stall until all reqs done
Filippos Giannakos [Tue, 10 Sep 2013 13:19:12 +0000 (16:19 +0300)]
vlmc: Honor flush req by stall until all reqs done

10 years agoBump version to 0.3.3
Filippos Giannakos [Wed, 4 Dec 2013 14:53:30 +0000 (16:53 +0200)]
Bump version to 0.3.3

10 years agoBump version to 0.3.2 hotfix-0.3.2
Filippos Giannakos [Wed, 27 Nov 2013 14:02:55 +0000 (16:02 +0200)]
Bump version to 0.3.2

10 years agoext_storage: Update Makefile and symlinks 0.3.2
Christos Stavrakakis [Tue, 19 Nov 2013 13:45:12 +0000 (15:45 +0200)]
ext_storage: Update Makefile and symlinks

Update Makefile and add new symlinks for new 'snapshot' and 'setinfo'
actions.

10 years agoext_storage: Add 'snapshot' and 'setinfo' actions
Christos Stavrakakis [Mon, 18 Nov 2013 14:55:57 +0000 (16:55 +0200)]
ext_storage: Add 'snapshot' and 'setinfo' actions

Extend supported actions with the 'snapshot' action, which is used
to snapshot an existing image. Also add 'setinfo' action as NOP.
Finally, refactor 'ReadEnv' function to return a dictionary instead of a
tuple.

10 years agososd: Fix uninitialized variable use. hotfix-0.3.1 0.3.1
Filippos Giannakos [Wed, 5 Jun 2013 14:36:47 +0000 (17:36 +0300)]
sosd: Fix uninitialized variable use.

In break lock, instead of cheking the return value of the rados call, we
erroneously checked an uninitialized local variable.

10 years agoBump version to 0.3.1
Filippos Giannakos [Wed, 5 Jun 2013 14:36:15 +0000 (17:36 +0300)]
Bump version to 0.3.1

10 years agoBump version to 0.3 release-0.3 0.3
Filippos Giannakos [Wed, 5 Jun 2013 09:21:30 +0000 (12:21 +0300)]
Bump version to 0.3

10 years agoBump version.
Filippos Giannakos [Mon, 3 Jun 2013 14:43:06 +0000 (17:43 +0300)]
Bump version.

Bumped version to 0.3rc2

10 years agopeer.c: Call custom peer finalize with st_threads
Filippos Giannakos [Fri, 31 May 2013 09:32:28 +0000 (12:32 +0300)]
peer.c: Call custom peer finalize with st_threads

10 years agobench: Fix target to not include null termination.
Filippos Giannakos [Fri, 31 May 2013 08:46:43 +0000 (11:46 +0300)]
bench: Fix target to not include null termination.

Request of the target must not be null terminated. Remove null termination from
the requests constructed by peers.

10 years agomapperd: Add debug messages for copyup target
Filippos Giannakos [Fri, 31 May 2013 08:19:10 +0000 (11:19 +0300)]
mapperd: Add debug messages for copyup target

10 years agomapperd: Fix signaling bug when load/open fails.
Filippos Giannakos [Fri, 31 May 2013 07:09:28 +0000 (10:09 +0300)]
mapperd: Fix signaling bug when load/open fails.

When a map load/open fails, any other threads that tried to get the map during
these operations wait on the map. If any of these operations fail, the cache was
dropped, without signaling any of the waiters. This commit fixes this bug, by
signaling the map when open or load fail.

10 years agomapperd: Add debug message to signal map and put map
Filippos Giannakos [Thu, 30 May 2013 15:23:09 +0000 (18:23 +0300)]
mapperd: Add debug message to signal map and put map

10 years agoRename archipelago peers with archip- prefix
Filippos Giannakos [Thu, 30 May 2013 13:45:50 +0000 (16:45 +0300)]
Rename archipelago peers with archip- prefix

10 years agoChange ext_script dir to archipelago.
Filippos Giannakos [Thu, 30 May 2013 13:38:49 +0000 (16:38 +0300)]
Change ext_script dir to archipelago.

Change ext_script ganeti directory from vlmc to archipelago.

10 years agoBump version.
Filippos Giannakos [Thu, 30 May 2013 09:40:52 +0000 (12:40 +0300)]
Bump version.

Bump versio to 0.3rc1

10 years agoAdjust mt-sosd to the new RADOS lock API.
Filippos Giannakos [Fri, 17 May 2013 14:36:00 +0000 (17:36 +0300)]
Adjust mt-sosd to the new RADOS lock API.

10 years agoxseg: Set serviced = 0 on {get, put} request
Filippos Giannakos [Wed, 29 May 2013 12:28:44 +0000 (15:28 +0300)]
xseg: Set serviced = 0 on {get, put} request

10 years agoxseg.h: Move end of include guard to the header's end.
Filippos Giannakos [Fri, 24 May 2013 14:08:03 +0000 (17:08 +0300)]
xseg.h: Move end of include guard to the header's end.

10 years agoMerge branch 'develop-cherrypick' into develop
Filippos Giannakos [Fri, 17 May 2013 15:08:52 +0000 (18:08 +0300)]
Merge branch 'develop-cherrypick' into develop

Merged commits cherry-picked from release-0.2 branch

10 years agoFix bug in mapperd.
Filippos Giannakos [Fri, 19 Apr 2013 08:48:58 +0000 (11:48 +0300)]
Fix bug in mapperd.

When signaling map, use signal_broadcast to wake up all waiters instead of just
one, to avoid missing signals when cached is dropped for the map.
(cherry picked from commit 2b91a67a55cdd9b6a16fd54e3e87389aa181a7ee)

10 years agoAdd wrapper function for ST peerd loop.
Filippos Giannakos [Wed, 17 Apr 2013 13:36:31 +0000 (16:36 +0300)]
Add wrapper function for ST peerd loop.
(cherry picked from commit d932df7a6a3ae8b17d9e0981fcb3ee2af059324c)

Conflicts:
xseg/peers/user/peer.c

10 years agomapperd: Always sleep before checking request state.
Filippos Giannakos [Wed, 17 Apr 2013 12:38:02 +0000 (15:38 +0300)]
mapperd: Always sleep before checking request state.
(cherry picked from commit e0f306aa00f5aefa72dc4f607876ee87ddc2ea37)

10 years agoMake xseg request state volatile
Filippos Giannakos [Mon, 15 Apr 2013 12:45:42 +0000 (15:45 +0300)]
Make xseg request state volatile
(cherry picked from commit 8904f78564a1d1f96eb0453e7773779dc931d861)

10 years agoMake peers close stdin when entering daemon mode.
Filippos Giannakos [Mon, 15 Apr 2013 09:35:47 +0000 (12:35 +0300)]
Make peers close stdin when entering daemon mode.
(cherry picked from commit 04ea45339fd0e5a92c3290807805766acc1e7223)

10 years agoClose orig stdout, stderr, when logging to file
Filippos Giannakos [Mon, 15 Apr 2013 08:31:53 +0000 (11:31 +0300)]
Close orig stdout, stderr, when logging to file
(cherry picked from commit 1eeb0111a9d7ac5700d7aedc9f442b748b9cb8e7)

10 years agoAdd wait time while starting a peer.
Filippos Giannakos [Mon, 15 Apr 2013 08:30:03 +0000 (11:30 +0300)]
Add wait time while starting a peer.

While starting a peer, wait a few seconds, before checking if the peer is up n
running. In high load conditions, this check was too soon and could fail,
resulting in an overall start failure.
(cherry picked from commit 1b4a1ad9cd39b620b35bd30970edda304fcb92a6)

10 years agoRemove async unsafe functions from signal handlers
Filippos Giannakos [Mon, 8 Apr 2013 15:37:23 +0000 (18:37 +0300)]
Remove async unsafe functions from signal handlers
(cherry picked from commit 2d2a24a26ff9f3a7fd651b1c2386fbd31166a5e1)

10 years agoFix bug in user xseglog2
Filippos Giannakos [Mon, 8 Apr 2013 15:37:00 +0000 (18:37 +0300)]
Fix bug in user xseglog2
(cherry picked from commit c30767e3f311fd97bb1f5f546b8654911d712072)

10 years agoFix user space logrotation bug.
Filippos Giannakos [Mon, 8 Apr 2013 10:52:28 +0000 (13:52 +0300)]
Fix user space logrotation bug.

Replace file stream functions in user space logging with their file descriptor
counter parts, which are safe to be called from a signal handler.
(cherry picked from commit 342ac1dc1a5ebc9aef55808b2d42436be3efb88d)

10 years agoRemove ctypeslib dependency from python-xseg
Filippos Giannakos [Tue, 26 Mar 2013 11:44:53 +0000 (13:44 +0200)]
Remove ctypeslib dependency from python-xseg
(cherry picked from commit 93f23c27d9567647a27a035732edd2a4ef66d83c)

10 years agoMove src dir to archipelago-modules-dkms
Filippos Giannakos [Fri, 22 Mar 2013 11:17:23 +0000 (13:17 +0200)]
Move src dir to archipelago-modules-dkms
(cherry picked from commit 9c39a188e8ff0ae49ecb7f6587b693c5a546289a)

10 years agoExport KVER if none existing.
Filippos Giannakos [Thu, 21 Mar 2013 14:14:45 +0000 (16:14 +0200)]
Export KVER if none existing.

Also modulesdir now points to the KVER we are building for.
(cherry picked from commit 201e6354bbe2f6f4a4d921992a425e32444514fa)

10 years agoAdd xseg to src dir.
Filippos Giannakos [Thu, 21 Mar 2013 13:40:25 +0000 (15:40 +0200)]
Add xseg to src dir.
(cherry picked from commit 0e4ae29f8d36524c61720a7f1dcafcdc9cd6bb03)

10 years agopeer: Move peerd_loop plug out of peer_reqs loop
Alex Pyrgiotis [Tue, 7 May 2013 12:22:34 +0000 (15:22 +0300)]
peer: Move peerd_loop plug out of peer_reqs loop

The plugging of generic_peerd_loop to peerd_loop was falsely done inside
a loop where peer_reqs were initialized. The plugging has now been moved
out of this loop.

11 years agobench: Flush stdout when printing progress results
Alex Pyrgiotis [Tue, 23 Apr 2013 12:55:46 +0000 (15:55 +0300)]
bench: Flush stdout when printing progress results

11 years agobench: Fix issuing of read/write requests
Alex Pyrgiotis [Thu, 18 Apr 2013 15:34:17 +0000 (18:34 +0300)]
bench: Fix issuing of read/write requests

Due to no initialization of struct bench, some "ifs" in the code would
show different behavior depending on the junk values they would check.
Now however, there is proper initialization of struct bench.

11 years agobench: Include bandwidth and IOPS in results
Alex Pyrgiotis [Wed, 17 Apr 2013 11:30:02 +0000 (14:30 +0300)]
bench: Include bandwidth and IOPS in results

11 years agobench: Change prefixes of static functions
Alex Pyrgiotis [Wed, 17 Apr 2013 11:24:17 +0000 (14:24 +0300)]
bench: Change prefixes of static functions

In this repo, a static helpder function is prefixed with "__". However,
some static helper functions in bench-utils.c where prefixed with a
single underscore ("_"), so we updated their names to be consistent with
this convention.

11 years agoAdd progress report for bench
Alex Pyrgiotis [Fri, 15 Mar 2013 15:43:03 +0000 (17:43 +0200)]
Add progress report for bench

Progress report is turned on by default. It reports every 5% the current
request status.
Also, we now make sure to terminate only if all peer requests are free.

11 years agoAdd a fallback clock for portability reasons
Alex Pyrgiotis [Thu, 14 Mar 2013 16:29:23 +0000 (18:29 +0200)]
Add a fallback clock for portability reasons

11 years agoMerge branch 'feature-improvepeer' into develop
Filippos Giannakos [Thu, 14 Mar 2013 16:00:33 +0000 (18:00 +0200)]
Merge branch 'feature-improvepeer' into develop

11 years agoRemove unused stuff and reduce warnings
Filippos Giannakos [Thu, 14 Mar 2013 13:34:37 +0000 (15:34 +0200)]
Remove unused stuff and reduce warnings

Remove unused pthread_* stuff and modify variable location to reduce warnings
because of the define-based compilation.

11 years agoAdd compilation warning about MT and ST_THREADS
Filippos Giannakos [Thu, 14 Mar 2013 11:41:24 +0000 (13:41 +0200)]
Add compilation warning about MT and ST_THREADS

11 years agoFix queue size of per thread queue.
Filippos Giannakos [Thu, 14 Mar 2013 11:03:03 +0000 (13:03 +0200)]
Fix queue size of per thread queue.

11 years agoFix peer termination.
Filippos Giannakos [Thu, 14 Mar 2013 09:27:34 +0000 (11:27 +0200)]
Fix peer termination.

Peer checks if all peer requests are free in all thread, and then proceeds to
gracefull shutdown.

Also introduce pthread specific variable, holding the struct thread for each
thread.

11 years agoSplit peer request queues.
Filippos Giannakos [Wed, 13 Mar 2013 11:45:10 +0000 (13:45 +0200)]
Split peer request queues.

Each thread has its own peer request queue, frow which it allocates data. If
this queue is empty, it  tries to "steal" from the "next" thread. This greatly
reduces lock congestion to the peer request queue.

11 years agoAdd check to not respond request if none associated.
Filippos Giannakos [Fri, 8 Mar 2013 17:10:54 +0000 (19:10 +0200)]
Add check to not respond request if none associated.

Conflicts:
xseg/peers/user/peer.c

11 years agoMerge branch 'feature-improvepthreadsignaling' into develop
Filippos Giannakos [Thu, 14 Mar 2013 16:00:04 +0000 (18:00 +0200)]
Merge branch 'feature-improvepthreadsignaling' into develop

11 years agoImprove pthread signaling.
Filippos Giannakos [Thu, 14 Mar 2013 09:20:42 +0000 (11:20 +0200)]
Improve pthread signaling.

Remove xpool data type that required a lock on insertion / on seek and replace
it by an array of pids. On the array of pids, each thread place its pid in his
own reserved entry. Any one who wishes to signal a pthread peer, checks that
array for a valid pid.

11 years agoDisable update stamp during request transfer.
Filippos Giannakos [Thu, 14 Mar 2013 09:12:26 +0000 (11:12 +0200)]
Disable update stamp during request transfer.

11 years agoFix clean option in Makefile
Alex Pyrgiotis [Thu, 14 Mar 2013 15:51:49 +0000 (17:51 +0200)]
Fix clean option in Makefile

11 years agoMerge branch 'feature-bench-rebased' into develop
Filippos Giannakos [Thu, 14 Mar 2013 10:11:36 +0000 (12:11 +0200)]
Merge branch 'feature-bench-rebased' into develop

11 years agoBuild only the necessary peers.
Filippos Giannakos [Thu, 14 Mar 2013 10:10:32 +0000 (12:10 +0200)]
Build only the necessary peers.

11 years agoFix LFSR spin bug
Alex Pyrgiotis [Wed, 13 Mar 2013 18:14:57 +0000 (20:14 +0200)]
Fix LFSR spin bug

11 years agoStyle changes
Alex Pyrgiotis [Wed, 13 Mar 2013 16:04:35 +0000 (18:04 +0200)]
Style changes

11 years agoAdd option for read/write ops to hit unique objs
Alex Pyrgiotis [Wed, 13 Mar 2013 16:00:29 +0000 (18:00 +0200)]
Add option for read/write ops to hit unique objs

Read/write ops can now use the -to option, instead of the -ts option, to
make each read/write request touch a different object.

11 years agoAdd request cap
Alex Pyrgiotis [Wed, 13 Mar 2013 13:12:10 +0000 (15:12 +0200)]
Add request cap

Implemented by popular request, the request cap option allows the
benchmarking peer to stop the benchmark earlier, at a given number
of received requests.

11 years agoFix verification full mode
Alex Pyrgiotis [Wed, 13 Mar 2013 11:52:42 +0000 (13:52 +0200)]
Fix verification full mode

11 years agoAdd partial support for verification
Alex Pyrgiotis [Tue, 12 Mar 2013 16:29:54 +0000 (18:29 +0200)]
Add partial support for verification

Adds an option to choose between verification modes:

1. meta: On this mode, we write our signature both at the start and the
   end of the chunk size. It should be very fast and moderately safe,
   due to the fact that corruptions happen it the chunk's edges.
2. full: Write our a random sequence of numbers throughout the chunk's
   data range, which is reproducible given the object name and the
   offset inside the object.

At the moment, only meta mode is available, but full will be supported
soon

11 years agoRefactor struct bench and appropriate code paths
Alex Pyrgiotis [Tue, 12 Mar 2013 16:16:50 +0000 (18:16 +0200)]
Refactor struct bench and appropriate code paths

Changes:

1. Move flag values (such as pattern, insanity, verify) in a specific
   bit-field.
2. Create a struct req_status where the status of requests will be
   stored.
3. Tidy up code.

Rationale:

1. For parameters that can have only a few different values, it's an
   overkill to use a specific field in struct bench to store them, when
   we can just as well store them in a flag. This reduces the size of
   struct bench and makes the code easier to grasp.
2. Previously, the requests' statuses would be scattered amongst
   different timers, which is counter-intuitive at best. By placing them
   in a specific struct, we make the code more intuitive and readable.

11 years agoAdd skeleton for verification in write path
Alex Pyrgiotis [Sun, 10 Mar 2013 23:37:52 +0000 (01:37 +0200)]
Add skeleton for verification in write path

11 years agoImprove LFSR implementation
Alex Pyrgiotis [Sun, 10 Mar 2013 11:49:25 +0000 (13:49 +0200)]
Improve LFSR implementation

Also, prepare the code for the addition of verification support

11 years agoChange input option to bench
Alex Pyrgiotis [Sat, 2 Mar 2013 11:22:14 +0000 (13:22 +0200)]
Change input option to bench

Since -dp is reserved in peer as defer port number, we change the -dp
option in bench (which stood for "destination port") to -tp, which
stands for "target port".

11 years agoAdd support for seed values given by the user
Alex Pyrgiotis [Wed, 27 Feb 2013 18:52:12 +0000 (20:52 +0200)]
Add support for seed values given by the user

A new option has been added (--seed) which allows the user to pre-define
the seed that he/she wants. This has the following effects:

* The target names are prefixed with the first 9 digits of the seed.
* LFSR produces a predictable sequence of "random" numbers

11 years agoMinor fixes
Alex Pyrgiotis [Mon, 25 Feb 2013 16:52:35 +0000 (18:52 +0200)]
Minor fixes

11 years agoAllow LFSR to be used for sizes smaller than 2^3
Alex Pyrgiotis [Mon, 25 Feb 2013 16:42:29 +0000 (18:42 +0200)]
Allow LFSR to be used for sizes smaller than 2^3

11 years agoGet correct iodepth
Alex Pyrgiotis [Sat, 23 Feb 2013 12:42:15 +0000 (14:42 +0200)]
Get correct iodepth

11 years agoFix incorrect reading of "insanity" parameter
Alex Pyrgiotis [Thu, 21 Feb 2013 15:51:32 +0000 (17:51 +0200)]
Fix incorrect reading of "insanity" parameter

11 years agoFix identation
Alex Pyrgiotis [Thu, 21 Feb 2013 12:04:19 +0000 (14:04 +0200)]
Fix identation

11 years agoMake bench snappier when asked to terminate
Alex Pyrgiotis [Thu, 21 Feb 2013 10:44:46 +0000 (12:44 +0200)]
Make bench snappier when asked to terminate

11 years agoPrint more useful results
Alex Pyrgiotis [Thu, 21 Feb 2013 10:34:35 +0000 (12:34 +0200)]
Print more useful results

11 years agoFix signal handling of peers
Alex Pyrgiotis [Wed, 20 Feb 2013 22:16:55 +0000 (00:16 +0200)]
Fix signal handling of peers

11 years agoTweak performance of bench
Alex Pyrgiotis [Wed, 20 Feb 2013 15:28:23 +0000 (17:28 +0200)]
Tweak performance of bench

11 years agoFix LFSR behavior
Alex Pyrgiotis [Wed, 20 Feb 2013 07:58:43 +0000 (09:58 +0200)]
Fix LFSR behavior

11 years agoFix flag handling of struct bench
Alex Pyrgiotis [Tue, 19 Feb 2013 17:15:05 +0000 (19:15 +0200)]
Fix flag handling of struct bench

11 years agoFix target names and chunk offsets
Alex Pyrgiotis [Tue, 19 Feb 2013 16:59:37 +0000 (18:59 +0200)]
Fix target names and chunk offsets

11 years agoIncrement completed requests of insane timers
Alex Pyrgiotis [Tue, 19 Feb 2013 15:24:06 +0000 (17:24 +0200)]
Increment completed requests of insane timers

Even if a timer is not used for a benchmark, we need to increment its
completed requests since these are needed to calculate how many requests
are left etc.

11 years agoImplement most semi-finished functionalities
Alex Pyrgiotis [Tue, 19 Feb 2013 14:28:43 +0000 (16:28 +0200)]
Implement most semi-finished functionalities

Summary of new functionalities:

* Add support for 4 different xseg operations (read, write, info,
  delete).
* Add support for random I/O patterns with a fast Galois LFSR.
* Add insanity levels in timers, which allow the user to exclude obscure
  timers from the benchmark (or explicitly allow them)
* Generate target names based on seeds given by the user or produced by
  the benchmark (useful for reproducibility of benchmark)

11 years agoAdd an LFSR PRNG for bench
Alex Pyrgiotis [Mon, 18 Feb 2013 19:56:20 +0000 (21:56 +0200)]
Add an LFSR PRNG for bench

The PRNG introduced by this commit is a Galois-XNOR LFSR, which can
generate unique pseudorandom numbers. Also, seeded with the same
seed, it will produce the same sequence.

This implementation is driven by the needs of XSEG for a blazing fast
random generator. Initial tests show that it's capable of producing 2^38
unique pseudorandom numbers in less than 10 minutes (which equals to 2
nanoseconds per number).

11 years agoAdd utility functions to header file
Alex Pyrgiotis [Sat, 16 Feb 2013 19:24:24 +0000 (21:24 +0200)]
Add utility functions to header file

11 years agoDesign the program's skeleton for new features
Alex Pyrgiotis [Sat, 16 Feb 2013 18:51:10 +0000 (20:51 +0200)]
Design the program's skeleton for new features

Bench peer must be able to test all xseg operations in a synchronous or
asynchronous way. Also, it must have a validation mode to sanity-check
if xseg requests are issued properly. Most of the above are present in
this commit, either in code or TODO form.

WARNING: code is incomplete and won't compile

11 years agoFix segfault, parameters validation
Alex Pyrgiotis [Fri, 15 Feb 2013 09:40:11 +0000 (11:40 +0200)]
Fix segfault, parameters validation

11 years agoInitial support for xseg ops
Alex Pyrgiotis [Thu, 14 Feb 2013 18:00:03 +0000 (20:00 +0200)]
Initial support for xseg ops

11 years agoAlpha release of bench peer
Alex Pyrgiotis [Thu, 14 Feb 2013 13:38:51 +0000 (15:38 +0200)]
Alpha release of bench peer

On this release, the bench peer can measure the total elapsed time
of the benchmark. TODO:

* Allow bench peer to be multi-threaded.
* Adjust benchmarking precision, by eliminating or including more
  trivial timers.
* Measure mean time, standard deviation of requests.

11 years agoMake bench send requests faster
Alex Pyrgiotis [Tue, 12 Feb 2013 17:39:26 +0000 (19:39 +0200)]
Make bench send requests faster

11 years agoFix missing function declaration
Alex Pyrgiotis [Tue, 12 Feb 2013 12:02:58 +0000 (14:02 +0200)]
Fix missing function declaration

11 years agoSimplify port binding code
Alex Pyrgiotis [Tue, 12 Feb 2013 11:28:37 +0000 (13:28 +0200)]
Simplify port binding code

11 years agoFix segfault
Alex Pyrgiotis [Tue, 12 Feb 2013 07:02:09 +0000 (09:02 +0200)]
Fix segfault

11 years agoKeep naming in peerd_loop consistent
Alex Pyrgiotis [Tue, 12 Feb 2013 06:57:14 +0000 (08:57 +0200)]
Keep naming in peerd_loop consistent

11 years agoFix timers and add them to critical paths
Alex Pyrgiotis [Mon, 11 Feb 2013 16:38:06 +0000 (18:38 +0200)]
Fix timers and add them to critical paths

Fixed incorrect handling of elapsed time and used appropriate timers to
benchmark crtical paths.

11 years agoComplete unification of thread_loop/peerd_loop
Alex Pyrgiotis [Mon, 11 Feb 2013 16:34:50 +0000 (18:34 +0200)]
Complete unification of thread_loop/peerd_loop

11 years agoFix segfault
Alex Pyrgiotis [Mon, 11 Feb 2013 07:00:08 +0000 (09:00 +0200)]
Fix segfault

11 years agoUnify thread loop with peerd_loop
Alex Pyrgiotis [Mon, 11 Feb 2013 01:10:12 +0000 (03:10 +0200)]
Unify thread loop with peerd_loop

Since peerd_loop with thread_loop don't have many differences between
them, they can be unified in a single loop. TODO is to choose a unified
name for both threads and peers, as well as fault check the
implementation.

11 years agoAdd timer implementation
Alex Pyrgiotis [Sat, 9 Feb 2013 11:32:49 +0000 (13:32 +0200)]
Add timer implementation

This an initial timer implementation. It is not very polished at the
momment and some implementation choices will have to be reviewed later
on.