参照元†
返り値†
int ion_heap_init_deferred_free(struct ion_heap *heap)
{
struct sched_param param = { .sched_priority = 0 };
INIT_LIST_HEAD(&heap->free_list);
init_waitqueue_head(&heap->waitqueue);
heap->task = kthread_run(ion_heap_deferred_free, heap,
"%s", heap->name);
- ION バッファの遅延削除を行うカーネルスレッドを開始する。
スレッド名はヒープ名と等しい。
if (IS_ERR(heap->task)) {
pr_err("%s: creating thread for deferred free failed\n",
__func__);
return PTR_ERR_OR_ZERO(heap->task);
}
sched_setscheduler(heap->task, SCHED_IDLE, ¶m);
return 0;
- カーネルスレッドの優先度を IDLE まで下げる。スレッドは極めて低い優先度で実行される。
}
コメント†