linux-2.6.33/queue_work_on()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#qbaff3d2]
#backlinks
*説明 [#t86c3f3a]
-パス: [[linux-2.6.33/kernel/workqueue.c]]
-仕事を実行する CPU を指定して、ワークキューに仕事を追加...
**引数 [#pf295645]
-int cpu
--仕事を実行する CPU
-struct workqueue_struct *wq
--仕事を追加したいワークキュー
--[[linux-2.6.33/workqueue_struct]]
-struct work_struct *work
--実行する仕事。
--[[linux-2.6.33/work_struct]]
**返り値 [#c2e6d3b9]
-int
--仕事をキューに追加した場合は 1、
キューに追加しなかった場合は 0(既にキューに追加されてい...
**参考 [#u58dce9c]
*実装 [#p77e2477]
/**
* queue_work_on - queue work on specific cpu
* @cpu: CPU number to execute work on
* @wq: workqueue to use
* @work: work to queue
*
* Returns 0 if @work was already on a queue, non-zero o...
*
* We queue the work to a specific CPU, the caller must ...
* can't go away.
*/
int
queue_work_on(int cpu, struct workqueue_struct *wq, stru...
{
int ret = 0;
if (!test_and_set_bit(WORK_STRUCT_PENDING, work_data_bi...
-
--[[linux-2.6.33/WORK_STRUCT_PENDING]]
-
--[[linux-2.6.33/work_data_bits()]]
-
--[[linux-2.6.33/test_and_set_bit()]]
BUG_ON(!list_empty(&work->entry));
-
--[[linux-2.6.33/BUG_ON()]]
-
--[[linux-2.6.33/list_empty()]]
__queue_work(wq_per_cpu(wq, cpu), work);
ret = 1;
-
--[[linux-2.6.33/wq_per_cpu()]]
-
--[[linux-2.6.33/__queue_work()]]
}
return ret;
}
EXPORT_SYMBOL_GPL(queue_work_on);
-GPL のモジュールにのみシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL_GPL()]]
*コメント [#r6bb2bac]
終了行:
*参照元 [#qbaff3d2]
#backlinks
*説明 [#t86c3f3a]
-パス: [[linux-2.6.33/kernel/workqueue.c]]
-仕事を実行する CPU を指定して、ワークキューに仕事を追加...
**引数 [#pf295645]
-int cpu
--仕事を実行する CPU
-struct workqueue_struct *wq
--仕事を追加したいワークキュー
--[[linux-2.6.33/workqueue_struct]]
-struct work_struct *work
--実行する仕事。
--[[linux-2.6.33/work_struct]]
**返り値 [#c2e6d3b9]
-int
--仕事をキューに追加した場合は 1、
キューに追加しなかった場合は 0(既にキューに追加されてい...
**参考 [#u58dce9c]
*実装 [#p77e2477]
/**
* queue_work_on - queue work on specific cpu
* @cpu: CPU number to execute work on
* @wq: workqueue to use
* @work: work to queue
*
* Returns 0 if @work was already on a queue, non-zero o...
*
* We queue the work to a specific CPU, the caller must ...
* can't go away.
*/
int
queue_work_on(int cpu, struct workqueue_struct *wq, stru...
{
int ret = 0;
if (!test_and_set_bit(WORK_STRUCT_PENDING, work_data_bi...
-
--[[linux-2.6.33/WORK_STRUCT_PENDING]]
-
--[[linux-2.6.33/work_data_bits()]]
-
--[[linux-2.6.33/test_and_set_bit()]]
BUG_ON(!list_empty(&work->entry));
-
--[[linux-2.6.33/BUG_ON()]]
-
--[[linux-2.6.33/list_empty()]]
__queue_work(wq_per_cpu(wq, cpu), work);
ret = 1;
-
--[[linux-2.6.33/wq_per_cpu()]]
-
--[[linux-2.6.33/__queue_work()]]
}
return ret;
}
EXPORT_SYMBOL_GPL(queue_work_on);
-GPL のモジュールにのみシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL_GPL()]]
*コメント [#r6bb2bac]
ページ名: