INIT WORK的暫時理解

2021-05-25 11:05:51 字數 730 閱讀 4164

/**

* _scsih_fw_event_add - insert and queue up fw_event

* @ioc: per adapter object

* @fw_event: object describing the event

* context: this function will acquire ioc->fw_event_lock.

** this adds the firmware event object into link list, then queues it up to

* be processed from user context.

** return nothing.

*/static void

_scsih_fw_event_add(struct mpt2sas_adapter *ioc, struct fw_event_work *fw_event)

這裡寫下對這個函式的理解

首先:1。init_list_head(&fw_event->list)

初始化firmware事件鍊錶

2。list_add_tail()

把這個firmware事件新增到firmware時間鍊錶尾巴上

3。init_work

給該firmware事件初始化工作函式

4。queue_work

把該firmware工作排在firmware事件執行緒佇列中

對INIT WORK的理解

以前核心裡對這個函式是這樣定義的 define init work work,func,data 可以理解為init work會在你定義的 work工作佇列裡面增加乙個工作任務,該任務就是 func。func這個任務會需要一些資料作為引數,這個引數就是通過 data傳遞的。而現在看驅動的時候你會發現...

對INIT WORK的理解

以前核心裡對這個函式是這樣定義的 define init work work,func,data 可以理解為init work會在你定義的 work工作佇列裡面增加乙個工作任務,該任務就是 func。func這個任務會需要一些資料作為引數,這個引數就是通過 data傳遞的。而現在看驅動的時候你會發現...

對INIT WORK的理解

以前核心裡對這個函式是這樣定義的 define init work work,func,data 可以理解為init work會在你定義的 work工作佇列裡面增加乙個工作任務,該任務就是 func。func這個任務會需要一些資料作為引數,這個引數就是通過 data傳遞的。而現在看驅動的時候你會發現...