summaryrefslogtreecommitdiff
path: root/gr-blocks/python
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-07-15 15:15:41 -0400
committerTom Rondeau <tom@trondeau.com>2013-07-17 18:04:15 -0400
commit2a0b62dd7d73ad595d60fe2d2ede96befe9c65e6 (patch)
treebad9364f4ac617d35e6669aacc4e0153c81fe722 /gr-blocks/python
parentb2cfe7d00a5c89670d16fd491af51ea3d8a2373e (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 'gr-blocks/python')
-rwxr-xr-xgr-blocks/python/blocks/qa_hier_block2.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/gr-blocks/python/blocks/qa_hier_block2.py b/gr-blocks/python/blocks/qa_hier_block2.py
index 51f420e8eb..5a351f2b37 100755
--- a/gr-blocks/python/blocks/qa_hier_block2.py
+++ b/gr-blocks/python/blocks/qa_hier_block2.py
@@ -393,5 +393,38 @@ class test_hier_block2(gr_unittest.TestCase):
self.assertEquals(dst.data(), (3.0,))
+ def test_033a_set_affinity(self):
+ expected = (1.0, 2.0, 3.0, 4.0)
+ hblock = gr.top_block("test_block")
+ src = blocks.vector_source_f(expected, False)
+ snk = blocks.vector_sink_f()
+ hblock.connect(src, snk)
+ hblock.set_processor_affinity([0,])
+ hblock.run()
+ actual = snk.data()
+ self.assertEquals(expected, actual)
+
+ def test_033b_unset_affinity(self):
+ expected = (1.0, 2.0, 3.0, 4.0)
+ hblock = gr.top_block("test_block")
+ src = blocks.vector_source_f(expected, False)
+ snk = blocks.vector_sink_f()
+ hblock.connect(src, snk)
+ hblock.set_processor_affinity([0,])
+ hblock.unset_processor_affinity()
+ hblock.run()
+ actual = snk.data()
+ self.assertEquals(expected, actual)
+
+ def test_033c_get_affinity(self):
+ expected = (1.0, 2.0, 3.0, 4.0)
+ hblock = gr.top_block("test_block")
+ src = blocks.vector_source_f(expected, False)
+ snk = blocks.vector_sink_f()
+ hblock.connect(src, snk)
+ hblock.set_processor_affinity([0,])
+ procs = hblock.processor_affinity()
+ self.assertEquals((0,), procs)
+
if __name__ == "__main__":
gr_unittest.run(test_hier_block2, "test_hier_block2.xml")