डिफ़ॉल्ट रूप से कार्य फ़ंक्शन को पैरामीटर के रूप में काम के साथ बुलाया जाता है। धागे के अंदर संरचना के डेटा तत्व आसानी से प्राप्त किया जा सकता है। अधिक डेटा तक पहुंच प्राप्त करने के लिए, एक ग्नूरू, कार्य संरचना को कार्यान्वयन विशिष्ट संरचना के अंदर रखा जा सकता है और थ्रेड के अंदर मैक्रो के कंटेनर का उपयोग करके सभी डेटा तक पहुंचा जा सकता है।
के बारे में workqueue
worqueue नीचे आधा mechanishm, जहां काम का एक हिस्सा एक बीच में आता है सक्षम पर preemtion के साथ बाद में निष्पादित करने के लिए एक कर्नेल धागा को दिया जाता है व्यवधान से निपटने कर रहे हैं एक सरल विवरण। एक percpu थ्रेड इवेंट/n कर्नेल द्वारा बनाया गया है, थ्रेड को ड्राइवर कोड द्वारा भी बनाया जा सकता है। संरचना का उपयोग करने के लिए संरचना का एक महत्वपूर्ण पैरामीटर नाम फ़ील्ड है। इसमें एक प्रति सीपीयू संरचना भी शामिल है जिसमें मोड़ में वेटक्यू हेड होता है जिस पर थ्रेड इंतजार करता है और उस लिंक को जोड़ने के लिए एक लिंक सूची जो कार्य को परिभाषित करता है यानी कार्य और डेटा। कार्यकर्ता थ्रेड उस संरचना को इनपुट पैरामीटर के रूप में प्राप्त करता है। थ्रेड चलता है और किसी के लिए वेटकु्यू पर प्रतीक्षा करता है धागे को जगाने के लिए। फ़ंक्शन को परिभाषित करने के लिए एक कार्य संरचना बनाई गई है। जब वर्कक्यू शेड्यूल होता है, तो संरचना को लिंक सूची की पूंछ में जोड़ा जाता है और कार्यकर्ता थ्रेड जागृत हो जाता है। जागने पर, कार्यकर्ता थ्रेड प्रति सीपीयू संरचना में परिभाषित लिंक सूची के माध्यम से चलता है और कार्य संरचना के साथ परिभाषित कार्यों को पैरामीटर के रूप में परिभाषित करना प्रारंभ करता है। इसे निष्पादित करने के बाद लिंक सूची से प्रविष्टि को हटा दिया जाता है।
एक उत्कृष्ट ब्लॉग उदाहरण के साथ सभी बुनियादी लिनक्स कर्नेल अवधारणा की व्याख्या: मैं सिर्फ देरी संस्करण जोड़ा http://tuxthink.blogspot.co.il/2011/09 /workqueues-1-introduction.html http://tuxthink.blogspot.co.il/2011/09/workqueue-2-declarework.html http://tuxthink.blogspot.co.il/2011/09/workqueue -3-उपयोग-रनटाइम-निर्माण.html – 0x90