የሊኑክስ ከርነል ልቀት 5.14

ከሁለት ወራት እድገት በኋላ ሊኑስ ቶርቫልድስ የሊኑክስ ከርነል 5.14 መልቀቅን አቅርቧል። በጣም ከሚታወቁ ለውጦች መካከል፡ አዲስ quotactl_fd() እና memfd_secret() የስርዓት ጥሪዎች፣ አይዲ እና ጥሬ ነጂዎችን ማስወገድ፣ አዲስ የI/O ቅድሚያ ተቆጣጣሪ ለቡድን ፣ SCHED_CORE የተግባር መርሐግብር ሁነታ፣ የተረጋገጡ BPF ፕሮግራም ሎደሮችን ለመፍጠር መሠረተ ልማት።

አዲሱ ስሪት ከ 15883 ገንቢዎች 2002 ጥገናዎችን ያካትታል, የመጠፊያው መጠን 69 ሜባ ነው (ለውጦቹ በ 12580 ፋይሎች ላይ ተጽዕኖ ያሳድራሉ, 861501 የኮድ መስመሮች ተጨምረዋል, 321654 መስመሮች ተሰርዘዋል). በ 47 ውስጥ ከተካተቱት ለውጦች ውስጥ 5.14% የሚሆኑት ከመሳሪያ ነጂዎች ጋር የተገናኙ ናቸው ፣ በግምት 14% የሚሆኑት ለውጦች ለሃርድዌር አርክቴክቸር ልዩ ኮድ ከማዘመን ጋር የተገናኙ ናቸው ፣ 13% ከአውታረ መረብ ቁልል ጋር የተገናኙ ናቸው ፣ 3% ከፋይል ስርዓቶች እና 3% ጋር የተገናኙ ናቸው። ከውስጥ የከርነል ንዑስ ስርዓቶች ጋር የተያያዙ ናቸው.

