summaryrefslogtreecommitdiffstats
path: root/host/docs/general.rst
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-03-10 14:08:51 -0800
committerJosh Blum <josh@joshknows.com>2011-03-10 14:08:51 -0800
commit552caa6980c3fce4baee9d6b899e07482e8ce556 (patch)
tree39bdcb967df43e4ae5b20deca44fd730e9cbafd2 /host/docs/general.rst
parent11e9d7e8fcb649d978a4a5cad8e2b0aa77e4a508 (diff)
parent7d140b0237b3fa4e07b364e912887f68c02839cb (diff)
downloaduhd-552caa6980c3fce4baee9d6b899e07482e8ce556.tar.gz
uhd-552caa6980c3fce4baee9d6b899e07482e8ce556.tar.bz2
uhd-552caa6980c3fce4baee9d6b899e07482e8ce556.zip
Merge branch 'master' into next
Conflicts: host/lib/usrp/usrp2/mboard_impl.cpp
Diffstat (limited to 'host/docs/general.rst')
-rw-r--r--host/docs/general.rst28
1 files changed, 28 insertions, 0 deletions
diff --git a/host/docs/general.rst b/host/docs/general.rst
index 50ef24d6c..2894fbf88 100644
--- a/host/docs/general.rst
+++ b/host/docs/general.rst
@@ -9,6 +9,25 @@ Misc notes
------------------------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Thread safety notes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+For the most part, UHD is thread-safe.
+Please observe the following limitations:
+
+**Fast-path thread requirements:**
+It is safe to call send() and recv() simultaneously. However,
+it is not safe to call recv() simultaneously from different thread contexts.
+The same rule applies for recv(), send(), and recv_async_msg().
+One thread context per fast-path device method at a time.
+
+**Slow-path thread requirements:**
+It is safe to change multiple settings simultaneously. However,
+this could leave the settings for a device in an uncertain state.
+The is because changing one setting could have an impact on how a call affects other settings.
+Example: setting the channel mapping affects how the antennas are set.
+It is recommended to use at most one thread context for manipulating device settings.
+
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Thread priority scheduling
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -26,3 +45,12 @@ Add the following line to */etc/security/limits.conf*:
Replace <my_group> with a group to which your user belongs.
Settings will not take effect until the user has logged in and out.
+
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Support for dynamically loadable modules
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+For a module to be loaded at runtime, it must be:
+
+* found in the UHD_MODULE_PATH environment variable,
+* installed into the <prefix>/share/uhd/modules directory,
+* or installed into /usr/share/uhd/modules directory (unix only).