কার্নেল রিলিজ নোট

এই পৃষ্ঠায় প্রতিটি কার্নেল রিলিজের প্রধান বৈশিষ্ট্যগুলির সারসংক্ষেপ তুলে ধরা হয়েছে এবং অতিরিক্ত তথ্যের লিঙ্ক প্রদান করা হয়েছে।

কার্নেল ৬.১২ এর নতুন বৈশিষ্ট্য

এই বিভাগে কার্নেল 6.12-এর নতুন বৈশিষ্ট্যগুলি ব্যাখ্যা করা হয়েছে।

মেমরি বরাদ্দ প্রোফাইলিং

মেমোরি ব্যবহার বোঝার মূল চাবিকাঠি হলো কোথায় বরাদ্দ করা হয় তা জানা। কার্নেল 6.12-এ মেমোরি বরাদ্দ প্রোফাইলিং নামে একটি নতুন মেমোরি বরাদ্দ অ্যাট্রিবিউশন সিস্টেম অন্তর্ভুক্ত করা হয়েছে (কনফিগারেশনে CONFIG_MEM_ALLOC_PROFILING )। মেমোরি বরাদ্দ প্রোফাইলিংয়ের মাধ্যমে, প্রতিটি বরাদ্দ একটি অনন্য সোর্স লাইনে অ্যাট্রিবিউট করা হয় যাতে বরাদ্দের সমস্যাগুলি দ্রুত সনাক্ত করা যায়। অতিরিক্তভাবে, মেমোরি বরাদ্দ প্রোফাইলিং:

  • ইঞ্জিনিয়ারিং পর্যায়ে ব্যবহৃত হয়, তবে স্ট্যান্ডার্ড GKI ছবিতে পাওয়া যায়।

  • sysctl.vm.mem_profiling বুট প্যারামিটার ব্যবহার করে সক্রিয় করা যেতে পারে।

  • ইন-কার্নেল এবং লোডেড মডিউল উভয়ের জন্যই কাজ করে।

জিরো-কপি এবং মাল্টিশট রিডের মাধ্যমে দ্রুত আইওরিং

কার্নেল ৬.১২-তে, statsd এবং logd মডিউলগুলি sendfile zero-copy ব্যবহার করে, যা তাদের কর্মক্ষমতা উন্নত করে।

উপরন্তু, এই কার্নেল সংস্করণটি মাল্টিশট রিড বাস্তবায়ন করে যেখানে একটি একক রিড অপারেশন একসাথে একাধিক ডেটা পুনরুদ্ধার করতে পারে, যার ফলে কর্মক্ষমতা উন্নত হয়।

উন্নত বার্কলে প্যাকেট ফিল্টার (BPF) ক্ষমতা এবং সহায়তা

কার্নেল ৬.১২-তে, BPF টুলচেইনটি CO-RE এবং বেশ কয়েকটি আধুনিক বৈশিষ্ট্য সমর্থন করার জন্য স্থানান্তরিত করা হয়েছে। অতিরিক্তভাবে, একটি নতুন BPF লোডার AOSP-এর অংশ এমন প্রোগ্রামগুলির জন্য আধুনিক BPF ব্যবহার সক্ষম করে।

প্রক্সি এক্সিকিউশন

প্রক্সি এক্সিকিউশনের মাধ্যমে শিডিউলার উচ্চ-অগ্রাধিকার প্রক্রিয়া থেকে CPU চক্র ধার করে নিম্ন-অগ্রাধিকার প্রক্রিয়াগুলির দ্বারা আটকে থাকা লকগুলি পুনরুদ্ধার করতে পারে। এই বৈশিষ্ট্যটি অগ্রাধিকার ইনভার্সন সমস্যাগুলি হ্রাস করে।

কার্নেল ৬.৬ এর নতুন বৈশিষ্ট্য

এই বিভাগে কার্নেল 6.6-এর নতুন বৈশিষ্ট্যগুলি ব্যাখ্যা করা হয়েছে।

মরিচা সমর্থন

একাধিক কার্নেল 6.6 প্রকল্পে রাস্ট ব্যবহার করা হয়।

পার-ভার্চুয়াল মেমোরি এরিয়া (VMA) লক

কার্নেল ৬.৬ mmap_lock (পূর্বে mmap_sem নামে পরিচিত) এর সাথে বিতর্কিত সমস্যা সমাধানের জন্য পার-ভার্চুয়াল মেমোরি এরিয়া লক ব্যবহার করে। ফলে, যেসব অ্যাপ বেশি সংখ্যক থ্রেড ব্যবহার করে তাদের লঞ্চের সময় ২০% পর্যন্ত কমে যেতে পারে।

CFS-এর পরিবর্তে আর্লিস্ট এলিজিবল ভার্চুয়াল ডেডলাইন ফার্স্ট (EEVDF) শিডিউলার

EEVDF কমপ্লিটলি ফেয়ার শিডিউলার (CFS) প্রতিস্থাপন করে যাতে ছোট এবং দীর্ঘমেয়াদী কাজের মধ্যে CPU অ্যাক্সেসের ভারসাম্য বজায় রাখা যায়।

রিড কপি আপডেট (RCU) কলব্যাক থেকে বিদ্যুৎ খরচ কমানো হয়েছে।

RCU_LAZY বিকল্পটি বিদ্যুৎ সাশ্রয়ের জন্য টাইমার-ভিত্তিক RCU কলব্যাক ব্যাচিং পদ্ধতি ব্যবহার করে। হালকা লোডেড বা নিষ্ক্রিয় সিস্টেমের জন্য, এই বিকল্পটি বিদ্যুৎ খরচ ৫% থেকে ১০% কমাতে পারে।

উন্নত ZRAM মেমরি কম্প্রেশন

নতুন CONFIG_ZRAM_MULTI_COMP বিল্ড সেটিং ZRAM কে তিনটি বিকল্প অ্যালগরিদমের একটি ব্যবহার করে পৃষ্ঠাগুলি পুনরায় সংকুচিত করতে দেয়। এই পুনরায় সংকুচিত মেমরি আরও সঙ্কুচিত করে, সক্রিয় কাজের জন্য আরও মুক্ত স্থান প্রদান করে।

কার্নেল ৬.১ এর নতুন বৈশিষ্ট্য

এই বিভাগে কার্নেল 6.1-এর নতুন বৈশিষ্ট্যগুলি ব্যাখ্যা করা হয়েছে।

কার্নেল কন্ট্রোল ফ্লো ইন্টিগ্রিটি (KCFI) সহ দ্রুততর নিরাপত্তা

KCFI কন্ট্রোল ফ্লো ইন্টিগ্রিটি (CFI) প্রতিস্থাপন করে, যার ফলে রানটাইম খরচ কমে যায় এবং বিল্ড-টাইম খরচ হয় না। রানটাইম খরচ কমে যাওয়ার ফলে CFI-এর তুলনায় KCFI-কে আরও বেশি জায়গায় সক্রিয় করা যায়, বিশেষ করে ট্রেসপয়েন্ট এবং ভেন্ডর হুক।

KCFI ছাড়াও, কার্নেল 6.1 একাধিক নিরাপত্তা বৈশিষ্ট্য প্রবর্তন করে, যেমন কঠোর memcpy সীমানা পরীক্ষা এবং সরলরেখার অনুমান আক্রমণ প্রশমন।

KCFI সম্পর্কে আরও তথ্যের জন্য, কার্নেল নিয়ন্ত্রণ প্রবাহ অখণ্ডতা দেখুন।

মাল্টি-জেনারেশনাল এলআরইউ (এমজিএলআরইউ)

কার্নেল ৬.১-এ MGLRU যোগ করা হয়েছে যাতে মেমোরি ব্যবস্থাপনা উন্নত করা যায় এবং কোন পৃষ্ঠাগুলি আসলে ব্যবহৃত হচ্ছে তা আরও ভালোভাবে শনাক্ত করা যায়। এই উন্নতির ফলে সিস্টেমে মেমোরির ঘাটতি দেখা দিলে অ্যাপগুলি বন্ধ করার প্রয়োজন হ্রাস পায়। এই আপডেটটি ব্যবহারকারীর অভিজ্ঞতাও উন্নত করে কারণ সামগ্রিক ডিভাইসের প্রতিক্রিয়াশীলতা আরও ভালো।

MGLRU বাস্তবায়নের মধ্যে একটি নতুন RCU-নিরাপদ ম্যাপেল গাছের জন্য সমর্থনও অন্তর্ভুক্ত রয়েছে, যা কিছু ক্ষেত্রে লাল-কালো গাছ (rbtree) প্রতিস্থাপন করতে ব্যবহার করা যেতে পারে। ব্যবহার করা হলে, RCU-নিরাপদ ম্যাপেল গাছটি তার নিম্ন পদচিহ্ন এবং লকলেসেন্সের কারণে কর্মক্ষমতা বৃদ্ধি করে।

MGLRU সম্পর্কে আরও তথ্যের জন্য, মাল্টি-জেনারেল LRU দেখুন।

সময়সূচী

কার্নেল উন্নত করার কাজের ক্ষেত্রে শিডিউলার রক্ষণাবেক্ষণ এবং আপডেট করা একটি গুরুত্বপূর্ণ দিক। 6.1 সংস্করণে কার্নেল আপডেটগুলির মধ্যে রয়েছে:

  • ক্লাস্টার-সচেতন সময়সূচী যোগ করা হয়েছে, যা L2 ক্যাশে ভাগ করে এমন কোরে স্থানান্তরিত করে কর্মক্ষমতা বৃদ্ধি করে।
  • অপ্রয়োজনীয় শক্তি-মার্জিন হিউরিস্টিক অপসারণ করা হয়েছে। কিছু স্থানান্তর সীমিত করে, এই আপডেটটি শক্তির ব্যবহার ৫% পর্যন্ত উন্নত করে।
  • ঘুম থেকে ওঠার সময় লেটেন্সি কমাতে উন্নত লোড ব্যালেন্সিং।
  • RCU দ্রুততর গ্রেস পিরিয়ডগুলিকে একটি রিয়েলটাইম kthread-এ স্থানান্তরিত করা হয়েছে। এই আপডেটটি RCU-সম্পর্কিত ল্যাটেন্সি আউটলায়ারগুলিকে ব্যাপকভাবে হ্রাস করেছে।

গ্রাফিক্স

কার্নেল ৬.১-এ সিঙ্ক ফাইল রপ্তানি এবং আমদানি করার জন্য dma-buf-এর নতুন পদ্ধতি রয়েছে, যা Vulcan Video API-এর প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ।

নতুন futex_waitv() পদ্ধতিটি একই সাথে একাধিক futex-এ অপেক্ষা করে অন্যান্য প্ল্যাটফর্ম থেকে গেম পোর্টিংকে সহজ করে।

ডিবাগ টুলিং

কার্নেল কোডে রেস সনাক্ত করতে ডিবাগ বিল্ডে কার্নেল কনকারেন্সি স্যানিটাইজার (KCSAN) ব্যবহার করুন।

অতিরিক্তভাবে, কার্নেলে অপ্রচলিত মানগুলি খুঁজে পেতে কার্নেল মেমরি স্যানিটাইজার (KMSAN) ব্যবহার করুন।

ARM64 সাপোর্টের উন্নতি

৬.১ কার্নেল ARM64 আর্কিটেকচারের জন্য একাধিক উন্নতি নিয়ে আসে, যার মধ্যে রয়েছে:

  • ARMv8.6 টাইমার এক্সটেনশনের জন্য সমর্থন
  • QARMA3 পয়েন্টার-প্রমাণীকরণ অ্যালগরিদমের জন্য সমর্থন
  • ARMv9 স্কেলেবল ম্যাট্রিক্স এক্সটেনশন (SME) এর জন্য প্রাথমিক সমর্থন
  • বিকল্পগুলির উন্নতির ফলে প্যাচিং বৈশিষ্ট্যের ফলে কার্নেলের ছবির আকার ছোট হয়।