लिनक्स में, जब कोई प्रक्रिया उस पृष्ठ तक पहुंचने का प्रयास करती है जिसमें वर्तमान भौतिक मैपिंग (अनुपलब्ध पृष्ठ तालिका प्रविष्टि) नहीं है, तो पृष्ठ त्रुटि उत्पन्न होती है (सीपीयू द्वारा)। इससे लिनक्स के पेज गलती हैंडलर को बुलाया जा सकता है। यदि यह गलती "प्रमुख" है, जिसका अर्थ है कि लिनक्स को स्वैप डिवाइस से पृष्ठ को पढ़ना है, हैंडलर को इस मामले में वास्तविक डिस्क से पढ़ना है। चूंकि डिस्क से पढ़ना एसिंक्रोनस (submit_bio) है, क्या इससे प्रक्रिया को फिर से निर्धारित किया जा सकता है? (और जब I/O पूरा हो जाए तो जागृत हो जाएं?)क्या कोई पृष्ठ गलती दोषपूर्ण प्रक्रिया को फिर से निर्धारित करने का कारण बनती है?
यदि पुन: निर्धारित होता है, तो "शेड्यूल()" कहां कॉल किया जाता है? Mm/swap_state.c में कोड को पढ़ना मुझे यह संकेत नहीं देता है कि यह कब होता है (या अगर) ऐसा होता है।
वहाँ do_page_fault में एक might_sleep() कॉल() (मिमी/fault.c) है हो सकता है कि प्रक्रिया का कारण होगा "रोका जा करने के लिए "बाद में - जैव जमा करने के बाद। – dividebyzero
@dividebyzero no 'may_sleep()' अंक फ़ंक्शन जो सो सकते हैं, मुझे लगता है कि आप 'cond_resched()' – iabdalkader