diff options
author | Tom Rondeau <trondeau@vt.edu> | 2013-07-15 15:15:41 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2013-07-17 18:04:15 -0400 |
commit | 2a0b62dd7d73ad595d60fe2d2ede96befe9c65e6 (patch) | |
tree | bad9364f4ac617d35e6669aacc4e0153c81fe722 /gnuradio-runtime/lib/hier_block2_detail.cc | |
parent | b2cfe7d00a5c89670d16fd491af51ea3d8a2373e (diff) |
runtime: added support for setting thread affinity to all blocks under a hier_block2.
grc: added field to all blocks to set the thread affinity to a list of processors.
docs: updated docs on thread affinity for new features.
Conflicts:
grc/base/Block.py
grc/python/flow_graph.tmpl
Diffstat (limited to 'gnuradio-runtime/lib/hier_block2_detail.cc')
-rw-r--r-- | gnuradio-runtime/lib/hier_block2_detail.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gnuradio-runtime/lib/hier_block2_detail.cc b/gnuradio-runtime/lib/hier_block2_detail.cc index 83207d978c..85b848101c 100644 --- a/gnuradio-runtime/lib/hier_block2_detail.cc +++ b/gnuradio-runtime/lib/hier_block2_detail.cc @@ -654,4 +654,29 @@ namespace gr { d_owner->unlock(); } + void + hier_block2_detail::set_processor_affinity(const std::vector<int> &mask) + { + basic_block_vector_t tmp = d_fg->calc_used_blocks(); + for(basic_block_viter_t p = tmp.begin(); p != tmp.end(); p++) { + (*p)->set_processor_affinity(mask); + } + } + + void + hier_block2_detail::unset_processor_affinity() + { + basic_block_vector_t tmp = d_fg->calc_used_blocks(); + for(basic_block_viter_t p = tmp.begin(); p != tmp.end(); p++) { + (*p)->unset_processor_affinity(); + } + } + + std::vector<int> + hier_block2_detail::processor_affinity() + { + basic_block_vector_t tmp = d_fg->calc_used_blocks(); + return tmp[0]->processor_affinity(); + } + } /* namespace gr */ |