इरेटा के कारण TSC_DEADLINE अक्षम हो गया


15

मैंने अपना कंप्यूटर निर्माता को निदान के लिए भेजा और एक वीडियो आउटपुट समस्या के लिए मदद की। उन्होंने BIOS को अपडेट किया। तब से मुझे मिल रहा है

[Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x20 (or later)

मेरे पास पहले कोई माइक्रोकोड या यूकोड कोड नहीं था और मैंने यह संदेश प्राप्त करने के लिए उपयोग नहीं किया।

मैंने निर्माता से संपर्क किया है और उन्होंने जवाब दिया है "आपका टिकट नंबर याद नहीं है लेकिन संदेह है कि हमने BIOS को अपडेट किया है", इसलिए वे बहुत उपयोगी नहीं हैं।

यह बूट करता है और काम करता है, लेकिन TSC_DEADLINE महत्वपूर्ण या उपयोगी है?

केवल एक चीज जो मैं इसके बारे में जान सकता हूं, वह यह है: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89b7b7c9a895d5445faad03fa3d56c8af8

लेकिन ऐसा लगता है कि केवल VirtualBox पर लागू होता है, और किसी भी मामले में मैं पहले से ही 4.14 कर्नेल चला रहा हूं, इसलिए मुझे लगता है कि अगर वह प्रतिबद्ध मेरे मुद्दे को ठीक करने जा रहा था तो यह पहले से ही होगा।

ryan@pocketwee:~$ uname -a
Linux pocketwee 4.14.0-1-amd64 #1 SMP Debian 4.14.2-1 (2017-11-30) x86_64 GNU/Linux

अधिकांश लिनक्स वितरण एक पैकेज प्रदान करते हैं linux-firmwareजो आवश्यक फर्मवेयर अपडेट प्रदान करता है। डेबियन में आपको इसे सक्षम contribऔर / या non-freeप्राप्त करना पड़ सकता है । आपके द्वारा लिंक किया गया पैच एक मूर्खतापूर्ण स्थिति को हल करने के इरादे से आता है, जब कर्नेल एक पुरानी मशीन में बूट करते समय पुराने फर्मवेयर का अनुपालन करता है, जिसमें स्पष्ट रूप से कोई फर्मवेयर नहीं होता है ...
AlexP

2
@ AlexP linux-firmwareमाइक्रोकोड को अपडेट नहीं करेगा, आपको इसकी आवश्यकता है intel-microcodeया उसके amd64-microcodeलिए (कम से कम डेबियन और डेरिवेटिव पर)।
स्टीफन किट

जवाबों:


17

इस संदेश की अचानक उपस्थिति बल्कि विषम है; यह बताता है कि आपका अपडेट किया हुआ फर्मवेयर अब आपके सीपीयू के माइक्रोकोड को अपग्रेड नहीं कर रहा है, जबकि आपके पास पिछले फर्मवेयर था। अजीब ... (एक अन्य संभावित परिदृश्य है कि अपने CPU मूल रूप से TSC डेडलाइन का समर्थन नहीं किया है सब पर , और अपने फर्मवेयर अब एक संस्करण है जो TSC डेडलाइन के लिए समर्थन की घोषणा करने के लिए अपने माइक्रोकोड अपग्रेड हो रहा है, लेकिन शुद्धिपत्र यह बेकार प्रतिपादन किया है।)

किसी भी मामले में, टीएससी की समय सीमा का समर्थन अच्छा है, लेकिन महत्वपूर्ण नहीं है। कर्नेल में टाइमकीपिंग और समयबद्ध ईवेंट हैंडलिंग के लिए एक विस्तृत रूपरेखा है; टीएससी की समय सीमा घटना से निपटने का एक संभावित कार्यान्वयन है, लेकिन केवल एक ही नहीं। सीपीयू पर जो इसका समर्थन करते हैं, हालांकि यह होना अच्छा है, क्योंकि यह बहुत कुशल है।

अपने माइक्रोकोड को अपग्रेड करने के लिए और टीएससी समय सीमा समर्थन को फिर से सक्षम करने के लिए, आप डेबियन contribऔर non-freeरिपॉजिटरी से माइक्रोकोड अपडेट पैकेज स्थापित कर सकते हैं । ऐसा करने के लिए, /etc/apt/sources.listयह सुनिश्चित करने के लिए अपने को संपादित करें कि आपकी डेबियन रिपॉजिटरी परिभाषा में शामिल हैं main, contribऔर non-free; फिर भागो

sudo apt update

के बाद

sudo apt install intel-microcode

(इंटेल सीपीयू के लिए) या

sudo apt install amd64-microcode

(एएमडी सीपीयू के लिए)। एक बार ऐसा करने के बाद, रिबूट, और आपका माइक्रोकोड अपडेट किया जाना चाहिए। यदि TSC की समय-सीमा का समर्थन फिर से सक्षम है, तो आपको बूट पर त्रुटि संदेश दिखाई नहीं देगा, और आप लाइनों tsc_deadline_timerमें देखेंगे ।flags/proc/cpuinfo

डेबियन विकि में माइक्रोकोड अपडेट के बारे में अधिक जानकारी है


आपके फिक्स के लिए धन्यवाद, स्टीफन। मैंने अपने लैपटॉप को डेबियन स्ट्रेच से बस्टर तक अपग्रेड किया, और बूट-अप में एक ही टीएससी डेडलाइन त्रुटि संदेश आया। आपका फिक्स एक आकर्षण की तरह काम करता है!
Qiang जू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.