1. 程式人生 > >Linux kernel 中的work queue原理

Linux kernel 中的work queue原理

本帖最後由 Dolphin 於 2010-7-16 10:18 編輯

create_workqueue.jpg

相對於create_singlethread_workqueue, create_workqueue同樣會分配一個wq的工作佇列,但是不同之處在於,對於多CPU系統而言,對每一個CPU,都會為之建立一個per-CPU的cwq結構,對應每一個cwq,都會生成一個新的worker_thread程序。但是當用queue_work向cwq上提交work節點時,是哪個CPU呼叫該函式,那麼便向該CPU對應的cwq上的worklist上增加work節點。