ዋና ፈጠራዎች፡-

  • የዲስክ ንዑስ ስርዓት፣ አይ/ኦ እና የፋይል ሲስተምስ
    • በእያንዳንዱ የቡድን አባላት የተፈጠሩ መሳሪያዎችን ለማገድ የጥያቄዎችን ሂደት ቅድሚያ የሚቆጣጠር አዲስ የI/O ቅድሚያ የሚሰጠው መቆጣጠሪያ ለክፍሎች rq-qos ተተግብሯል። አዲስ የቅድሚያ ተቆጣጣሪ ድጋፍ ወደ mq-deadline I/O መርሐግብር ተጨምሯል።
    • የ ext4 የፋይል ሲስተም አዲስ ioctl ትዕዛዝን ተግባራዊ ያደርጋል EXT4_IOC_CHECKPOINT ይህ በመጠባበቅ ላይ ያሉ ግብይቶች ከጆርናሉ እና ከነሱ ጋር የተያያዙ ማቋቋሚያዎች ወደ ዲስክ እንዲገቡ የሚያስገድድ እና እንዲሁም ጆርናል በማከማቻ ውስጥ የሚጠቀመውን ቦታ ይተካል። ለውጡ የተዘጋጀው ከፋይል ስርዓቶች የመረጃ ፍንጣቂዎችን ለመከላከል እንደ ተነሳሽነት አካል ነው።
    • ለ Btrfs የአፈጻጸም ማሻሻያዎች ተደርገዋል፡ በfsync አፈፃፀም ወቅት አላስፈላጊ የሆኑ የተራዘሙ ባህሪያትን መዝገቡን በማስወገድ የተራዘሙ ባህሪያት ያላቸው የተጠናከረ ስራዎች አፈጻጸም እስከ 17 በመቶ ጨምሯል። በተጨማሪም ፣ መጠኖችን የማይነኩ የመከርከሚያ ስራዎችን በሚሰሩበት ጊዜ ፣ ​​ሙሉ ማመሳሰል ተሰናክሏል ፣ ይህም የቀዶ ጥገና ጊዜ በ 12% ቀንሷል። FSን ሲፈተሽ I/O ባንድዊድዝ ለመገደብ ቅንብር ወደ sysfs ታክሏል። የመሳሪያውን መጠን መቀየር እና መሰረዝን ለመሰረዝ የioctl ጥሪዎች ታክለዋል።
    • በኤክስኤፍኤስ ውስጥ የቋት መሸጎጫ አተገባበር በአዲስ መልክ ተዘጋጅቷል፣ ይህም የማህደረ ትውስታ ገጾችን በቡድን ሁነታ ለመመደብ ተቀይሯል። የተሻሻለ የመሸጎጫ ውጤታማነት።
    • F2FS በተነባቢ-ብቻ ሁነታ ለመስራት አማራጭን ይጨምራል እና የዘፈቀደ የንባብ አፈጻጸምን ለማሻሻል የታመቀ የማገጃ መሸጎጫ ሁነታን (compress_cache) ተግባራዊ ያደርጋል። የኤምኤምፓ() ኦፕሬሽንን በመጠቀም ወደ ማህደረ ትውስታ የተሰሩ ፋይሎችን ለመጭመቅ ድጋፍ ተተግብሯል። ጭንብል ላይ ተመርኩዞ የፋይል መጭመቅን ለማሰናከል አዲስ የማፈናጠጫ አማራጭ ኖኮምፕሬስ ቀርቧል።
    • ከአንዳንድ ዲጂታል ካሜራ ማከማቻ ጋር ተኳሃኝነትን ለማሻሻል በ exFAT ሾፌር ውስጥ ሾል ተሰርቷል።
    • የ quotactl_fd() የስርዓት ጥሪ ታክሏል፣ ይህም ኮታዎችን በልዩ መሣሪያ ፋይል በኩል እንዲያስተዳድሩ የሚፈቅድልዎት ነገር ግን ኮታው ከተተገበረበት የፋይል ስርዓት ጋር የተያያዘ የፋይል ገላጭ በመግለጽ ነው።
    • የ IDE በይነገጽ ያላቸው የድሮ ሾፌሮች የብሎክ መሳሪያዎች ከከርነል ተወግደዋል ፣ እነሱ ለረጅም ጊዜ በሊባታ ንዑስ ስርዓት ተተክተዋል።
    • የ"ጥሬ" ነጂው ከከርነል ተወግዷል፣ ይህም መሳሪያዎችን በ/dev/ጥሬ በይነገጽ በኩል ለማገድ ያልተከለከለ መዳረሻ ይሰጣል። ይህ ተግባር የO_DIRECT ባንዲራ በመጠቀም በመተግበሪያዎች ውስጥ ለረጅም ጊዜ ሲተገበር ቆይቷል።
  • የማህደረ ትውስታ እና የስርዓት አገልግሎቶች
    • የተግባር መርሐግብር አዘጋጅ SCHED_CORE አዲስ የመርሐግብር ሁነታን ተግባራዊ ያደርጋል፣ ይህም የትኛዎቹ ሂደቶች በተመሳሳይ ሲፒዩ ኮር ላይ አብረው ሊከናወኑ እንደሚችሉ እንዲቆጣጠሩ ያስችልዎታል። እያንዳንዱ ሂደት በሂደቶች መካከል ያለውን የመተማመን ወሰን የሚገልጽ ኩኪ ለዪ ሊመደብ ይችላል (ለምሳሌ የአንድ ተጠቃሚ ወይም መያዣ)። ኮድ አፈጻጸምን ሲያደራጅ፣ መርሐግብር አውጪው አንድ ሲፒዩ ኮር ከተመሳሳይ ባለቤት ጋር በተያያዙ ሂደቶች መካከል ብቻ መጋራቱን ማረጋገጥ ይችላል፣ ይህ ደግሞ የታመኑ እና የማይታመኑ ስራዎች በተመሳሳይ SMT (Hyper Threading) ክር ላይ እንዳይሰሩ በማድረግ አንዳንድ የ Specter ጥቃቶችን ለመከላከል ሊያገለግል ይችላል። .
    • ለቡድን ፣ ለግድያው ተግባር ድጋፍ ተተግብሯል ፣ ይህም ከቡድኑ ጋር የተገናኙትን ሁሉንም ሂደቶች በአንድ ጊዜ እንዲገድሉ ያስችልዎታል (SIGKILL ን ይላኩ) “1” ወደ ምናባዊ ፋይል cgroup.kill በመፃፍ።
    • የአቶሚክ መመሪያን በሚሰራበት ጊዜ መረጃው ሁለት የሲፒዩ መሸጎጫ መስመሮችን የሚያቋርጥ በመሆኑ በማህደረ ትውስታ ውስጥ ያልተጣመሩ መረጃዎችን ሲደርሱ የሚከሰቱ የተሰነጠቀ መቆለፊያዎችን ("የተሰነጠቀ መቆለፊያዎችን") ሲያገኙ ምላሽ ከመስጠት ጋር የተያያዙ የተስፋፉ ችሎታዎች። እንዲህ ዓይነቱ እገዳ ወደ ከፍተኛ የአፈፃፀም ውድቀት ያመራል, ስለዚህ ቀደም ሲል እገዳውን ያስከተለውን መተግበሪያ በኃይል ማቋረጥ ተችሏል. አዲሱ ልቀት የከርነል የትዕዛዝ መሾመር ልኬትን ይጨምራል “Split_lock_detect=ratelimit:N”፣ይህም በሴኮንድ የመቆለፍ መጠን ላይ ያለውን ስርዓት-ሰፊ ገደብ እንዲገልጹ ያስችልዎታል፣ከዚህም በላይ የተከፈለ መቆለፊያ ምንጭ የሆነ ማንኛውም ሂደት። ከማቆም ይልቅ ለ 20 ms ለማቆም ይገደዳል።
    • ለእያንዳንዱ ግሩፕ ምን ያህል ፕሮሰሰር ጊዜ ሊመደብ እንደሚችል የሚወስነው የ cgroup ባንድዊድዝ ተቆጣጣሪ CFS (CFS bandwidth controller) በጊዜ የተገደቡ ገደቦችን የመግለጽ ችሎታን ተግባራዊ ያደርጋል፣ ይህም የዘገየ-ስሜታዊ የስራ ጫናዎችን በተሻለ ሁኔታ ለመቆጣጠር ያስችላል። ለምሳሌ፣ cpu.cfs_quota_us ን ወደ 50000 እና cpu.cfs_period_us 100000 ማድረግ የቡድን ሂደቶች በየ100ሚሴ 50ms ሲፒዩ እንዲያባክኑ ያስችላቸዋል።
    • የBPF ፕሮግራም ጫኚዎችን ለመፍጠር የተጨመረው የመጀመሪያ መሠረተ ልማት፣ ይህም በታመነ ዲጂታል ቁልፍ የተፈረመ BPF ፕሮግራሞችን ብቻ መጫን ያስችላል።
    • አዲስ የfutex ክወና FUTEX_LOCK_PI2 ታክሏል፣ ስርዓቱ በእንቅልፍ ሁነታ ላይ ያሳለፈውን ጊዜ ግምት ውስጥ ያስገባ የጊዜ ማብቂያ ጊዜን ለማስላት ሞኖቶኒክ ጊዜ ቆጣሪን ይጠቀማል።
    • ለ RISC-V አርክቴክቸር ለትልቅ የማስታወሻ ገፆች ድጋፍ (Transparent Huge-pages) እና ከማህደረ ትውስታ ጋር ሲሰሊ ስህተቶችን ለማግኘት የ KFENCE ዘዴን የመጠቀም ችሎታ ይተገበራል።
    • የሂደቱን የማህደረ ትውስታ አስተዳደር ለማሻሻል ዘዴ የሚሰጠው የማድቪስ() ሲስተም ጥሪ፣ ትክክለኛ የማንበብ እና የመፃፍ ሾል ሳይሰራ በሁሉም የማህደረ ትውስታ ገፆች ላይ "ገጽ ጥፋት" ለመፍጠር የ MADV_POPULATE_READ እና MADV_POPULATE_WRITE ባንዲራዎችን አክሏል። (ቅድመ) ባንዲራዎችን መጠቀም በፕሮግራሙ አፈጻጸም ላይ ያለውን መዘግየቶች ለመቀነስ ጠቃሚ ሊሆን ይችላል, ምክንያቱም የ "ገጽ ጥፋት" ተቆጣጣሪው ለሁሉም ያልተመደቡ ገጾች በአንድ ጊዜ, ትክክለኛውን መዳረሻ ሳይጠብቅ በቅድመ አፈፃፀም ምክንያት.
    • የኩኒት ዩኒት የሙከራ ስርዓት በQEMU አካባቢ ለሙከራዎች ሩጫ ድጋፍ አድርጓል።
    • አዳዲስ መከታተያዎች ተጨምረዋል፡ በማቋረጥ አያያዝ ምክንያት የሚመጡትን የመተግበሪያ መዘግየቶች ለመከታተል "ኦስኖይስ" እና "timerlat" ከሰዓት ቆጣሪ ሲግናል ሲነቁ ሾለ መዘግየቶች ዝርዝር መረጃ ለማሳየት።
  • ምናባዊ እና ደህንነት
    • የmemfd_secret() የስርዓት ጥሪ በገለልተኛ የአድራሻ ቦታ ላይ የግል ማህደረ ትውስታ ቦታ ለመፍጠር ታክሏል፣ለባለቤትነት ሂደቱ ብቻ የሚታይ፣ለሌሎች ሂደቶች የማይንጸባረቅ እና በቀጥታ ወደ ከርነል የማይደረስ።
    • በሴክኮምፕ ሲስተም የጥሪ ማጣሪያ ሲስተም፣ ማገጃ ተቆጣጣሪዎችን ወደ ተጠቃሚ ቦታ ሲያንቀሳቅሱ፣ ነጠላ የአቶሚክ ኦፕሬሽንን በመጠቀም ለገለልተኛ ተግባር የፋይል ገላጭ መፍጠር እና የስርዓት ጥሪን ሲያካሂዱ መመለሾ ይችላሉ። የታቀደው ክዋኔ ምልክት ሲመጣ ተቆጣጣሪን በተጠቃሚ ቦታ ላይ የማቋረጥ ችግርን ይፈታል.
    • በተጠቃሚ መታወቂያ ስም ቦታ ላይ የንብረት ገደቦችን ለማስተዳደር አዲስ ዘዴ ታክሏል፣ ይህም የግለሰብ rlimit ቆጣሪዎችን በ "የተጠቃሚ ስም ቦታ" ውስጥ ከአንድ ተጠቃሚ ጋር ያገናኛል። ለውጡ አንድ ተጠቃሚ በተለያዩ ኮንቴይነሮች ውስጥ ሂደቶችን ሲያካሂድ የጋራ መገልገያ ቆጣሪዎችን በመጠቀም ችግሩን ይፈታል.
    • የ KVM ሃይፐርቫይዘር ለ ARM64 ስርዓቶች በእንግዳ ስርዓቶች ውስጥ MTE (MemTag, Memory Tagging Extension) ቅጥያውን የመጠቀም ችሎታን ጨምሯል, ይህም በእያንዳንዱ የማህደረ ትውስታ ድልድል ሾል ላይ መለያዎችን ለማሰር እና አመላካቾችን ብዝበዛ ለመከልከል ትክክለኛውን የአመልካቾችን አጠቃቀም ለመፈተሽ ያስችልዎታል. አስቀድሞ የተፈቱ የማህደረ ትውስታ ብሎኮችን፣ የተትረፈረፈ ቋትን፣ ከመጀመርዎ በፊት መዳረስ እና ከአሁኑ አውድ ውጪ በመጠቀማቸው የሚፈጠሩ ተጋላጭነቶች።
    • የ ARM64 መድረክ የጠቋሚ ማረጋገጫ መገልገያዎች አሁን ለከርነል እና ለተጠቃሚ ቦታ ተለይተው ሊዋቀሩ ይችላሉ። ቴክኖሎጂው በጠቋሚው በራሱ ጥቅም ላይ ባልዋሉ የላይኛው ቢትስ ውስጥ የተከማቹ ዲጂታል ፊርማዎችን በመጠቀም የመመለሻ አድራሻዎችን ለማረጋገጥ ልዩ የ ARM64 መመሪያዎችን እንድትጠቀም ይፈቅድልሃል።
    • የተጠቃሚ ሞድ ሊኑክስ በ PCI-over-virtio ሾፌር የሚተገበረውን ለ PCI መሳሪያዎች ሾፌሮችን ከቨርቹዋል PCI አውቶቡስ ጋር ለመጠቀም ድጋፍ አድርጓል።
    • ለ x86 ሲስተሞች፣ ለ virtio-iommu paravirtualized መሳሪያ ተጨማሪ ድጋፍ፣ ይህም እንደ ATTACH፣ DETACH፣ MAP እና UNMAP ያሉ የIOMMU ጥያቄዎች የማህደረ ትውስታ ገጽ ሰንጠረዦችን ሳይኮርጁ በvirtio ትራንስፖርት ላይ እንዲላኩ ያስችላል።
    • ለኢንቴል ሲፒዩዎች፣ ከስካይላይክ ቤተሰብ እስከ ቡና ሐይቅ ድረስ፣ አላስፈላጊ የማመሳሰል ስራዎችን በተለዋዋጭ በማስወገድ የብዝሃ-ክር አፕሊኬሽኖችን አፈጻጸም ለማሻሻል የሚረዱ መሳሪያዎችን የሚያቀርበው ኢንቴል TSX (የግብይት ማመሳሰል ቅጥያ) መጠቀም በነባሪነት ተሰናክሏል። በTAA (TSX Asynchronous Abort) አሰራር ሂደት ውስጥ በሚከሰቱ የሶስተኛ ወገን ቻናሎች የመረጃ ፍሰትን የሚቆጣጠሩ የዞምቢ ሎድ ጥቃቶች ሊፈጠሩ ስለሚችሉ ቅጥያዎች ተሰናክለዋል።
  • የአውታረ መረብ ንዑስ ስርዓት
    • ወደ MPTCP ዋና (MultiPath TCP) ውህደት የ TCP ፕሮቶኮል ማራዘሚያ የ TCP ግንኙነትን እና ፓኬጆችን በአንድ ጊዜ በበርካታ መንገዶች በተለያዩ የአውታረ መረብ በይነገጾች ከተለያዩ የአይፒ አድራሻዎች ጋር በማያያዝ። አዲሱ ልቀት የራስዎን የትራፊክ ሃሽ ፖሊሲዎች ለIPv4 እና IPv6 (ባለብዙ መንገድ ሃሽ ፖሊሲ) የማዋቀር ዘዴን ይጨምራል፣ ይህም ከተጠቃሚው ቦታ የትኛዎቹ ፓኬቶች፣ የታሸጉትን ጨምሮ፣ የሚወስነውን ሃሽ በሚሰላበት ጊዜ ጥቅም ላይ እንደሚውል ለማወቅ ያስችላል። ለፓኬት የመንገዶች ምርጫ .
    • ለ SOCK_SEQPACKET ሶኬቶች (የታዘዙ እና አስተማማኝ የዳታግራም ስርጭት) ድጋፍ ወደ virtio ቨርቹዋል ትራንስፖርት ተጨምሯል።
    • የ SO_REUSEPORT ሶኬት አሰራር አቅም ተዘርግቷል፣ይህም በርካታ የመስሚያ ሶኬቶች በአንድ ወደብ እንዲገናኙ እና ገቢ ጥያቄዎችን በአንድ ጊዜ በSO_REUSEPORT በኩል በተገናኙ ሁሉም ሶኬቶች ላይ ግንኙነቶችን ለመቀበል ያስችላል። . አዲሱ እትም መጀመሪያ በተመረጠው ሶኬት ጥያቄን ሲያስተናግድ ካልተሳካ መቆጣጠሪያን ወደ ሌላ ሶኬት ለማስተላለፍ የሚረዱ መሳሪያዎችን ይጨምራል (አገልግሎቶቹን እንደገና በሚጀምርበት ጊዜ የግለሰብ ግንኙነቶችን ማጣት ችግሩን ይፈታል)።
  • መሣሪያዎች
    • የ amdgpu ሹፌር ለአዲሱ AMD Radeon RX 6000 ተከታታይ ጂፒዩዎች ድጋፍ ይሰጣል፣ በኮድ የተሰየሙት “Beige Goby” (Navi 24) እና “Yellow Carp”፣ እንዲሁም ለ Aldebaran GPU (gfx90a) እና Van Gogh APU የተሻሻለ ድጋፍ። ከበርካታ የኢዲፒ ፓነሎች ጋር በአንድ ጊዜ የመስራት ችሎታ ታክሏል። ለ APU Renoir በቪዲዮ ማህደረ ትውስታ (TMZ, የታመነ ማህደረ ትውስታ ዞን) ከተመሰጠሩ ቋቶች ጋር አብሮ ለመስራት ድጋፍ ተተግብሯል. ለሞቅ-ነቅለው ግራፊክስ ካርዶች ድጋፍ ታክሏል። ለ Radeon RX 6000 (Navi 2x) ጂፒዩዎች እና የቆዩ AMD ጂፒዩዎች፣ ASPM (Active State Power Management) ድጋፍ በነባሪነት ነቅቷል፣ ይህም ቀደም ሲል ለNavi 1x፣ Vega እና Polaris GPUs ብቻ ነበር።
    • ለኤ.ዲ.ኤም ቺፕስ የራሳቸው የማህደረ ትውስታ አስተዳደር ክፍሎች (ኤምኤምዩ ፣ የማህደረ ትውስታ አስተዳደር ዩኒት) ያላቸውን መሳሪያዎች ለመጠቀም የሚያስችል በኤችኤምኤም (Heterogeneous memory management) subsystem ላይ በመመስረት ለጋራ ቨርቹዋል ማህደረ ትውስታ (SVM ፣ የጋራ ምናባዊ ማህደረ ትውስታ) ድጋፍ ተጨምሯል። ዋና ማህደረ ትውስታን መድረስ የሚችል. በተለይም ኤችኤምኤምን በመጠቀም በጂፒዩ እና በሲፒዩ መካከል የጋራ አድራሻ ቦታን ማደራጀት ይችላሉ ፣ በዚህ ውስጥ ጂፒዩ የሂደቱን ዋና ማህደረ ትውስታ ማግኘት ይችላል።
    • ለኤ.ዲ.ዲ ስማርት Shift ቴክኖሎጂ የመጀመሪያ ድጋፍ ታክሏል፣ ይህም የሲፒዩ እና የጂፒዩ ሃይል ቅንጅቶችን በላፕቶፖች ላይ ከ AMD ቺፕሴት እና ግራፊክስ ካርድ ጋር ለጨዋታ፣ ለቪዲዮ አርትዖት እና ለ3D አተረጓጎም አፈጻጸምን ለማሳደግ በተለዋዋጭ መንገድ ይለውጣል።
    • ለኢንቴል ግራፊክስ ካርዶች የ i915 ሾፌር ለኢንቴል አልደርላክ ፒ ቺፕስ ድጋፍን ያካትታል።
    • ለ Hyper-V ምናባዊ ግራፊክስ አስማሚ ታክሏል drm/hyperv ነጂ።
    • ለ Raspberry Pi 400 ሁሉን-በአንድ-ኮምፒውተር ድጋፍ ታክሏል።
    • በ Dell ላፕቶፖች ውስጥ የተካተቱትን የሃርድዌር ካሜራ እና ማይክሮፎን መቀየሪያዎችን ለመደገፍ ዴል-wmi-ግላዊነት ሾፌር ታክሏል።
    • ለ Lenovo ላፕቶፖች፣ ባዮስ መቼቶችን በ sysfs/sys/class/firmware-attributes/ ለመቀየር WMI በይነገጽ ተጨምሯል።
    • የUSB4 በይነገጽ ላላቸው መሳሪያዎች የተዘረጋ ድጋፍ።
    • ለ AmLogic SM1 TOACODEC፣ Intel AlderLake-M፣ NXP i.MX8፣ NXP TFA1፣ TDF9897፣ Rockchip RK817፣ Qualcomm Quinary MI2 እና Texas Instruments TAS2505 የድምጽ ካርዶች እና ኮዴኮች ድጋፍ ታክሏል። በHP እና ASUS ላፕቶፖች ላይ የተሻሻለ የድምጽ ድጋፍ። ኦዲዮ በUSB መሳሪያዎች ላይ መጫወት ከመጀመሩ በፊት መዘግየቶችን ለመቀነስ ፕላቶች ታክለዋል።

ምንጭ: opennet.ru

አስተያየት ያክሉ