मैंने आज Phoronix पर पढ़ा कि लिनक्स कर्नेल में एक 200 लाइन पैच है जो डेस्कटॉप जवाबदेही को नाटकीय रूप से बेहतर बनाता है।
कैसे उबंटू उपयोगकर्ता इसे एक तरह से समर्थित हैं?
मैंने आज Phoronix पर पढ़ा कि लिनक्स कर्नेल में एक 200 लाइन पैच है जो डेस्कटॉप जवाबदेही को नाटकीय रूप से बेहतर बनाता है।
कैसे उबंटू उपयोगकर्ता इसे एक तरह से समर्थित हैं?
जवाबों:
इस विशिष्ट पैच के बारे में चर्चा उबंटू कर्नेल-टीम मेलिंग सूची पर हुई।
https://lists.ubuntu.com/archives/kernel-team/2010-November/013498.html
लेकिन मुझे उबंटू गिरी में अपना रास्ता बनाने के लिए किसी भी पैच के सबसे अच्छे तरीके के बारे में और भी अधिक विस्तार से बताने की कोशिश करते हैं ...
सबसे पहले, यह उबंटू कर्नेल टीम की पसंदीदा नीति है जिसे उबंटू कर्नेल में खींचा जाने से पहले पैच को प्रस्तुत किया जाना चाहिए और ऊपर की तरफ स्वीकार किया जाना चाहिए। यह उबंटू कर्नेल टीम पर पेड़ के पैच से बाहर बनाए रखने के लिए एक बड़ा रखरखाव बोझ है। इसके अतिरिक्त, यदि पैच पूरे कर्नेल समुदाय को लाभान्वित करेगा, तो इसे पहले ऊपर जाना चाहिए।
एक बार जब पैच अपस्ट्रीम स्वीकार कर लिया जाता है, तो यह अंततः उबंटू कर्नेल में स्वचालित रूप से अपना रास्ता बना लेगा। एक चेरी-पिक या पुल अनुरोध भी किया जा सकता है अगर कोई ऐसा चाहता है, तो अधिक जानकारी के लिए पेज, कर्नेलपॉच देखें।
यदि पैच को SRU ( स्थिर रिलीज़ अपडेट ) के रूप में पिछले Ubuntu रिलीज़ में लागू किया जाना है, तो पैच को संबंधित अपस्ट्रीम स्थिर 2.6.xy ट्री में स्वीकार करना सबसे अच्छा है। हमारी सामान्य कर्नेल SRU प्रक्रिया के एक भाग के रूप में, हम नवीनतम अपस्ट्रीम स्टेबल कर्नेल को लगातार रिबेट करते हैं। इस प्रकार हम फिर से पैच स्वचालित रूप से प्राप्त करेंगे।
मैंने अभी-अभी lkml धागा पढ़ा है और मुझे आशा है कि मैं कुछ जानकारी प्रदान कर सकता हूं - हालांकि उबंटू में पैच प्राप्त करने के बारे में नहीं। लिंक किए गए उबंटू सूची के एक पोस्ट के अनुसार, यह संभवतः 2.6.38 में होने जा रहा है।
पैच स्वचालित रूप से TTYs के आधार पर समूह की प्रक्रिया करता है। Lkml पर बहुत चर्चा / तर्क है कि इसका मतलब है कि यह विशिष्ट डेस्कटॉप उपयोग के लिए प्रासंगिक नहीं है - कि यह इंटरैक्टिव अनुप्रयोगों के लिए कोई फर्क नहीं पड़ता है। परीक्षण के मामले चारों ओर आधारित हैं "एक टर्मिनल से सीपीयू गहन कार्य शुरू करें फिर दूसरे कार्य की जवाबदेही को देखें"। इसलिए एक कर्नेल को संकलित करना और उदाहरण के लिए एक वीडियो देखने की कोशिश करना।
ऐसा नहीं है कि यह अच्छा नहीं है, लेकिन सामान्य "डेस्कटॉप जवाबदेही एक परिमाण के क्रम में सुधार" प्रकार की सुर्खियाँ भ्रामक हो सकती हैं यदि आप टीटीवाई से जुड़े सीपीयू गहन कार्यों को कभी नहीं चलाते हैं। मैं बेशक गलत हो सकता है!
आपकी बैश लिपियों को जोड़कर और सभी उपयोगकर्ताओं को cgroups बनाने की अनुमति देकर बहुत समान परिणाम प्राप्त करने के तरीकों के कुछ उल्लेख थे। यह केवल तभी काम करेगा जब वर्तमान उबंटू कर्नेल में cgroups सक्षम हों। प्रासंगिक पोस्ट हैं:
जाहिर है कि यह सवाल का जवाब नहीं दे रहा है, लेकिन इसका इस्तेमाल यह निर्धारित करने के लिए किया जा सकता है कि पैच उतने ही जादुई हैं जितनी कि उम्मीद है।
कैसे उबंटू उपयोगकर्ता इसे एक तरह से समर्थित हैं ?
जोर मेरा। एकमात्र तरीका जिसे आप इसे समर्थित तरीके से प्राप्त करेंगे, वह उबंटू को उबंटू कर्नेल में खींचने के लिए इंतजार करने के द्वारा है। जैसा कि यह वास्तव में सिर्फ कर्नेल मेलिंग सूची में बना रहा है, यह उस बिंदु पर ताज़ा है जहां सभी परीक्षण काफी महत्वपूर्ण हैं और मुझे लगता है कि बड़े पैमाने पर तैनात होने के लिए तैयार होने से पहले यह कुछ समय होगा।
अगले रिलीज और लंबे समय के बीच कहीं न कहीं मेरा अशिक्षित अनुमान होगा।
लेकिन अगर आप एक बड़े लड़के (या लड़की) हैं और आप टूटे हुए कर्नेल के साथ सामना कर सकते हैं यदि चीजें गलत हो जाती हैं (यानी आपको पता है कि ग्रब का उपयोग कैसे करना है), तो आप अपने कर्नेल को पैच और संकलित कर सकते हैं।
एक पैच डाउनलोड करें। अलग-अलग संस्करण हैं, लेकिन अपने दम पर सर्वश्रेष्ठ किसी अन्य उपयोगकर्ता द्वारा नीचे पोस्ट किया गया था: http://pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2
अपने पैच लक्ष्य संस्करण के लिए कर्नेल स्रोत डाउनलोड करें। इस मामले में 2.6.36 है। आप वेनिला प्राप्त कर सकते हैं (जो कि मूल है, उबंटू कर्नेल टीम द्वारा अनमॉडिफ़ाइड किया गया है) कर्नेल. org से कर्नेल स्रोत और इसे निकालें।
पैच को कहीं और सहेजें और इसे cd
कर्नेल स्रोत dir और चल में लागू करें: patch -p1 < /path/to/patch
(आपको इसके लिए patch
पैकेज की आवश्यकता है ... जो मुझे लगता है कि build-essential
यदि यह डिफ़ॉल्ट रूप से स्थापित नहीं है तो इसका हिस्सा आता है )
और फिर "पुराने जमाने" की निर्माण प्रक्रिया के बाकी हिस्सों के साथ जारी रखें ... मैं वास्तव में नए तरीकों से परेशान नहीं होगा क्योंकि वे उबंटू / डेबियन-स्वीकृत कर्नेल स्रोतों के उद्देश्य से हैं ... प्लस पुराना तरीका आसान लगता है ( मेरे लिए)।
गुठली का निर्माण कठिन नहीं है, लेकिन यदि आप स्वीकृत पथ से बहुत दूर चले जाते हैं तो आप इसे गड़बड़ कर सकते हैं। अगर आपको कुछ गलत हुआ तो आपको आधिकारिक समर्थन नहीं मिलेगा।
वैकल्पिक रूप से, अधिक से अधिक गुठली उभरने वाले पैच के साथ उभर रहे हैं (या कम से कम स्रोत के पेड़ में, अगली रिलीज की प्रतीक्षा कर रहे हैं)।
नोट: ये दोनों गुठली (और शायद अन्य भी) उबटन से उबटन करने के तरीके से विचलित होती हैं। आपको लग सकता है (जैसा कि मैंने तब किया जब मैं लिकोरिक्स में चला गया) कि सीपीयू आवृत्ति स्केलिंग काम करना बंद कर देती है या निलंबित हो जाती है। आमतौर पर फ़िक्स और वर्कअराउंड होते हैं, लेकिन संभावना है कि आपको AskUbuntu या बाकी उबंटू कम्युनिटी से समर्थन नहीं मिलेगा क्योंकि हम हर एक कर्नेल की जांच नहीं कर सकते हैं।
आप RedHat डेवलपर द्वारा मेलिंग सूची में पोस्ट किए गए एक सरल "हैक" का उपयोग कर सकते हैं, जिसे एक ही चीज़ प्राप्त करने के लिए कर्नेल को पैच करने की आवश्यकता नहीं है। इसके बारे में यहां पढ़ें: "200 लाइन्स कर्नेल पैच जो चमत्कार करता है" के लिए वैकल्पिक जिसे आप सही उपयोग कर सकते हैं
2011-01-18 के अनुसार, लिनक्स 2.6.38-rc1 में उक्त पैच शामिल है।
संबंधित Phoronix समाचार और लिनुस पोस्ट देखें ।
2011-01-29 के अनुसार, नेटी नरवाल रोजाना लिनक्स 2.6.38 के साथ जहाजों का निर्माण करते हैं।
तो, वर्तमान में दो समाधान हैं:
मैंने अभी इस चर्चा को उठाया है और इसकी बहुत दिलचस्प बात है। मैंने उबंटू 10.10 पर cgroup पैच को सक्षम करने के बारे में एक छोटा सा ब्लॉग पोस्ट लिखा है ।
मैंने वास्तव में परीक्षण नहीं किया है कि यह काम करता है या नहीं, इसलिए प्रतिक्रिया बहुत अच्छी होगी!