diff --git a/arch/common/include/tapasco.hpp b/arch/common/include/tapasco.hpp index e699e15dfa99a8a4f96d5d494943a051ee142589..bdcc321c89e4a522d9738d8e299384c3ef5bdc3a 100644 --- a/arch/common/include/tapasco.hpp +++ b/arch/common/include/tapasco.hpp @@ -193,7 +193,7 @@ struct Tapasco { tapasco_device_release_job_id(dev_ctx, j_id); return res; } - + /** * Launches a job on the device and returns a future to the result. * @param f_id Kernel ID. @@ -206,7 +206,7 @@ struct Tapasco { { return async(std::launch::async, [=, &ret]{ return launch(f_id, ret, args...); }); } - + /** * Launches a job on the device without return value. * @param f_id Kernel ID. @@ -428,7 +428,7 @@ private: tapasco_device_free(dev_ctx, h, TAPASCO_DEVICE_ALLOC_FLAGS_NONE); return TAPASCO_SUCCESS; } - + /** Gets a single const pointer argument (dealloc only). **/ template tapasco_res_t get_args(tapasco_job_id_t const j_id, uint32_t const arg_idx, T const* t) const noexcept @@ -474,7 +474,7 @@ private: return get_args(j_id, arg_idx + 1, args...); } #endif - + bool _ok { false }; tapasco_ctx_t* ctx { nullptr }; tapasco_dev_ctx_t* dev_ctx { nullptr }; diff --git a/arch/common/src/tapasco_functions.c b/arch/common/src/tapasco_functions.c index 9a388661daae77888e921fb51fbd2563758ca84a..81456a73bd9ac89b9a03044cd666d671f0713203 100644 --- a/arch/common/src/tapasco_functions.c +++ b/arch/common/src/tapasco_functions.c @@ -114,7 +114,7 @@ void tapasco_functions_setup_system(tapasco_dev_ctx_t *dev_ctx, tapasco_function ++funcs; ++slot_id; } - + } inline static int reserve_func(tapasco_func_t *f, tapasco_func_id_t const f_id) { diff --git a/arch/common/tests/tapasco-logging-benchmark/tapasco_logging_benchmark.c b/arch/common/tests/tapasco-logging-benchmark/tapasco_logging_benchmark.c index 5733fa99870b161048ffba0669ef7e1d0fe9a778..577d760700729224bf8b2ef712bf261957692a77 100644 --- a/arch/common/tests/tapasco-logging-benchmark/tapasco_logging_benchmark.c +++ b/arch/common/tests/tapasco-logging-benchmark/tapasco_logging_benchmark.c @@ -200,7 +200,7 @@ int main(int argc, char *argv[]) printf("Average throughput: %10.1f logs/s\n", logs / (time_diff / 1000000.0)); printf("Thread throughput: %10.1f logs/s\n", logs / (time_diff / 1000000.0) / (double)thrdcnt); - + free(_rnd_data); printf("Finished the test.\n"); tapasco_logging_exit(); diff --git a/arch/common/tests/tapasco_functions_test.c b/arch/common/tests/tapasco_functions_test.c index a3021430ee35fe65907ce96a535b9bea24aa7421..8dd66d2f3a99cd9b58d317295696787c2080e7ac 100644 --- a/arch/common/tests/tapasco_functions_test.c +++ b/arch/common/tests/tapasco_functions_test.c @@ -56,7 +56,7 @@ START_TEST (tapasco_functions_check_counts) fail_if (unavail >= 0); tapasco_functions_release(funcs, slot_id); } - + tapasco_functions_deinit(funcs); } END_TEST diff --git a/common/src/gen_queue.c b/common/src/gen_queue.c index 5ee3f7ccb46a02ff9a4bfdfec34c09c7515dcb2e..a8ffc612589d580f96b3950ea3f8c413925b37c0 100644 --- a/common/src/gen_queue.c +++ b/common/src/gen_queue.c @@ -98,7 +98,7 @@ void gq_enqueue(struct gq_t *q, void *v) atomic_compare_exchange_strong(&q->tail, &tail, new); } } - + } TAGGED_PTR(n) = { .ptr = nd, .tag = tail.tag + 1 }; atomic_compare_exchange_strong(&q->tail, &tail, n); @@ -131,7 +131,7 @@ void *gq_dequeue(struct gq_t *q) TAGGED_PTR(new) = { .ptr = next.ptr, head.tag + 1 }; if (atomic_compare_exchange_strong(&q->head, &head, new)) break; - + } } } diff --git a/examples/arrayinit/arrayinit-example-mt-ff.cc b/examples/arrayinit/arrayinit-example-mt-ff.cc index d2128f9d505b0705c2008668d31954b1a25b4d7a..ae95113b28eca1526511845ef653b4fad4384324 100644 --- a/examples/arrayinit/arrayinit-example-mt-ff.cc +++ b/examples/arrayinit/arrayinit-example-mt-ff.cc @@ -151,7 +151,7 @@ int main(int argc, char **argv) std::vector f; for (int i = 0; i < sysconf(_SC_NPROCESSORS_CONF); ++i) f.push_back(new Worker); - + Emitter e; Collector c; ff_farm<> farm(f, &e, &c); diff --git a/examples/arrayinit/arrayinit-example-mt.c b/examples/arrayinit/arrayinit-example-mt.c index e5bd0971751c386312832acd1cb116d59fb782d0..66ef8deb95ca5c190d225b8a25822c061a2569b4 100644 --- a/examples/arrayinit/arrayinit-example-mt.c +++ b/examples/arrayinit/arrayinit-example-mt.c @@ -81,17 +81,17 @@ static void *runTest(void *p) // allocate mem on device and copy array part tapasco_handle_t h = tapasco_device_alloc(dev, SZ * sizeof(int), 0); check(h != 0); - + // get a job id and set argument to handle tapasco_job_id_t j_id = tapasco_device_acquire_job_id(dev, 11, TAPASCO_ACQUIRE_JOB_ID_BLOCKING); printf("run %ld: j_id = %d\n", run, j_id); check(j_id > 0); check_tapasco(tapasco_device_job_set_arg(dev, j_id, 0, sizeof(h), &h)); - + // shoot me to the moon! check_tapasco(tapasco_device_job_launch(dev, j_id, TAPASCO_JOB_LAUNCH_BLOCKING)); - + // get the result check_tapasco(tapasco_device_copy_from(dev, h, &arr[SZ * run], SZ * sizeof(int), TAPASCO_COPY_BLOCKING)); diff --git a/examples/arraysum/arraysum-example-mt-ff.cc b/examples/arraysum/arraysum-example-mt-ff.cc index fe5f7036e4966e87239760ee12321c6b93a18f26..3d0c4d7258cef42a11d8cf8f5175f1d6236ded3e 100644 --- a/examples/arraysum/arraysum-example-mt-ff.cc +++ b/examples/arraysum/arraysum-example-mt-ff.cc @@ -140,7 +140,7 @@ int main(int argc, char **argv) std::vector f; for (int i = 0; i < sysconf(_SC_NPROCESSORS_CONF); ++i) f.push_back(new Worker); - + Emitter e; Collector c; ff_farm<> farm(f, &e, &c); diff --git a/examples/warraw/warraw-example-mt-ff.cc b/examples/warraw/warraw-example-mt-ff.cc index 5ef32bc57f4c35976a3e0843fb3c3cbb5572eac7..9605c170729583c688ef554480c886c18b7466cd 100644 --- a/examples/warraw/warraw-example-mt-ff.cc +++ b/examples/warraw/warraw-example-mt-ff.cc @@ -156,7 +156,7 @@ int main(int argc, char **argv) arr = (int *)malloc(SZ * RUNS * sizeof(int)); check(arr != NULL); init_array(arr, SZ * RUNS); - + golden_arr = (int *)malloc(SZ * RUNS * sizeof(int)); check(golden_arr != NULL); init_array(golden_arr, SZ * RUNS); @@ -165,7 +165,7 @@ int main(int argc, char **argv) std::vector f; for (int i = 0; i < sysconf(_SC_NPROCESSORS_CONF); ++i) f.push_back(new Worker); - + Emitter e; Collector c; ff_farm<> farm(f, &e, &c); diff --git a/examples/warraw/warraw-example-mt.c b/examples/warraw/warraw-example-mt.c index 2dcf9be51ce0f207e10cb50ffefaf25b82af55dc..e98165489ce07048e263582abef793bab07522f8 100644 --- a/examples/warraw/warraw-example-mt.c +++ b/examples/warraw/warraw-example-mt.c @@ -81,23 +81,23 @@ static void *runTest(void *p) { // golden run int golden = warraw(&golden_arr[SZ * run]); printf("Golden output for run %ld: %d\n", run, golden); - + // allocate mem on device and copy array part tapasco_handle_t h = tapasco_device_alloc(dev, SZ * sizeof(int), 0); check(h != 0); check_tapasco(tapasco_device_copy_to(dev, &arr[SZ * run], h, SZ * sizeof(int), TAPASCO_COPY_BLOCKING)); - + // get a job id and set argument to handle tapasco_job_id_t j_id = tapasco_device_acquire_job_id(dev, 12, TAPASCO_ACQUIRE_JOB_ID_BLOCKING); printf("run %ld: j_id = %d\n", run, j_id); check(j_id > 0); check_tapasco(tapasco_device_job_set_arg(dev, j_id, 0, sizeof(h), &h)); - + // shoot me to the moon! check_tapasco(tapasco_device_job_launch(dev, j_id, TAPASCO_JOB_LAUNCH_BLOCKING)); - + // get the result int32_t r = 0; check_tapasco(tapasco_device_job_get_return(dev, j_id, sizeof(r), &r)); @@ -127,7 +127,7 @@ int main(int argc, char **argv) { arr = (int *)malloc(SZ * RUNS * sizeof(int)); check(arr != NULL); init_array(arr, SZ * RUNS); - + golden_arr = (int *)malloc(SZ * RUNS * sizeof(int)); check(golden_arr != NULL); init_array(golden_arr, SZ * RUNS); diff --git a/kernel/sudoku/src/multithreaded.cpp b/kernel/sudoku/src/multithreaded.cpp index 20a07ca77f72c9efa10e4af112b70d6c146c1d0a..3aff8d02e7dbd1c70894b3018869298a2d3c8bb1 100644 --- a/kernel/sudoku/src/multithreaded.cpp +++ b/kernel/sudoku/src/multithreaded.cpp @@ -114,7 +114,7 @@ int main(int argc, char *argv[]) long thrdcnt {sysconf(_SC_NPROCESSORS_CONF)}; int c {2}; int const mode {argc > 2 && argv[1][0] == 'f'}; - + if (argc < 3) { cerr << "Usage: sudoku_mt [] ..." << endl; exit(EXIT_FAILURE); diff --git a/kernel/warraw/warraw-tb.c b/kernel/warraw/warraw-tb.c index 74d2aa3f2b6de589e3299b88ef1005ba5b995d0e..2678c02fd5d3ea083fbf1c847add13620ed3543a 100644 --- a/kernel/warraw/warraw-tb.c +++ b/kernel/warraw/warraw-tb.c @@ -30,7 +30,7 @@ int main(int argc, char **argv) int data[SZ], i, ret = 0, s = 0; for (i = 0; i < SZ; ++i) data[i] = i + 1; - + s = warraw(data); for (i = 0; i < SZ; ++i) { diff --git a/platform/tests/iplatform.c b/platform/tests/iplatform.c index 75b83431223e61625e8a930bb971ba80bd5486a9..1c73d8643e6a1cb01c0c406c450cecdf46923bcf 100644 --- a/platform/tests/iplatform.c +++ b/platform/tests/iplatform.c @@ -221,7 +221,7 @@ static int runtest(long const which) for (long t = 0; t < thrdcnt; ++t) pthread_join(threads[t], NULL); - + platform_deinit(); return errors + terrors; } diff --git a/platform/tests/platform_slots.c b/platform/tests/platform_slots.c index 1f2735a7757f301855904e786a6547ad5c5b750b..5c5800291c8f330d27b56845813365f7b7c78dcb 100644 --- a/platform/tests/platform_slots.c +++ b/platform/tests/platform_slots.c @@ -104,7 +104,7 @@ int main(int argc, char **argv) cfg.slot_id = strtoul(argv[1], NULL, 0); else cfg.slot_id = -1; - + if (argc > 2) cfg.delay = strtoul(argv[2], NULL, 0); else @@ -116,7 +116,7 @@ int main(int argc, char **argv) cfg.iterations = 1; cfg.mt = cfg.all_slots && argc > 4; - + printf("Starting: all_slots = %ld, slot_id = %ld, delay = %ld, iterations = %ld\n", cfg.all_slots, cfg.slot_id, cfg.delay, cfg.iterations); diff --git a/platform/tests/platform_stress_alloc.c b/platform/tests/platform_stress_alloc.c index 768a047e6039cfd53968070d2a62a03e476b63c5..9bf7f598a1e49108a52020856afd561537704b5c 100644 --- a/platform/tests/platform_stress_alloc.c +++ b/platform/tests/platform_stress_alloc.c @@ -144,9 +144,9 @@ int main(int argc, char **argv) pthread_create(&threads[t], NULL, stress, (void *)runs); for (t = 0; t < thread_count; ++t) pthread_join(threads[t], NULL); - + platform_deinit(); - + if (! stop) printf("Test successful.\n"); else diff --git a/platform/vc709/src/buddy_allocator/buddy_allocator.cpp b/platform/vc709/src/buddy_allocator/buddy_allocator.cpp index 4295d7c339d2078213c13b0e5aaafa7aa460df03..9356cb53ecf3364f95614b6a0b44e0d346068af1 100644 --- a/platform/vc709/src/buddy_allocator/buddy_allocator.cpp +++ b/platform/vc709/src/buddy_allocator/buddy_allocator.cpp @@ -19,20 +19,20 @@ #include "buddy_allocator.hpp" buddy_allocator::buddy_allocator(uint32_t _address, uint_fast32_t _size, uint_fast32_t _min_order, uint_fast32_t _max_order){ - + log(logDEBUG2) << "Calculate init values for buddy_tree"; - + min_order = _min_order; max_order = _max_order; - + uint32_t address = calc_Address(_address); uint_fast32_t size = calc_Size(_size, address - _address); - + log(logDEBUG2) << "Set init values for buddy_tree (size: " << size << ") vs. " << calc_Size(_size, address - _address); bt = new buddy_tree(address,size); - + //bt->print_Tree(bt->get_Root()); - + if(!check_Tree(bt->get_Root())) { build_Tree(bt->get_Root()); error = 0; @@ -40,13 +40,13 @@ buddy_allocator::buddy_allocator(uint32_t _address, uint_fast32_t _size, uint_fa log(logWARNING) << "Tree could not be built completely"; error = -EINVAL; } - + //bt->print_Tree(bt->get_Root()); - + } buddy_allocator::~buddy_allocator() { - + log(logDEBUG2) << "Delete buddy_tree"; delete(bt); } @@ -56,41 +56,41 @@ void buddy_allocator::print_Tree(void) { } uint_fast32_t buddy_allocator::dealloc_Mem(uint32_t address) { - + if(error) return -EINVAL; - + node_t *n = find_Node(address); - + if(!n) { log(logWARNING) << "Node for address " << hex << address << " not found" << dec; return -EINVAL; } //bt->print_Node(n); node_t *sibling = find_Sibling(n); - + if(bt->dealloc_Leaf(n)) { log(logWARNING) << "Failure in deallocation"; return -EINVAL; } - + while(sibling && sibling->usage == nodeFree && n->size < (uint_fast32_t)(1 << max_order)) { log(logDEBUG2) << "can merge nodes"; node_t *parent = n->parent; if(bt->merge_Node(parent)) { log(logWARNING) << "Merging gone wrong"; } - + n = parent; sibling = find_Sibling(n); } - + return 0; } node_t * buddy_allocator::find_Sibling(node_t * n) { - + if(n->parent) { if(n->parent->l_child == n) return n->parent->r_child; @@ -104,84 +104,84 @@ node_t * buddy_allocator::find_Sibling(node_t * n) { node_t * buddy_allocator::find_Node(uint32_t address) { - + node_t *n = bt->get_Root(); log(logDEBUG2) << "Search node with matching address " << hex << address << dec; - + //bt->print_Node(n); while(n != NULL && (n->usage != nodeAlloc || n->address != address)) { n = bt->search_Node(n, address); //bt->print_Node(n); } - + return n; } uint32_t buddy_allocator::alloc_Mem(uint_fast32_t _size) { - + if(error) return 0; - + uint_fast32_t size = fit_Order(_size); if(!size) { log(logINFO) << "Can't find matching order"; return 0; } - + node_t *n = find_Free(size); if(!n) { log(logINFO) << "Can't find matching node"; return 0; } //bt->print_Node(n); - + n = split_Till_Fit(n, size); //bt->print_Node(n); - + if(bt->alloc_Leaf(n)) { log(logWARNING) << "Allocation gone wrong"; return 0; } - + //bt->print_Tree(bt->get_Root()); - + return n->address; } node_t * buddy_allocator::split_Till_Fit(node_t *_n, uint_fast32_t size) { - + node_t *n = _n; - + while(n->size > size) { - + if(!bt->split_Node(n)) { n = n->l_child; } else { log(logWARNING) << "Splitting gone wrong"; } } - + return n; } node_t * buddy_allocator::find_Free(uint_fast32_t size) { - + node_t *n = bt->get_Root(); bt->init_Search(); - + log(logDEBUG2) << "Search node with size >= " << size; - + //bt->print_Node(n); while(n != NULL && (n->usage != nodeFree || n->size < size)) { n = bt->search_Node(n); //bt->print_Node(n); } - + return n; } uint_fast32_t buddy_allocator::fit_Order(uint_fast32_t _size) { - + log(logDEBUG2) << "Check if size smaller than max"; if(_size > (uint_fast32_t)(1 << max_order)) { log(logWARNING) << "Requested size (" << _size << ") too large (" << (1 << max_order) << ")"; @@ -191,28 +191,28 @@ uint_fast32_t buddy_allocator::fit_Order(uint_fast32_t _size) { log(logWARNING) << "Zero memory request"; return 0; } - + uint_fast32_t size = 1; - + while(size < _size) { size = size << 1; } - + if(size < (uint_fast32_t)(1 << min_order)) { size = 1 << min_order; } - + log(logDEBUG2) << "New Size: " << size; - + return size; - + } uint_fast32_t buddy_allocator::build_Tree(node_t *n) { - + if(n->size > (uint_fast32_t)(1 << max_order)) { log(logDEBUG1) << "Has to be split"; - + if(!bt->split_Node(n)) { log(logDEBUG2) << "success - do it recursivly"; build_Tree(n->l_child); @@ -220,47 +220,47 @@ uint_fast32_t buddy_allocator::build_Tree(node_t *n) { } else log(logWARNING) << "something went wrong"; } - + return 0; } uint_fast32_t buddy_allocator::check_Tree(node_t *n) { - + log(logDEBUG2) << "Check if address wraparounds with size offset"; if(n->size + n->address < n->address) { log(logERROR) << "Size is too large for address"; return -EINVAL; } - + log(logDEBUG2) << "Check min and max order values"; if(max_order < min_order) { log(logERROR) << "Min_Order larger than Max_Order"; return -EINVAL; } - + log(logDEBUG2) << "Check min and max order values upper bounds"; if(min_order > 31 || max_order > 31) { log(logERROR) << "Orders too large for 32 bit space"; return -EINVAL; } - + log(logDEBUG2) << "Check min and max order values under bounds"; if(min_order == 0 || max_order == 0) { log(logERROR) << "Order is Zero"; return -EINVAL; } - + log(logDEBUG2) << "Check if at least one chunk can be built"; if(n->size < (uint_fast32_t)(1 << min_order)) { log(logERROR) << "Size too small for requested Min_Order"; return -EINVAL; } - + return 0; } uint32_t buddy_allocator::calc_Address(uint32_t a) { - + if((a & (ALIGNMENT-1)) != 0) { log(logDEBUG2) << hex << (a & ~(ALIGNMENT-1)) + ALIGNMENT << dec; return (a & ~(ALIGNMENT-1)) + ALIGNMENT; @@ -271,19 +271,19 @@ uint32_t buddy_allocator::calc_Address(uint32_t a) { } uint_fast32_t buddy_allocator::calc_Size(uint_fast32_t s, uint32_t diff) { - + log(logDEBUG2) << dec << "Old Size: " << s << " Diff: " << diff; - + uint_fast32_t order = 1; uint_fast32_t size = s - diff; - + while(order <= size) { order = order << 1; } - + if(size == 0 || order == 1) { log(logWARNING) << " No bytes left for Allocator"; } - + return order >> 1; } diff --git a/platform/vc709/src/buddy_allocator/buddy_allocator.hpp b/platform/vc709/src/buddy_allocator/buddy_allocator.hpp index 890ccd323a2270f49ebcd97b6c2b84993a0e77f9..e61a3d09f85ecf50560e5a2770f53381bb68f6a6 100644 --- a/platform/vc709/src/buddy_allocator/buddy_allocator.hpp +++ b/platform/vc709/src/buddy_allocator/buddy_allocator.hpp @@ -34,24 +34,24 @@ class buddy_allocator public: buddy_allocator(uint32_t, uint_fast32_t, uint_fast32_t, uint_fast32_t); ~buddy_allocator(); - + uint32_t alloc_Mem(uint_fast32_t); uint_fast32_t dealloc_Mem(uint32_t); - + void print_Tree(void); private: buddy_tree *bt; uint_fast32_t min_order; uint_fast32_t max_order; - + uint_fast32_t error; - + uint32_t calc_Address(uint32_t); uint_fast32_t calc_Size(uint_fast32_t, uint32_t); uint_fast32_t build_Tree(node_t *); uint_fast32_t check_Tree(node_t *); - + node_t * find_Free(uint_fast32_t); node_t * find_Node(uint32_t); node_t * find_Sibling(node_t *); diff --git a/platform/vc709/src/buddy_allocator/buddy_tree.cpp b/platform/vc709/src/buddy_allocator/buddy_tree.cpp index db5b058430ff488d9b6288c669d26562d34ae124..f2455f3b64cb1494d79ed900c3b67ca1dc3976c9 100644 --- a/platform/vc709/src/buddy_allocator/buddy_tree.cpp +++ b/platform/vc709/src/buddy_allocator/buddy_tree.cpp @@ -19,75 +19,75 @@ #include "buddy_tree.hpp" buddy_tree::buddy_tree(uint32_t _address, uint_fast32_t _size){ - + log(logDEBUG2) << "Set init values for root (size: " << _size << ")"; root = new node_t(_address,_size,NULL); - + search_last = NULL; search_direction = nodeLeft; nodes = leaves = 1; } buddy_tree::~buddy_tree() { - + log(logDEBUG2) << "Delete root node"; delete(root); } uint_fast32_t buddy_tree::split_Node(node_t *n) { - + log(logDEBUG2) << "Check if it has any childs"; if(n->l_child != NULL || n->r_child != NULL) { // redundant check, if node->usage is correctly used log(logERROR) << "Contains childs - stop"; return -EINVAL; } - + log(logDEBUG2) << "Check if it is really free"; if(n->usage != nodeFree) { log(logERROR) << "In use - stop"; return -EINVAL; } - + n->l_child = new node_t(n->address,n->size/2,n); n->r_child = new node_t(n->address+n->size/2,n->size/2,n); - + n->usage = nodeMiddle; - + nodes += 2; leaves++; - + log(logDEBUG1) << "Count nodes: " << nodes << " leaves: " << leaves; - + return 0; } uint_fast32_t buddy_tree::merge_Node(node_t *n) { - + log(logDEBUG2) << "Check if it has any childs"; if(n->l_child == NULL || n->r_child == NULL) { // redundant check, if node->usage is correctly used log(logERROR) << "Contains no childs - stop"; return -EINVAL; } - + log(logDEBUG2) << "Check if childs are free"; if(n->l_child->usage != nodeFree || n->r_child->usage != nodeFree) { log(logERROR) << "In use - stop"; return -EINVAL; } - + delete(n->l_child); delete(n->r_child); n->l_child = n->r_child = NULL; - + n->usage = nodeFree; - + nodes -= 2; leaves--; - + log(logDEBUG1) << "Count nodes: " << nodes << " leaves: " << leaves; - + return 0; } @@ -97,7 +97,7 @@ void buddy_tree::init_Search(void) { } node_t * buddy_tree::search_Node(node_t *n) { - + if(has_Childs(n) && search_direction == nodeLeft) { return n->l_child; } @@ -116,7 +116,7 @@ node_t * buddy_tree::search_Node(node_t *n) { } node_t * buddy_tree::search_Node(node_t *n, uint32_t address) { - + if(has_Childs(n) && address < n->r_child->address) { return n->l_child; } @@ -129,19 +129,19 @@ node_t * buddy_tree::search_Node(node_t *n, uint32_t address) { } void buddy_tree::print_Tree(node_t *n) { - + node_t *last = NULL; node_t *current = n; node_position_e direction = nodeLeft; - + uint_fast32_t depth = 0; - + log(logINFO) << "Count nodes: " << nodes << " leaves: " << leaves; print_Node(current); - + while(current != NULL) { log(logDEBUG3) << "Current: " << hex << current << " Last: " << last << dec << " Depth: " << depth; - + if(has_Childs(current) && direction == nodeLeft) { depth++; current = current->l_child; @@ -166,9 +166,9 @@ void buddy_tree::print_Tree(node_t *n) { } void buddy_tree::print_Node(node_t *n) { - + string s; - + switch(n->usage) { case nodeFree: s = " usage: nodeFree"; @@ -182,7 +182,7 @@ void buddy_tree::print_Node(node_t *n) { default: s = " no supported usage"; } - + if(n->usage != nodeMiddle) { log(logDEBUG) << "Address: " << hex << n->address << dec << " Size: " << n->size @@ -195,7 +195,7 @@ void buddy_tree::print_Node(node_t *n) { } node_position_e buddy_tree::node_Position(node_t *n) { - + if(n->parent == NULL) return nodeRoot; else if(n->parent->l_child == n) @@ -205,7 +205,7 @@ node_position_e buddy_tree::node_Position(node_t *n) { } bool buddy_tree::is_Root(node_t *n) { - + if(n->parent == NULL) return true; else @@ -213,7 +213,7 @@ bool buddy_tree::is_Root(node_t *n) { } bool buddy_tree::has_Childs(node_t *n) { - + if(n->l_child != NULL && n->r_child != NULL) return true; else @@ -221,7 +221,7 @@ bool buddy_tree::has_Childs(node_t *n) { } bool buddy_tree::is_Leaf(node_t *n) { - + if(n->l_child == NULL && n->r_child == NULL) return true; else @@ -229,47 +229,47 @@ bool buddy_tree::is_Leaf(node_t *n) { } uint_fast32_t buddy_tree::alloc_Leaf(node_t *n) { - + log(logDEBUG2) << "Check if it really is a leaf"; if(!is_Leaf(n)) { // redundant check, if node->usage is correctly used log(logERROR) << "Node is no leaf - stop"; return -EINVAL; } - + log(logDEBUG2) << "Check if is really free"; if(n->usage != nodeFree) { log(logERROR) << "In use - stop"; return -EINVAL; } - + n->usage = nodeAlloc; - + return 0; } uint_fast32_t buddy_tree::dealloc_Leaf(node_t *n) { - + log(logDEBUG2) << "Check if it really is a leaf"; if(!is_Leaf(n)) { // redundant check, if node->usage is correctly used log(logERROR) << "Node is no leaf - stop"; return -EINVAL; } - + log(logDEBUG2) << "Check if is really allocated"; if(n->usage != nodeAlloc) { log(logERROR) << "Not used - stop"; return -EINVAL; } - + n->usage = nodeFree; - + return 0; } node_t * buddy_tree::get_Root(void) { - + log(logDEBUG2) << "Return root for tree operations"; return root; } diff --git a/platform/vc709/src/buddy_allocator/buddy_tree.hpp b/platform/vc709/src/buddy_allocator/buddy_tree.hpp index 93a5f8993498978778b19e6afb9d57c159093c78..ba4d19ed384c2f1b32cb01e24bf1f79e0deeb546 100644 --- a/platform/vc709/src/buddy_allocator/buddy_tree.hpp +++ b/platform/vc709/src/buddy_allocator/buddy_tree.hpp @@ -31,24 +31,24 @@ using namespace std; //leafMiddle == node is neither leaf or allocated, must not use enum node_usage_e {nodeFree, nodeAlloc, nodeMiddle}; - + enum node_position_e {nodeRoot, nodeLeft, nodeRight}; typedef struct node { - + uint32_t address; uint_fast32_t size; - + node_usage_e usage; - + struct node *parent; struct node *l_child; struct node *r_child; - + node(uint32_t a, uint_fast32_t s, struct node *p) : address(a), size(s), usage(nodeFree), parent(p), l_child(NULL), r_child(NULL) {} node() : address(0), size(0), usage(nodeFree), parent(NULL), l_child(NULL), r_child(NULL) {} - + } node_t; class buddy_tree @@ -56,16 +56,16 @@ class buddy_tree public: buddy_tree(uint32_t, uint_fast32_t); ~buddy_tree(); - + uint_fast32_t split_Node(node_t *); uint_fast32_t merge_Node(node_t *); uint_fast32_t alloc_Leaf(node_t *); uint_fast32_t dealloc_Leaf(node_t *); - + void init_Search(void); node_t * search_Node(node_t *); node_t * search_Node(node_t *, uint32_t); - + node_t * get_Root(void); void print_Tree(node_t *); void print_Node(node_t *); @@ -74,10 +74,10 @@ class buddy_tree node_t *root; uint_fast32_t nodes; uint_fast32_t leaves; - + node_t *search_last; node_position_e search_direction; - + node_position_e node_Position(node_t *); bool is_Root(node_t *); bool is_Leaf(node_t *); diff --git a/platform/zynq/module/tests/stress-alloc.c b/platform/zynq/module/tests/stress-alloc.c index ec989521632d9bc85028c91ac3b8ed398e11c927..1bbed45d146b793c902d38f503a1ddc249660545 100644 --- a/platform/zynq/module/tests/stress-alloc.c +++ b/platform/zynq/module/tests/stress-alloc.c @@ -95,7 +95,7 @@ int main(int argc, char **argv) pthread_create(&threads[t], NULL, stress, (void *)runs); for (t = 0; t < thread_count; ++t) pthread_join(threads[t], NULL); - + while (i >= 0) close(fd[--i]); diff --git a/platform/zynq/module/tests/stress-ioctl.c b/platform/zynq/module/tests/stress-ioctl.c index 687ae749a493607e52a88f2bbf5672209bd392b6..80f957bb730184e0eb6b40d8e5f630b02922af9b 100644 --- a/platform/zynq/module/tests/stress-ioctl.c +++ b/platform/zynq/module/tests/stress-ioctl.c @@ -197,7 +197,7 @@ static int runtest(long const which) for (long t = 0; t < thrdcnt; ++t) pthread_join(threads[t], NULL); - + close(fd_ioctl); } diff --git a/platform/zynq/module/zynq_device.c b/platform/zynq/module/zynq_device.c index 8c04da3e246e7704a1ef93a452da2d8219fb39bd..4a2ffb812e79bacbf88d14638d8abe1183a8738f 100644 --- a/platform/zynq/module/zynq_device.c +++ b/platform/zynq/module/zynq_device.c @@ -192,7 +192,7 @@ static int init_sysfs_files(void) return retval; - + device_remove_file(zynq_dev.miscdev[2].this_device, &dev_attr_total_ev); err_total_ev: device_remove_file(zynq_dev.miscdev[2].this_device, &dev_attr_pending_ev); diff --git a/src/main/scala/tapasco/dse/Alternatives.scala b/src/main/scala/tapasco/dse/Alternatives.scala index 0937704fb3d2b0a37110cb0837fcdadd1b642db5..f7e5501ec88c529754b12ecffff24f136c287864 100644 --- a/src/main/scala/tapasco/dse/Alternatives.scala +++ b/src/main/scala/tapasco/dse/Alternatives.scala @@ -59,7 +59,7 @@ object Alternatives { * @return Set of alternative names for kernel on Target **/ def alternatives(kernel: String, target: Target)(implicit cfg: Configuration): Set[String] = idForName(kernel) map (namesForId(_)) getOrElse(Set()) - + /** Returns alternative kernels for given kernel. * @param kernel Kernel to find alternatives to. * @return Set of alternative Kernels. **/ diff --git a/src/test/scala/tapasco/base/ArchitectureTest.scala b/src/test/scala/tapasco/base/ArchitectureTest.scala index 492ae824cccd4f32f90ef3c1fb528a374cb65c49..e3607a614976dfe15e946cd63c055230c6621c86 100644 --- a/src/test/scala/tapasco/base/ArchitectureTest.scala +++ b/src/test/scala/tapasco/base/ArchitectureTest.scala @@ -36,7 +36,7 @@ class ArchitectureSpec extends FlatSpec with Matchers { "A correct Architecture file" should "be parsed to Right" in { assert(Architecture.from(jsonPath.resolve("correct-arch.json")).isRight) } - + "A correct Architecture file" should "be parsed correctly" in { val oc = Architecture.from(jsonPath.resolve("correct-arch.json")) lazy val c = oc.right.get @@ -46,7 +46,7 @@ class ArchitectureSpec extends FlatSpec with Matchers { c.valueArgTemplate should equal (jsonPath.resolve("valuearg.directives.template")) c.referenceArgTemplate should equal (jsonPath.resolve("referencearg.directives.template")) } - + "An Composition file with unknown entries" should "be parsed correctly" in { val oc = Architecture.from(jsonPath.resolve("unknown-arch.json")) lazy val c = oc.right.get diff --git a/src/test/scala/tapasco/base/BenchmarkTest.scala b/src/test/scala/tapasco/base/BenchmarkTest.scala index 59f74f0dbeb93a7dffd31b2ceebf4f3e5133fa7a..04b6ba4391c2623a309cf53552222b396c90a130 100644 --- a/src/test/scala/tapasco/base/BenchmarkTest.scala +++ b/src/test/scala/tapasco/base/BenchmarkTest.scala @@ -99,7 +99,7 @@ class BenchmarkSpec extends FlatSpec with Matchers with Checkers { "A correct Benchmark file" should "be parsed to Some(Benchmark)" in { assert(Benchmark.from(jsonPath.resolve("correct-benchmark.json")).isRight) } - + "A correct Benchmark file" should "be parsed correctly" in { val oc = Benchmark.from(jsonPath.resolve("correct-benchmark.json")) lazy val c = oc.right.get @@ -145,7 +145,7 @@ class BenchmarkSpec extends FlatSpec with Matchers with Checkers { ce.write should equal (21.68177044056579) ce.readWrite should equal (37.784625316971535) } - + "An invalid Benchmark file" should "not be parsed" in { val oc1 = Benchmark.from(jsonPath.resolve("invalid-benchmark.json")) assert(oc1.isLeft) diff --git a/src/test/scala/tapasco/base/ConfigurationTest.scala b/src/test/scala/tapasco/base/ConfigurationTest.scala index b82f518ebf9b15067c4c395909f4eed0432bf77f..9a42fa704c2f94db09db27f4213a6985e7a85f87 100644 --- a/src/test/scala/tapasco/base/ConfigurationTest.scala +++ b/src/test/scala/tapasco/base/ConfigurationTest.scala @@ -42,7 +42,7 @@ class ConfigurationSpec extends FlatSpec with Matchers { if (v.isLeft) { logger.error("{}, stacktrace: {}", v.left.get: Any, v.left.get.getStackTrace() mkString "\n") } assert(v.isRight) } - + "A correct Configuration file" should "be parsed correctly" in { val oc = Configuration.from(jsonPath.resolve("configTest/config.json")) lazy val c = oc.right.get @@ -79,7 +79,7 @@ class ConfigurationSpec extends FlatSpec with Matchers { case _ => assert(false, "expected ComposeJob at index 2 in jobs array") } } - + "An invalid Configuration file" should "not be parsed" in { assert(Configuration.from(jsonPath.resolve("invalid-config.json")).isLeft) } diff --git a/src/test/scala/tapasco/base/CoreTest.scala b/src/test/scala/tapasco/base/CoreTest.scala index bc4cac48374d86296d4be4e323ffe087eb4c6db2..d65872f888649ae994debb971f9220587c9f88ca 100644 --- a/src/test/scala/tapasco/base/CoreTest.scala +++ b/src/test/scala/tapasco/base/CoreTest.scala @@ -39,7 +39,7 @@ class CoreSpec extends FlatSpec with Matchers { "A correct Core file" should "be parsed to Right(Core)" in { assert(Core.from(jsonPath.resolve("correct-core.json")).isRight) } - + "A correct Core file" should "be parsed correctly" in { val oc = Core.from(jsonPath.resolve("correct-core.json")) lazy val c = oc.right.get @@ -52,7 +52,7 @@ class CoreSpec extends FlatSpec with Matchers { c.zipPath.toFile.exists should be (true) c.averageClockCycles should equal (Some(1234567890)) } - + "A Core file with unknown entries" should "be parsed correctly" in { val oc = Core.from(jsonPath.resolve("unknown-core.json")) lazy val c = oc.right.get diff --git a/src/test/scala/tapasco/base/KernelTest.scala b/src/test/scala/tapasco/base/KernelTest.scala index 5920ddaae10d6a320c36e041dae3543ea418b55a..99acbf9028384228b6b32c418520a8c70e3b48ef 100644 --- a/src/test/scala/tapasco/base/KernelTest.scala +++ b/src/test/scala/tapasco/base/KernelTest.scala @@ -37,7 +37,7 @@ class KernelSpec extends FlatSpec with Matchers { "A correct Kernel file" should "be parsed to Right(Kernel)" in { assert(Kernel.from(jsonPath.resolve("correct-kernel.json")).isRight) } - + "A correct Kernel file" should "be parsed correctly" in { val oc = Kernel.from(jsonPath.resolve("correct-kernel.json")) lazy val c = oc.right.get @@ -53,7 +53,7 @@ class KernelSpec extends FlatSpec with Matchers { c.args(0).passingConvention should equal (ByReference) c.otherDirectives should equal (Some(jsonPath.resolve("sudoku.dir"))) } - + "A Kernel file with unknown entries" should "be parsed correctly" in { val oc = Kernel.from(jsonPath.resolve("correct-kernel.json")) lazy val c = oc.right.get diff --git a/src/test/scala/tapasco/base/PlatformTest.scala b/src/test/scala/tapasco/base/PlatformTest.scala index a4d3c0027e4ec290f9f244562f123d9ad053baa2..809603f7035417e11133488d3860d96986c3a651 100644 --- a/src/test/scala/tapasco/base/PlatformTest.scala +++ b/src/test/scala/tapasco/base/PlatformTest.scala @@ -36,7 +36,7 @@ class PlatformSpec extends FlatSpec with Matchers { "A correct Platform file" should "be parsed to Right(Platform)" in { assert(Platform.from(jsonPath.resolve("correct-platform.json")).isRight) } - + "A correct Platform file" should "be parsed correctly" in { val oc = Platform.from(jsonPath.resolve("correct-platform.json")) lazy val c = oc.right.get @@ -49,7 +49,7 @@ class PlatformSpec extends FlatSpec with Matchers { c.targetUtilization should equal (55) c.supportedFrequencies should contain inOrderOnly (250, 200, 150, 100, 42) } - + "An Platform file with unknown entries" should "be parsed correctly" in { val oc = Platform.from(jsonPath.resolve("unknown-platform.json")) lazy val c = oc.right.get diff --git a/src/test/scala/tapasco/filemgmt/BasePathManagerTest.scala b/src/test/scala/tapasco/filemgmt/BasePathManagerTest.scala index dc8e78cbc9cc07d9b4e45d48f08b1c89cb37973b..fc92b5bafe2ceca06ca9a0b0d17bea8243a539fe 100644 --- a/src/test/scala/tapasco/filemgmt/BasePathManagerTest.scala +++ b/src/test/scala/tapasco/filemgmt/BasePathManagerTest.scala @@ -84,7 +84,7 @@ class BasePathManagerSpec extends FlatSpec with Matchers { } futures foreach { f => scala.concurrent.Await.ready(f, scala.concurrent.duration.Duration.Inf) } - + assert(0 until tests map { i => check(i) } reduce (_ && _)) } } diff --git a/src/test/scala/tapasco/parser/FeatureParsersSpec.scala b/src/test/scala/tapasco/parser/FeatureParsersSpec.scala index 539072d150191f9861ccc2dec405e6e2696ab5b8..a0c75ea7bca3182066abe8e40abb233afa04f5a9 100644 --- a/src/test/scala/tapasco/parser/FeatureParsersSpec.scala +++ b/src/test/scala/tapasco/parser/FeatureParsersSpec.scala @@ -14,7 +14,7 @@ class FeatureParsersSpec extends FlatSpec with Matchers with Checkers { check(forAllNoShrink(featureKeyValueGen) { f => checkParsed(P( featureKeyValue ~ End ).parse(f) ) }) - + "All valid features" should "be parsed by feature" in check(forAllNoShrink(featureGen) { f => diff --git a/src/test/scala/tapasco/reports/TimingReportTest.scala b/src/test/scala/tapasco/reports/TimingReportTest.scala index 08c9421c3d9f4d7ae4efdd440f3a0e491549187e..0a4523e2ec0176e58f909c036ed6c84290d97dd2 100644 --- a/src/test/scala/tapasco/reports/TimingReportTest.scala +++ b/src/test/scala/tapasco/reports/TimingReportTest.scala @@ -39,7 +39,7 @@ class TimingReportSpec extends FlatSpec with Matchers { "A correct TimingReport file" should "be parsed to Some(TimingReport)" in { TimingReport(reportPath.resolve("correct-timing.rpt")) should not be empty } - + "A correct TimingReport file" should "be parsed correctly" in { val oc = TimingReport(reportPath.resolve("correct-timing.rpt")) lazy val c = oc.get @@ -55,7 +55,7 @@ class TimingReportSpec extends FlatSpec with Matchers { c.minDelayPath.destination shouldBe "stereoCore_stereo_interRow_2/deg45_ifc_lvalHandler_curLine_rv_reg[80]/D" c.minDelayPath.slack shouldBe 0.026 } - + "An invalid TimingReport file" should "not be parsed" in { val oc1 = TimingReport(reportPath.resolve("invalid-timing1.rpt")) val oc2 = TimingReport(reportPath.resolve("invalid-timing2.rpt"))