diff options
Diffstat (limited to 'litmus/Kconfig')
-rw-r--r-- | litmus/Kconfig | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/litmus/Kconfig b/litmus/Kconfig index 94b48e199577..158261e0ed08 100644 --- a/litmus/Kconfig +++ b/litmus/Kconfig | |||
@@ -215,4 +215,106 @@ config PREEMPT_STATE_TRACE | |||
215 | 215 | ||
216 | endmenu | 216 | endmenu |
217 | 217 | ||
218 | menu "Interrupt Handling" | ||
219 | |||
220 | config LITMUS_THREAD_ALL_SOFTIRQ | ||
221 | bool "Process all softirqs in ksoftirqd threads." | ||
222 | default n | ||
223 | help | ||
224 | (Experimental) Thread all softirqs to ksoftirqd | ||
225 | daemon threads, similar to PREEMPT_RT. I/O | ||
226 | throughput will will drop with this enabled, but | ||
227 | latencies due to interrupts will be reduced. | ||
228 | |||
229 | WARNING: Timer responsiveness will likely be | ||
230 | decreased as timer callbacks are also threaded. | ||
231 | This is unlike PREEEMPT_RTs hardirqs. | ||
232 | |||
233 | If unsure, say No. | ||
234 | |||
235 | |||
236 | choice | ||
237 | prompt "Scheduling of interrupt bottom-halves in Litmus." | ||
238 | default LITMUS_SOFTIRQD_NONE | ||
239 | depends on LITMUS_LOCKING && !LITMUS_THREAD_ALL_SOFTIRQ | ||
240 | help | ||
241 | Schedule tasklets with known priorities in Litmus. | ||
242 | |||
243 | config LITMUS_SOFTIRQD_NONE | ||
244 | bool "No tasklet scheduling in Litmus." | ||
245 | help | ||
246 | Don't schedule tasklets in Litmus. Default. | ||
247 | |||
248 | config LITMUS_SOFTIRQD | ||
249 | bool "Spawn klitirqd interrupt handling threads." | ||
250 | help | ||
251 | Create klitirqd interrupt handling threads. Work must be | ||
252 | specifically dispatched to these workers. (Softirqs for | ||
253 | Litmus tasks are not magically redirected to klitirqd.) | ||
254 | |||
255 | G-EDF/RM, C-EDF/RM ONLY for now! | ||
256 | |||
257 | |||
258 | config LITMUS_PAI_SOFTIRQD | ||
259 | bool "Defer tasklets to context switch points." | ||
260 | help | ||
261 | Only execute scheduled tasklet bottom halves at | ||
262 | scheduling points. Trades context switch overhead | ||
263 | at the cost of non-preemptive durations of bottom half | ||
264 | processing. | ||
265 | |||
266 | G-EDF/RM, C-EDF/RM ONLY for now! | ||
267 | |||
268 | endchoice | ||
269 | |||
270 | |||
271 | config NR_LITMUS_SOFTIRQD | ||
272 | int "Number of klitirqd." | ||
273 | depends on LITMUS_SOFTIRQD | ||
274 | range 1 4096 | ||
275 | default "1" | ||
276 | help | ||
277 | Should be <= to the number of CPUs in your system. | ||
278 | |||
279 | config LITMUS_NVIDIA | ||
280 | bool "Litmus handling of NVIDIA interrupts." | ||
281 | depends on LITMUS_SOFTIRQD || LITMUS_PAI_SOFTIRQD | ||
282 | default n | ||
283 | help | ||
284 | Direct tasklets from NVIDIA devices to Litmus's klitirqd. | ||
285 | |||
286 | If unsure, say No. | ||
287 | |||
288 | config NV_DEVICE_NUM | ||
289 | int "Number of NVIDIA GPUs." | ||
290 | depends on LITMUS_SOFTIRQD || LITMUS_PAI_SOFTIRQD | ||
291 | range 1 4096 | ||
292 | default "1" | ||
293 | help | ||
294 | Should be (<= to the number of CPUs) and | ||
295 | (<= to the number of GPUs) in your system. | ||
296 | |||
297 | choice | ||
298 | prompt "CUDA/Driver Version Support" | ||
299 | default CUDA_4_0 | ||
300 | depends on LITMUS_NVIDIA | ||
301 | help | ||
302 | Select the version of CUDA/driver to support. | ||
303 | |||
304 | config CUDA_4_0 | ||
305 | bool "CUDA 4.0" | ||
306 | depends on LITMUS_NVIDIA | ||
307 | help | ||
308 | Support CUDA 4.0 RC2 (dev. driver version: x86_64-270.40) | ||
309 | |||
310 | config CUDA_3_2 | ||
311 | bool "CUDA 3.2" | ||
312 | depends on LITMUS_NVIDIA | ||
313 | help | ||
314 | Support CUDA 3.2 (dev. driver version: x86_64-260.24) | ||
315 | |||
316 | endchoice | ||
317 | |||
318 | endmenu | ||
319 | |||
218 | endmenu | 320 | endmenu |