aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2013-11-06 17:05:19 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2013-11-06 17:08:07 -0500
commitc2aafbec3388ef474744bb86f1fc8fb0ea7c653f (patch)
tree9d3ec96af19260ac231552a844ad066084189a49
parent68e340beb1de0d241bb2be5769820c1965084dff (diff)
Export symbols for nv tasklet/workqueue scheduling
Export symbols for the following functions so that they may be called from modules: * is_nvidia_func * nv_schedule_work * nv_tasklet_schedule * nv_tasklet_hi_schedule * nv_tasklet_hi_schedule_first
-rw-r--r--litmus/nvidia_info.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/litmus/nvidia_info.c b/litmus/nvidia_info.c
index 15746ba34d84..35264cf457f2 100644
--- a/litmus/nvidia_info.c
+++ b/litmus/nvidia_info.c
@@ -402,6 +402,7 @@ int is_nvidia_func(void* func_addr)
402 402
403 return(ret); 403 return(ret);
404} 404}
405EXPORT_SYMBOL(is_nvidia_func);
405 406
406int nv_schedule_work(struct work_struct *work) 407int nv_schedule_work(struct work_struct *work)
407{ 408{
@@ -413,6 +414,7 @@ int nv_schedule_work(struct work_struct *work)
413 /* default to linux handler */ 414 /* default to linux handler */
414 return queue_work(system_wq, work); 415 return queue_work(system_wq, work);
415} 416}
417EXPORT_SYMBOL(nv_schedule_work);
416 418
417void nv_tasklet_schedule(struct tasklet_struct *t) 419void nv_tasklet_schedule(struct tasklet_struct *t)
418{ 420{
@@ -427,6 +429,7 @@ void nv_tasklet_schedule(struct tasklet_struct *t)
427 /* default to linux handler */ 429 /* default to linux handler */
428 ___tasklet_schedule(t); 430 ___tasklet_schedule(t);
429} 431}
432EXPORT_SYMBOL(nv_tasklet_schedule);
430 433
431void nv_tasklet_hi_schedule(struct tasklet_struct *t) 434void nv_tasklet_hi_schedule(struct tasklet_struct *t)
432{ 435{
@@ -441,6 +444,7 @@ void nv_tasklet_hi_schedule(struct tasklet_struct *t)
441 /* default to linux handler */ 444 /* default to linux handler */
442 ___tasklet_hi_schedule(t); 445 ___tasklet_hi_schedule(t);
443} 446}
447EXPORT_SYMBOL(nv_tasklet_hi_schedule);
444 448
445void nv_tasklet_hi_schedule_first(struct tasklet_struct *t) 449void nv_tasklet_hi_schedule_first(struct tasklet_struct *t)
446{ 450{
@@ -457,6 +461,7 @@ void nv_tasklet_hi_schedule_first(struct tasklet_struct *t)
457 /* default to linux handler */ 461 /* default to linux handler */
458 ___tasklet_hi_schedule_first(t); 462 ___tasklet_hi_schedule_first(t);
459} 463}
464EXPORT_SYMBOL(nv_tasklet_hi_schedule_first);
460 465
461u32 get_tasklet_nv_device_num(const struct tasklet_struct *t) 466u32 get_tasklet_nv_device_num(const struct tasklet_struct *t)
462{ 467{
@@ -656,7 +661,7 @@ static int create_threads(nv_device_registry_t* reg, int device)
656 status = launch_klmirqd_thread(name, default_cpu, 661 status = launch_klmirqd_thread(name, default_cpu,
657 &reg->workq_callback); 662 &reg->workq_callback);
658 if(status != 0) { 663 if(status != 0) {
659 TRACE("Failed to create nvklmworkqd thread for GPU %d\n", i); 664 TRACE("Failed to create nvklmworkqd thread for GPU %d\n", device);
660 --ret; 665 --ret;
661 } 666 }
662#endif /* end LITMUS_NVIDIA_WORKQ_ON_DEDICATED */ 667#endif /* end LITMUS_NVIDIA_WORKQ_ON_DEDICATED */
@@ -1094,7 +1099,7 @@ long enable_gpu_owner(struct task_struct *t)
1094 success = gpu_klmirqd_increase_priority( 1099 success = gpu_klmirqd_increase_priority(
1095 reg->workq_thread, effective_priority(t)); 1100 reg->workq_thread, effective_priority(t));
1096 if (success != 1) 1101 if (success != 1)
1097 reval = success; 1102 retval = success;
1098#endif /* end LITMUS_NVIDIA_WORKQ_ON_DEDICATED */ 1103#endif /* end LITMUS_NVIDIA_WORKQ_ON_DEDICATED */
1099 } 1104 }
1100#endif /* end LITMUS_SOFTIRQD */ 1105#endif /* end LITMUS_SOFTIRQD */