diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-11-05 23:14:34 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-11-05 23:14:34 +0000 |
commit | 36fb3a89c18856623e1a6f99a90088593c44ac82 (patch) | |
tree | d0b2915aefac1696141029912dcfe0b8d6581a75 /nuttx | |
parent | 7d5e90d121078be23986be35252a4612d2f39f68 (diff) | |
download | px4-nuttx-36fb3a89c18856623e1a6f99a90088593c44ac82.tar.gz px4-nuttx-36fb3a89c18856623e1a6f99a90088593c44ac82.tar.bz2 px4-nuttx-36fb3a89c18856623e1a6f99a90088593c44ac82.zip |
Document workqueue configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2231 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/Documentation/NuttxPortingGuide.html | 32 | ||||
-rw-r--r-- | nuttx/configs/README.txt | 18 | ||||
-rwxr-xr-x | nuttx/sched/work_internal.h | 4 |
3 files changed, 52 insertions, 2 deletions
diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html index dec31beea..c3093d8b7 100644 --- a/nuttx/Documentation/NuttxPortingGuide.html +++ b/nuttx/Documentation/NuttxPortingGuide.html @@ -12,7 +12,7 @@ <h1><big><font color="#3c34ec"> <i>NuttX RTOS Porting Guide</i> </font></big></h1> - <p>Last Updated: September 15, 2009</p> + <p>Last Updated: November 5, 2009</p> </td> </tr> </table> @@ -2124,12 +2124,40 @@ extern void up_ledoff(int led); <code>CONFIG_SDCLONE_DISABLE</code>: Disable cloning of all socket desciptors by task_create() when a new task is started. If set, all sockets will appear to be closed in the new task. - </li>: + </li> <li> <code>CONFIG_NXFLAT</code>: Enable support for the NXFLAT binary format. This format will support execution of NuttX binaries located in a ROMFS filesystem (see <code>examples/nxflat</code>). </li> + <li> + <code>CONFIG_SCHED_WORKQUEUE</code>: Create a dedicated "worker" thread to + handle delayed processing from interrupt handlers. This feature + is required for some drivers but, if there are not complaints, + can be safely disabled. The worker thread also performs + garbage collection -- completing any delayed memory deallocations + from interrupt handlers. If the worker thread is disabled, + then that clean will be performed by the IDLE thread instead + (which runs at the lowest of priority and may not be appropriate + if memory reclamation is of high priority). If CONFIG_SCHED_WORKQUEUE + is enabled, then the following options can also be used: + </li> + <li> + <code>CONFIG_SCHED_WORKPRIORITY</code>: The execution priority of the worker + thread. Default: 50 + </li> + <li> + <code>CONFIG_SCHED_WORKPERIOD</code>: How often the worker thread checks for + work. Default: 50 MS. + </li> + <li> + <code>CONFIG_SCHED_WORKSTACKSIZE</code>: The stack size allocated for the worker + thread. Default: CONFIG_IDLETHREAD_STACKSIZE. + </li> + <li> + <code>CONFIG_SIG_SIGWORK</code>: The signal number that will be used to wake-up + the worker thread. Default: 4 + </li> </ul> <p> diff --git a/nuttx/configs/README.txt b/nuttx/configs/README.txt index 80cd358c5..eb1a2878e 100644 --- a/nuttx/configs/README.txt +++ b/nuttx/configs/README.txt @@ -243,6 +243,24 @@ defconfig -- This is a configuration file similar to the Linux CONFIG_NXFLAT. Enable support for the NXFLAT binary format. This format will support execution of NuttX binaries located in a ROMFS filesystem (see examples/nxflat). + CONFIG_SCHED_WORKQUEUE. Create a dedicated "worker" thread to + handle delayed processing from interrupt handlers. This feature + is required for some drivers but, if there are not complaints, + can be safely disabled. The worker thread also performs + garbage collection -- completing any delayed memory deallocations + from interrupt handlers. If the worker thread is disabled, + then that clean will be performed by the IDLE thread instead + (which runs at the lowest of priority and may not be appropriate + if memory reclamation is of high priority). If CONFIG_SCHED_WORKQUEUE + is enabled, then the following options can also be used: + CONFIG_SCHED_WORKPRIORITY - The execution priority of the worker + thread. Default: 50 + CONFIG_SCHED_WORKPERIOD - How often the worker thread checks for + work. Default: 50 MS. + CONFIG_SCHED_WORKSTACKSIZE - The stack size allocated for the worker + thread. Default: CONFIG_IDLETHREAD_STACKSIZE. + CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up + the worker thread. Default: 4 The following can be used to disable categories of APIs supported by the OS. If the compiler supports weak functions, then it diff --git a/nuttx/sched/work_internal.h b/nuttx/sched/work_internal.h index 93ad57271..90f9e4ba1 100755 --- a/nuttx/sched/work_internal.h +++ b/nuttx/sched/work_internal.h @@ -64,6 +64,10 @@ # define CONFIG_SCHED_WORKSTACKSIZE CONFIG_IDLETHREAD_STACKSIZE #endif +#ifdef CONFIG_DISABLE_SIGNALS +# warning "Worker thread support requires signals" +#endif + /**************************************************************************** * Public Types ****************************************************************************/ |