*参照元 [#p389dfca]
#backlinks

*説明 [#c03fa8d9]
-パス: [[linux-4.4.1/drivers/staging/android/ion/ion_heap.c]]

-FIXME: これは何?
--説明


**引数 [#g3844efe]
-struct ion_heap *heap
--
--[[linux-4.4.1/ion_heap]]


**返り値 [#g4edf6d0]
-int
--


**参考 [#g40621bb]


*実装 [#u927cbb7]
 int ion_heap_init_deferred_free(struct ion_heap *heap)
 {
 	struct sched_param param = { .sched_priority = 0 };
 
-
--[[linux-4.4.1/sched_param]]

 	INIT_LIST_HEAD(&heap->free_list);
 	init_waitqueue_head(&heap->waitqueue);
 	heap->task = kthread_run(ion_heap_deferred_free, heap,
 				 "%s", heap->name);
-
-ION バッファの遅延削除を行うカーネルスレッドを開始する。
スレッド名はヒープ名と等しい。
--[[linux-4.4.1/INIT_LIST_HEAD()]]
--[[linux-4.4.1/init_waitqueue_head()]]
--[[linux-4.4.1/kthread_run()]]
--[[linux-4.4.1/ion_heap_deferred_free()]]

 	if (IS_ERR(heap->task)) {
 		pr_err("%s: creating thread for deferred free failed\n",
 		       __func__);
 		return PTR_ERR_OR_ZERO(heap->task);
 	}
-
-カーネルスレッド作成に失敗したらエラー。
--[[linux-4.4.1/IS_ERR()]]
--[[linux-4.4.1/pr_err()]]
--[[linux-4.4.1/PTR_ERR_OR_ZERO()]]

 	sched_setscheduler(heap->task, SCHED_IDLE, &param);
 	return 0;
-
-カーネルスレッドの優先度を IDLE まで下げる。スレッドは極めて低い優先度で実行される。
--[[linux-4.4.1/sched_setscheduler()]]

 }


*コメント [#k0f8e9f8]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS