এই পৃষ্ঠায় প্রতিটি কার্নেল রিলিজের প্রধান ফিচারগুলির সংক্ষিপ্তসার দেওয়া আছে এবং অতিরিক্ত তথ্যের লিঙ্ক দেওয়া আছে।
Kernel 6.12-এর নতুন ফিচার
এই বিভাগে কার্নেল 6.12-এর নতুন ফিচার সম্পর্কে ব্যাখ্যা করা হয়েছে।
মেমরি অ্যালোকেশন প্রোফাইলিং
মেমরি ব্যবহার বোঝা যায়, কোথায় অ্যালোকেশন করা হয়েছে তা জানার মাধ্যমে।
Kernel 6.12-এ একটি নতুন মেমরি অ্যালোকেশন অ্যাট্রিবিউশন সিস্টেম অন্তর্ভুক্ত আছে, যাকে
মেমরি অ্যালোকেশন প্রোফাইলিং (কনফিগারেশনে CONFIG_MEM_ALLOC_PROFILING) বলা হয়।
মেমরি অ্যালোকেশন প্রোফাইলিংয়ের মাধ্যমে, প্রতিটি অ্যালোকেশনকে একটি অনন্য
সোর্স লাইনের সাথে অ্যাট্রিবিউট করা হয় যাতে অ্যালোকেশন সংক্রান্ত সমস্যা দ্রুত শনাক্ত করা যায়।
এছাড়াও, মেমরি অ্যালোকেশন প্রোফাইলিং:
ইঞ্জিনিয়ারিং ফেজে ব্যবহার করা হয়, তবে স্ট্যান্ডার্ড GKI ইমেজে উপলভ্য থাকে।
sysctl.vm.mem_profilingboot প্যারামিটার ব্যবহার করে চালু করা যেতে পারে।ইন-কার্নেল ও লোড করা মডিউল, দুটির ক্ষেত্রেই কাজ করে।
জিরো-কপি ও মাল্টিশট রিড সহ আরও দ্রুত io_uring
কার্নেল 6.12-এ, statsd এবং logd মডিউল sendfile
জিরো-কপি ব্যবহার করে, যার ফলে তাদের পারফর্ম্যান্স উন্নত হয়।
এছাড়াও, এই কার্নেল ভার্সন মাল্টিশট রিড প্রয়োগ করে যেখানে একটি রিড অপারেশন একসাথে একাধিক ডেটা পুনরুদ্ধার করতে পারে, যার ফলে পারফর্ম্যান্স উন্নত হয়।
উন্নত Berkeley Packet Filter (BPF) ক্ষমতা ও সহায়তা
BPF টুলচেন, CO-RE এবং একাধিক আধুনিক ফিচারকে সাপোর্ট করার জন্য কার্নেল 6.12-এ সরানো হয়েছে। এছাড়াও, একটি নতুন BPF লোডার AOSP-এর অংশ এমন প্রোগ্রামের জন্য আধুনিক BPF ব্যবহার করার সুবিধা দেয়।
প্রক্সি এক্সিকিউশন
প্রক্সি এক্সিকিউশন শিডিউলারকে কম-অগ্রাধিকার প্রসেস দ্বারা লক করা রিসোর্স রিলিজ করার জন্য হাই-অগ্রাধিকার প্রসেস থেকে CPU সাইকেল ধার করতে দেয়। এই ফিচার অগ্রাধিকার ইনভার্সন সংক্রান্ত সমস্যা কমায়।
Kernel 6.6-এর নতুন ফিচার
এই বিভাগে কার্নেল 6.6-এর নতুন ফিচার সম্পর্কে ব্যাখ্যা করা হয়েছে।
Rust সংক্রান্ত সহায়তা
একাধিক কার্নেল 6.6 প্রোজেক্টে Rust ব্যবহার করা হয়।
প্রতিটি ভার্চুয়াল মেমরি এরিয়া (VMA) লক
Kernel 6.6, mmap_lock (আগে mmap_sem নামে পরিচিত ছিল)-এর সাথে বিরোধ সংক্রান্ত সমস্যা সমাধানের জন্য প্রতি ভার্চুয়াল মেমরি এরিয়া লক ব্যবহার করে।
যেমন, যেসব অ্যাপ প্রচুর থ্রেড ব্যবহার করে, সেগুলির লঞ্চ টাইম ২০% পর্যন্ত কমে যেতে পারে।
Earliest Eligible Virtual Deadline First (EEVDF) শিডিউলার CFS-এর পরিবর্তে কাজ করে
কম ও বেশি সময় ধরে চলা টাস্কের মধ্যে CPU অ্যাক্সেস আরও ভালোভাবে ব্যালেন্স করতে, EEVDF, কমপ্লিটলি ফেয়ার শিডিউলার (CFS) প্রতিস্থাপন করে।
রিড কপি আপডেট (RCU) কলব্যাক থেকে বিদ্যুৎ খরচ কমানো হয়েছে
RCU_LAZY বিকল্পটি পাওয়ার সাশ্রয় করতে টাইমার-ভিত্তিক RCU কলব্যাক ব্যাচিং পদ্ধতি ব্যবহার করে। হালকা লোড করা বা অলস সিস্টেমের জন্য, এই বিকল্পটি ৫% থেকে ১০% পর্যন্ত
বিদ্যুৎ খরচ কমাতে পারে।
আরও ভালো ZRAM মেমরি কম্প্রেশন
নতুন CONFIG_ZRAM_MULTI_COMP বিল্ড সেটিং, ZRAM-কে তিনটি বিকল্প অ্যালগরিদমের
মধ্যে একটির সাহায্যে পৃষ্ঠাগুলি আবার কম্প্রেস করতে দেয়। এই রিকমপ্রেশন
কম্প্রেস করা মেমরিকে আরও ছোট করে, যার ফলে অ্যাক্টিভ টাস্কের জন্য আরও খালি জায়গা পাওয়া যায়।
Kernel 6.1-এর নতুন ফিচার
এই বিভাগে কার্নেল 6.1-এর নতুন ফিচার সম্পর্কে ব্যাখ্যা করা হয়েছে।
কার্নেল কন্ট্রোল ফ্লো ইন্টিগ্রিটি (KCFI) সহ আরও দ্রুত নিরাপত্তা
KCFI কন্ট্রোল ফ্লো ইন্টিগ্রিটি (CFI) প্রতিস্থাপন করে, যার ফলে রানটাইম খরচ কমে যায় এবং কোনও বিল্ড-টাইম খরচ হয় না। কমে যাওয়া রানটাইম খরচ, CFI-এর তুলনায় KCFI-কে আরও বেশি জায়গায় চালু করার অনুমতি দেয়, বিশেষ করে ট্রেসপয়েন্ট ও ভেন্ডর হুক।
KCFI ছাড়াও, কার্নেল ৬.১ একাধিক নিরাপত্তা ফিচার নিয়ে আসে, যেমন
কঠোর memcpy বাউন্ড চেকিং এবং স্ট্রেট-লাইন স্পেকুলেশন অ্যাটাক
মিনিমাইজেশন।
KCFI সম্পর্কে আরও তথ্য পেতে, কার্নেল কন্ট্রোল ফ্লো ইনটিগ্রিটি দেখুন।
মাল্টি-জেনারেশন LRU (MGLRU)
কোন পৃষ্ঠাগুলি আসলে ব্যবহার করা হচ্ছে তা আরও ভালভাবে শনাক্ত করার মাধ্যমে মেমরি ম্যানেজমেন্ট উন্নত করতে, MGLRU-কে কার্নেল 6.1-এ যোগ করা হয়েছে। সিস্টেমে মেমরি কম থাকলে, এই উন্নতির ফলে অ্যাপ বন্ধ করার প্রয়োজন কমে যায়। এছাড়াও, এই আপডেট ব্যবহারকারীর অভিজ্ঞতা উন্নত করে কারণ সামগ্রিকভাবে ডিভাইসের রেসপন্সিভনেস আরও ভালো হয়।
MGLRU-এর প্রয়োগের মধ্যে একটি নতুন RCU-সেফ ম্যাপেল ট্রিও অন্তর্ভুক্ত থাকে, যা কিছু ক্ষেত্রে রেড-ব্ল্যাক ট্রি (rbtree) প্রতিস্থাপন করতে ব্যবহার করা যেতে পারে। ব্যবহার করা হলে, RCU-সেফ ম্যাপেল ট্রি পারফর্ম্যান্স বাড়ায় কারণ এর ফুটপ্রিন্ট কম এবং লক থাকে না।
MGLRU সম্পর্কে আরও তথ্য পেতে, মাল্টি-জেন LRU দেখুন।
সমস্ত সম্পদ সার্চ
কার্নেল উন্নত করার জন্য শিডিউলার বজায় রাখা ও আপডেট করা হল কাজের একটি গুরুত্বপূর্ণ দিক। 6.1-এ কার্নেল আপডেটের মধ্যে এগুলি অন্তর্ভুক্ত:
- ক্লাস্টার-অ্যাওয়ার শিডিউলিং যোগ করা হয়েছে, যা L2 ক্যাশে শেয়ার করে এমন কোরে মাইগ্রেট করার মাধ্যমে পারফর্ম্যান্স বাড়ায়।
- অপ্রয়োজনীয় এনার্জি-মার্জিন হিউরিস্টিক সরানো হয়েছে। কিছু মাইগ্রেশন সীমিত করার মাধ্যমে, এই আপডেট ৫% পর্যন্ত বিদ্যুৎ সাশ্রয় করে।
- ওয়েক-আপ লেটেন্সি কমাতে উন্নত লোড ব্যালেন্সিং।
- RCU-এর ত্বরান্বিত গ্রেস পিরিয়ড রিয়েল-টাইম kthread-এ সরানো হয়েছে। এই আপডেট RCU-সম্পর্কিত লেটেন্সি আউটলায়ার অনেক কমিয়ে দিয়েছে।
গ্রাফিক্স
Kernel 6.1-এ সিঙ্ক ফাইল এক্সপোর্ট ও ইমপোর্ট করার জন্য dma-buf-এর নতুন পদ্ধতি রয়েছে, যা Vulcan Video API-এর প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ।
নতুন futex_waitv() পদ্ধতিটি একাধিক futex-এর জন্য একই সাথে অপেক্ষা করে অন্যান্য
প্ল্যাটফর্ম থেকে গেম পোর্ট করার প্রক্রিয়াকে সহজ করে তোলে।
ডিবাগ টুলিং
কার্নেল কোডে রেস শনাক্ত করতে ডিবাগ বিল্ডে Kernel Concurrency SANitizer (KCSAN) ব্যবহার করুন।
এছাড়াও, কার্নেলে ইনিশিয়ালাইজ না করা ভ্যালু খুঁজে পেতে Kernel Memory SANitizer (KMSAN) ব্যবহার করুন।
ARM64 সহায়তা সংক্রান্ত উন্নতি
6.1 কার্নেল ARM64 আর্কিটেকচারের জন্য একাধিক উন্নতি নিয়ে আসে, যার মধ্যে এগুলি অন্তর্ভুক্ত:
- ARMv8.6 টাইমার এক্সটেনশনের জন্য সহায়তা
- QARMA3 পয়েন্টার-যাচাইকরণ অ্যালগরিদমের জন্য সহায়তা
- ARMv9 স্কেলেবল ম্যাট্রিক্স এক্সটেনশন (SME)-এর জন্য প্রাথমিক সহায়তা
- অল্টারনেটিভ ফিচার প্যাচিংয়ে উন্নতি, এর ফলে ছোট কার্নেল ইমেজ সাইজ হয়