diff options
| author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-11-06 17:05:19 -0500 |
|---|---|---|
| committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-11-06 17:08:07 -0500 |
| commit | c2aafbec3388ef474744bb86f1fc8fb0ea7c653f (patch) | |
| tree | 9d3ec96af19260ac231552a844ad066084189a49 | |
| parent | 68e340beb1de0d241bb2be5769820c1965084dff (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.c | 9 |
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 | } |
| 405 | EXPORT_SYMBOL(is_nvidia_func); | ||
| 405 | 406 | ||
| 406 | int nv_schedule_work(struct work_struct *work) | 407 | int 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 | } |
| 417 | EXPORT_SYMBOL(nv_schedule_work); | ||
| 416 | 418 | ||
| 417 | void nv_tasklet_schedule(struct tasklet_struct *t) | 419 | void 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 | } |
| 432 | EXPORT_SYMBOL(nv_tasklet_schedule); | ||
| 430 | 433 | ||
| 431 | void nv_tasklet_hi_schedule(struct tasklet_struct *t) | 434 | void 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 | } |
| 447 | EXPORT_SYMBOL(nv_tasklet_hi_schedule); | ||
| 444 | 448 | ||
| 445 | void nv_tasklet_hi_schedule_first(struct tasklet_struct *t) | 449 | void 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 | } |
| 464 | EXPORT_SYMBOL(nv_tasklet_hi_schedule_first); | ||
| 460 | 465 | ||
| 461 | u32 get_tasklet_nv_device_num(const struct tasklet_struct *t) | 466 | u32 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 | ®->workq_callback); | 662 | ®->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 */ |
