ááŸá
áºáááŒá¬ááœá¶á·ááŒáá¯ážááá¯ážáááºááŒá®ážáá±á¬áẠLinus Torvalds
áá¬ážááŸááºážá¡áá
áºááœáẠ16074 developer áá»á¬ážá០ááŒá¯ááŒááºááŸá¯áá»á¬áž 2011 áá«áááºáááºá
patch á¡ááœááºá¡á
á¬áž - 62 MB (áááºáá±á¬ááºááŸá¯ááŸááá±á¬ 14548 ááá¯ááºáá»á¬ážááᯠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá áá¯ááºááá¯ááºáž 782155 ááá¯ááºážááᯠáá±á«ááºážááá·áºáá²á·ááŒá®áž 314792 ááá¯ááºážááᯠáá»ááºáá
áºáá²á·áááº)á 45 ááœááºáááºááŒáá°á¡á¬ážáá¯á¶ážá 5.9% ááá·áº
á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááẠá
ááºáá
á¹á
ááºážáááá¯ááºáá¬áá»á¬ážááŸáá·áº áááºá
ááºáá±ááŒá®áž á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá 15% ááá·áºááŸááááºá
áá¬á·ááºáá²áááá¯áá¬áá»á¬ážááá¯ááºáᬠáá¯ááºáá®ážááá·áº á¡ááºááááºáá¯ááºááŒááºážá¡áá±á«áº ááá±á¬áá¬áž 13%á
network stack ááŸáá·áº áááºáááºáá±á¬á ááá¯ááºá
áá
áºáá»á¬ážááá¯á· 3% ááŸáá·áº internal á¡ááœáẠ3%
kernel ááœá²á
áá
áºáá»á¬ážá
- Memory ááŸáá·áº System áááºáá±á¬ááºááŸá¯áá»á¬áž
-
áááºážáá»áẠGPL ááá¯ááºá ááºá¡á±á¬ááºááŸá module áá»á¬ážá¡ááœááºáᬠáááºááá¯á·ááá·áº kernel á¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áº áá°ááá¯ááºááœáá·áºáá¬ááºáá±á¬ááºážáá»á¬ážááᯠáá»áááºáááºáááºá¡ááœáẠGPL á¡ááœáŸá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá០áá¬ááœááºááŒááºážá TAINT_PROPRIETARY_MODULE á¡áá¶ááẠááá¯á¡áá¶áá«ááŸááá±á¬ áá±á¬áºáá»á°ážáá»á¬ážá០áááºá¹áá±ááá»á¬ážááᯠáááºááœááºážááá·áº áá±á¬áºáá»á°ážáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠá¡ááœá±áááºáá¶áá¬ážáá«áááºá GPL module áá áºáá¯ááẠGPL ááá¯ááºáá±á¬ module áá áºáá¯á០áááºá¹áá±ááá»á¬ážááᯠáááºááœááºážááẠááŒáá¯ážáááºážáá«áá GPL module ááẠTAINT_PROPRIETARY_MODULE á¡ááœáŸááºážááᯠá¡ááœá±áááºáá¶áááºááŒá áºááŒá®áž GPL ááá¯ááºá ááºá modules áá»á¬ážááœááºáᬠáááŸáááá¯ááºáá±á¬ kernel á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááºááá¯ááºáá±á "gplonly" á¡áá»áá¯ážá¡á á¬ážá ááŒá±á¬ááºážááŒááºáá±á¬á·áẠ(EXPORT_SYMBOL_GPL ááᯠáááºááœááºážááá·áº áá±á¬áºáá»á°ážáá»á¬ážááœáẠEXPORT_SYMBOL_GPL ááá¯áᬠáááºááá¯á·áá±áááº)á áá°ááá¯ááºáááá¯ááºáá¬áá»á¬ážá áá¯ááºáá±á¬ááºááŸá¯ááᯠáá»áá¯ážáá»ááºááá¯ááºáá±á¬á á¡áá±á¬ááºá¡áááºááá±á¬áºáá« (áá°ááá¯áẠáá±á¬áºáá»á°ážá¡áá¶ááá¯áᬠá¡ááœá±áááºáá¶áá¬ážáá±á¬áºáááºáž GPL á ááºážááŸá±á¬ááºááŒááºážááá¯ááº)á -
áááºááŒá±á¬áá«áááºá kcompactd á¡ááºáá»ááºáá»á¬ážá¡ááœáẠá¡áá±á¬ááºá¡áá¶á·ááŸááºáá¬ááºá á¬áá»ááºááŸá¬áá»á¬ážááᯠááŒáá¯áááºáá¯ááºááá¯ážááŒááºážá kernel ááœááºáááŸáááá¯ááºáá±á¬ááŒá®ážáá¬ážáá±á¬ááŸááºáá¬ááºá á¬áá»ááºááŸá¬á¡áá±á¡ááœááºááá¯ááá¯ážááŒáŸáá·áºáááºáá±á¬ááºáá¶ááœááºá ááá¬áááá·áºááŸááºážáá»ááºáá»á¬ážá¡áá áá±á¬ááºáá¶áá¯ááºááá¯ážááŸá¯ááẠáá¯ááºáá»á ááááºá¡áááºážáááºáá¬ááŸááááŒáá·áº ááŒá®ážáá¬ážáá±á¬ááŸááºáá¬ááºá á¬áá»ááºááŸá¬áá»á¬áž (ááŒá®ážáá¬ážáá±á¬á á¬áá»ááºááŸá¬áá»á¬áž) ááᯠááá¯á¡ááºáá¬áá±á¬á¡áá«ááœáẠá áááºá¡áá¯á¶ážááŒá¯ááá·áº áá¯ááºááá¯ážááŸá¯ááá¹ááá¬ážááŸáá·áº ááŸáá¯ááºážááŸááºáá«á á¡á 70-80 ááŒáá·áº ááœá²áá±áá¬ááœáẠááŸá±á¬áá·áºááŸá±ážááŸá¯ááᯠáá»áŸá±á¬á·áá»ááá¯ááºááẠ) kcompactd áá±ážáá±á¬ááºááá·áº ááŒááºáááœá²ááœá²ááŸá¯á áááºááááááºáá»á¬ážááᯠáááºááŸááºáááºá sysctl vm.compaction_proactiveness ááᯠááá·áºááœááºážáá¬ážáááºá -
áááºááŒá±á¬áá«áááºá á¡ááºáááá¯áá®áááºááᯠá¡áá¯á¶ážááŒá¯á kernel áá¯á¶áá»á¯á¶á·ááŸá¯á¡ááœáẠáá¶á·ááá¯ážááŸá¯zstandard (zstd)á - áááá¯áááºáá¬ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡á¬áž x86 á
áá
áºáá»á¬ážá¡ááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
FSGSBASE á¡áá¯á¶ážááŒá¯áá°áá±áá¬á០FS/GS ááŸááºáá¯á¶áááºááŸá¯áá»á¬ážá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáááºááŒá®áž ááŒá±á¬ááºážáá²ááá¯ááºá á±áá±á¬á kernel ááœááºá GSBASE á¡ááœáẠáááá¯á¡ááºáá±á¬ MSR áá±ážááŒááºážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááºááŸá¬ážááŒááºážááŒáá·áº áááºá ááºááŒá±á¬ááºážáá²ááŸá¯ááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡ááŸáááºááŒáŸáá·áºááẠFSGSBASE ááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž á¡áá¯á¶ážááŒá¯áá°áá±áá¬áá»á¬ážááœáẠFS/GS ááᯠááŒá±á¬ááºážáá²ááẠáááá¯á¡ááºáá±á¬ á áá áºáá±á«áºááá¯ááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážáááºá -
áááºááŒá±á¬áá«áááºá "allow_writes" ááá·áºáááºáá»ááºááẠááá·áºá¡á¬áž á¡áá¯á¶ážááŒá¯áá°áá±áá¬á០áááá¯áááºáá¬á MSR ááŸááºáá¯á¶áááºááŸá¯áá»á¬ážááᯠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáá¬ážááŒá áºááá¯ááºááŒá®áž áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááºááẠá€á á¬áááºážááœááºážáá»á¬ážá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááœáá·áºááᯠááá·áºáááºáá¬ážááá¯ááºáá±á¬ááŒá±á¬áá·áºá MSR ááᯠááŒá±á¬ááºážáá²ááŒááºážááẠááŒá¿áá¬áá»á¬ážááŸááá¬ááá¯ááºáááºá áá¯á¶áá±á¡á¬ážááŒáá·áºá á á¬áá±ážááŒááºážááᯠáááááºáá±ážáá²á MSR ááá¯á· ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠááŸááºáááºážááœáẠáááºáááºá á±áá±á¬áºáááºáž áá±á¬ááºááœáẠáááºážááẠáá°áááºážá¡áá¯á¶ážááŒá¯ááœáá·áºááᯠáááºááŸá¯áááºáá¯ááºááá¯á· ááŒá±á¬ááºážááẠá á®á ááºáá¬ážáááºá - á¡ááŒáá¯ááºá¡ááá¯áẠI/O áá»ááºááŸá¬ááŒááºááá¯á·
io_uring kernel thread áá»á¬ážáááá¯á¡ááºáá±á¬ á¡ááŒáá¯ááºá¡ááá¯áẠbuffered read operations á¡ááœáẠá¡ááŒáá·áºá¡á áá¶á·ááá¯ážááŸá¯ ááá·áºáá±ážáá¬ážáá«áááºá á¡áá¶ááœááºážááŒááºážááá¯ááºáᬠáá¶á·ááá¯ážááŸá¯ááᯠá¡áá¬áááºááœáẠááœááºááŸááá¬áááºáᯠáá»áŸá±á¬áºááá·áºááááºá - I/O á¡á
á®á¡á
ááºááœá²ááá·áº áá±á¬ááºáá¯á¶ážáááºááœááº
á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá á áœááºážáááºá¡ááá¯áẠá á®á ááºáá±á¬ááºááœááºááŒááºážáááœáá·áºááŒá¯ááŒááºážá ARM-based á áá áºáá»á¬ážáá²á·ááá¯á· á¡áá»áá¯ážááá®áá±á¬ á áá áºáá»á¬ážá¡ááœáẠááŸááºáááºáá±á¬ áá¯á¶ážááŒááºáá»ááºáá»á¬ážáá»áá«áDynamIQ ááŸáá·áº big.LITTLEá á áœááºážáá±á¬ááºáááºáááºážáá±á¬ á áœááºážá¡ááºáááºáá¬áá±á¬ CPU cores áá»á¬ážááᯠáá»á áºááºáá áºáá¯ááœáẠáá±á«ááºážá ááºáá¬ážááá·áº big.LITTLEá á¡áá°ážáááŒáá·áºá ááŸá±ážááœá±ážáá±á¬ CPU core ááœáẠá¡áá¯ááºáá áºáá¯ááᯠá¡áá»áááºáá®ááŒá®ážááŒá±á¬ááºááẠááá·áºáá»á±á¬áºáá±á¬á¡áááºážá¡ááŒá áºáá»á¬ážáááŸáááá·áºá¡áá« áá¯ááºá¡áá áºááẠááá·áºá¡á¬áž á¡áá»áááºááá¬ážááœá²ááŒááºážááá°áá®ááŸá¯ááᯠááŸá±á¬ááºááŸá¬ážááá¯ááºá á±áá«áááºá - kernel (Energy Model framework) ááŸá á
áœááºážá¡ááºáá¯á¶ážá
áœá²ááŸá¯áá¯á¶á
á¶ááẠááá¯ááŒá
áºáááºá
áá±á¬áºááŒááẠCPU áá«áá«áá¯á¶ážá áœá²ááŸá¯á¡ááŒá¯á¡áá°áá¬áá á¡áá¶áááááá¬áá»á¬ážááá¯áá« á¡áá»á¯á¶ážáááºáá«áááºá - close_range() á áá áºáá±á«áºááá¯ááŸá¯ááẠáá¯ááºáááºážá ááºáá áºáá¯á¡á¬áž ááœáá·áºáá¬ážáá±á¬ ááá¯ááºáá±á¬áºááŒáá»ááºáá±ážááá·áº á¡ááœá¬á¡áá±ážáá áºáá¯áá¯á¶ážááᯠáá áºááŒáá¯ááºááẠááááºááá¯ááºá á±ááẠááœáá·áºááŒá¯áá¬ážáá«áááºá
- text console ááŸáá·áº fbcon driver ááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŸ
áá¯ááºááᯠáááºááŸá¬ážáá²á·áááºá VGA á á¬áá¬ážáá¯áẠáá®áá®ááᯠáááºááá¯áá®ááá¬ááááºááá¯á á á¬áá¬ážáá±á¬ááºááá¯á· (CONFIG_VGACON_SOFT_SCROLLBACK) ááᯠáááá¯ááááºááŒáá·áº ááœáŸá±á·ááẠá áœááºážáááºááᯠáá¶á·ááá¯ážáá±ážáá±á¬á -
ááŒááºáááºáá®ááá¯ááºážáá¯ááºáá¬ážáááºá kernel á¡ááœááºážááŸá thread áá»á¬ážááá¯áŠážá á¬ážáá±ážáááºááŸááºááŒááºážá¡ááœáẠalgorithm ááœá±ážáá»ááºááŸá¯á¡áá áºááẠá¡áá»áááºááŸáá·áºáá áºááŒá±ážáá® áá¯ááºáá±á¬ááºá áá¬áá»á¬ážááᯠáŠážá á¬ážáá±ážáááºááŸááºááá·áºá¡áá« kernel ááœá²á áá áºáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áá®ááœááºááŸá¯ááá¯áá±ážáááºá - sysctl ááᯠááá·áºáá¬ážáááºá
sched_uclamp_util_min_rt_default á¡áá»áááºááŸáá·áºáááŒá±ážáá® áá¯ááºáá±á¬ááºá áá¬áá»á¬ážá¡ááœáẠCPU ááŒáŸáá·áºáááºááŒááºážáááºáááºáá»á¬ážááᯠááááºážáá»á¯ááºááẠ(á¥ááá¬á áááºááá®á¡á¬ážááá¯á·ááŒá±á¬ááºážááŒá®ážáá±á¬áẠáá«áá«áá»áœá±áá¬ááẠááá¯á·ááá¯áẠááá¯ááá¯ááºážá áá áºáá»á¬ážáá±á«áºááœáẠáá«áá«áá»áœá±áá¬ááẠáá»á¶áááºážáá±áá±á¬á¡áá»áááºááŸáá·áºáááŒá±ážáá® áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááºááŒá±á¬ááºážáá²ááá¯ááºáááºá) - á á¬áá»ááºááŸá¬ cache ááŸá Transparent Huge Pages áááºážááá¬ááᯠáá¶á·ááá¯ážáá°áá®áááºá¡ááœáẠááŒááºáááºááŸá¯áá»á¬áž ááŒá¯áá¯ááºáá¬ážáá«áááºá
- áááºáá®ážááŒááºážá áá»ááºááŒááºáž ááá¯á·ááá¯áẠááœá±á·áá»á¬ážááŸá¯ááŒá áºáááºáá»á¬áž áááºážááœáŸááºá¡áá¬áá»á¬ážááŸáá·áº áááºážááœáŸááºááá¯ááºáá±á¬ á¡áá¬ááá¹áá¯áá»á¬ážá¡ááœáẠáááºáá®ážááŒááºážá áá»ááºááŒááºáž ááá¯á·ááá¯áẠááŸá¯ááºááŸá¬ážááŸá¯ááŒá áºáááºáá»á¬áž ááŒá áºáá±á«áºáá±á¬á¡áá«ááœáẠáááºáá¡áááºááŸáá·áº áá°ážááŒá¬ážáá±á¬ FID á¡áá»ááºá¡áááºááᯠá¡á á®áááºáá¶ááẠFanotify á¡ááºáá»ááºááẠFAN_REPORT_NAME ááŸáá·áº FAN_REPORT_DIR_FID á¡áá¶á¡áá áºáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá
- cgroups á¡ááœááº
á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá cgroup áá áºáá¯á á®á¡ááœáẠáá®ážááŒá¬áž slab áááºááŸáºáá»á¬ážááᯠááœá²áá±áá±ážááá·áºá¡á á¬áž slab á á¬áá»ááºááŸá¬áá»á¬ážááᯠááœá²ááŒá¬ážáá±á¬ cgroups ááœáẠáá»áŸáá±ááá¯ááºá á±ááá·áº ááŸááºáá¬ááºá á¬áá»ááºááŸá¬á¡ááá·áºá០kernel á¡áá¬ááá¹áá¯á¡ááá·áºááá¯á· slab á á¬áááºážááŒá¯á á¯ááŒááºážá¡ááœáẠááŸááºáá¬ážááœááºáá±á¬ááºážáá±á¬ slab memory controller á¡áá áºáá áºáá¯á á¡ááá¯ááŒá¯áá¬ážáá±á¬áá»ááºážáááºááŸá¯ááẠslab ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááááá±á¬ááºááŸá¯ááá¯ááá¯ážááŒáá·áºá á±ááŒá®ážá slab á¡ááœááºá¡áá¯á¶ážááŒá¯ááá·áºááŸááºáá¬ááºá¡ááœááºá¡á á¬ážááᯠ30-45% áá»áŸá±á¬á·áá»ááŒááºážááŒáá·áº kernel áá¡áá¯á¶ážá á¯á¶ááŸááºáá¬ááºáá¯á¶ážá áœá²ááŸá¯ááá¯áááááá¬áá¬áá»áŸá±á¬á·áá»áááºááŸáá·áº memory fragmentation ááá¯áá»áŸá±á¬á·áá»ááá¯ááºáááºá - á¡áá¶á
áá
áºááœá²áá²ááŸá¬
ALSA ОUSB á¡ááœáẠ, ááŸááºá·á¡áá®áááŒá¬áá±ážáá®á áááºáá¶áá²á·áááºá Linux kernel ááœááºáá«áááºáá±á¬ áá±á«áá¬áá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŸáá·áºáááºáááºááá·áº á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážá ááá¯ááºáá¶áá±ážá¡á ááŸá¬ážááœááºážáá±á¬á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááᯠááŸááºážáááºážáááºááŸá¬ážáá²á·áááºá áá¯ááºááᯠ"áá»áœááº"á "ááááº"á "á¡áááºáá»ááºá á¬áááºáž" ááŸáá·áº "ááŸáá¯ááºá á¬áááºáž" áá°áá±á¬ á áá¬ážáá¯á¶ážáá»á¬ážááᯠááŸááºážáá¬ážáááºá
-
- Virtualization ááŸáá·áº áá¯á¶ááŒá¯á¶áá±áž
- kernel ááá¯áááºáá±á¬ááºáá±á¬á¡áá« Clang compiler ááá¯á¡áá¯á¶ážááŒá¯áááºá
áááºáááºááŸá¬áž stack ááœááºááááºážáááºážáá¬ážááá·áº variable á¡á¬ážáá¯á¶ážááᯠáá¯áááá¯á· á¡ááá¯á¡áá»á±á¬ááºá áááºááŒááºáž (CONFIG_INIT_STACK_ALL_ZERO) ááᯠconfigure áá¯ááºááá¯ááºá áœááºáž (áááºáá±á¬ááºáá±á¬á¡áá«á â-ftrivial-auto-var-init=zeroâ ááᯠáááºááŸááºáá«)á - seccomp á
áá
áºááœá²ááœááºá áá¯á¶ážá
áœá²áá°áá±áá¬ááŸá áá¯ááºáááºážá
ááºááááºážáá»á¯ááºááŸá¯áá¯ááºááᯠá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á
áááºááŒá±á¬áááºá á¡ááœáá·áºá¡áá±áž ááá¯ááºáá±á¬áºááŒáá»ááºáá»á¬ážá¡á¬áž áááºáá®ážááŒááºážáá®ááá¯á· áŠážáááºá á±áá±á¬ á áá áºáá±á«áºááá¯ááŸá¯áá»á¬ážááᯠá¡ááŒáá·áºá¡áá¡áá¯áá°ááẠá á±á¬áá·áºááŒáá·áºáá¬ážáá±á¬ áá¯ááºáááºážá ááºááœáẠááá¯ááºáá±á¬áºááŒáá°á¡á¬áž á¡á á¬ážááá¯ážááŒááºážá áá®ážááŒá¬ážááœááºááááºáá¬á áá áºáá»á¬ážááŸáá·áº Chrome á¡ááœáẠsandbox á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážááœáẠáá¯ááºáá±á¬ááºáá»ááºááẠááá¯á¡ááºáá»ááºááŒá áºáááºá - xtensa ááŸáá·áº csky áááá¯áá¬áá»á¬ážá¡ááœááºá seccomp á áá áºááœá²ááᯠá¡áá¯á¶ážááŒá¯á á áá áºáá±á«áºááá¯ááŸá¯áá»á¬ážááᯠááá·áºáááºáááºá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááá·áºááœááºážáá¬ážáááºá xtensa á¡ááœááºá á á¬áááºážá á áºááá¹ááá¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠáááºáá±á¬ááºážáá¯ááºáá±á¬ááºáá«áááºá
-
áááºááŒá±á¬áá«áááºá á áœááºážáááºá¡áá¶á¡áá ẠCAP_CHECKPOINT_RESTOREá áááºážááẠááá·áºá¡á¬áž á¡ááá¯á¡ááœáá·áºáá°ážáá»á¬ážááá¯ááœáŸá²ááŒá±á¬ááºážááŒááºážáááŸááá² á¡á±ážáá²ááŒááºážááŸáá·áº áá¯ááºáááºážá ááºáá»á¬ážáá¡ááŒá±á¡áá±ááᯠááŒááºáááºááá°ááŒááºážááá¯ááºáᬠá áœááºážáááºáá»á¬ážááá¯á· áááºáá±á¬ááºááœáá·áºááᯠáá±ážáá±á¬ááºááœáá·áºááŒá¯áááºá - GCC 11 ááẠáááºááá¯á¡ááºáá±á¬ á¡ááºá¹áá«áááºá¡á¬ážáá¯á¶ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
á¡ááŸá¬ážááŸá¬ááŒááºážáá°ážáẠKCSAN (Kernel Concurrency Sanitizer)á ááá¯á·ááŒá±á¬áá·áº ááᯠKCSAN ááᯠGCC ááœááºáááºáá±á¬ááºáá¬ážáá±á¬ kernels áá»á¬ážááŒáá·áºá¡áá¯á¶ážááŒá¯ááá¯ááºáá«ááŒá®á - AMD Zen ááŸáá·áº á¡áá
áºáá±á¬ CPU áá±á¬áºáááºáá»á¬ážá¡ááœááº
áááºááŒá±á¬áááºá PCI bus ááŸáá·áº áá»áááºáááºáá¬ážáá±á¬ á ááºááŸá áºáá¯á¶ážá áááºááá¯áá®áá»á¬ážááŒá¬áž ááá¯ááºááá¯ááºáá±áá¬ááœáŸá²ááŒá±á¬ááºážáááºá¡ááœáẠDMA ááᯠá¡áá¯á¶ážááŒá¯ááẠP2PDMA áááºážááá¬ááᯠáá¶á·ááá¯ážáá±ážáááºá - á¡áá¯ááºáááºážá
á®ááŒááºážáá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá² áá»áŸáá¯á·ááŸááºáá¯ááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºážááŒáá·áº latency áá»áŸá±á¬á·áá»ááá¯ááºá
á±ááá·áº áá¯ááºááᯠdm-crypt ááœáẠááá·áºááœááºážáá¬ážáá«áááºá á€áá¯ááºááẠááŸááºáááºáá±á¬áá¯ááºáá±á¬ááºááŸá¯ááŸáá·áºá¡áá° ááá¯á¡ááºáá«áááºá
áá¯ááºáááºááŸááºáá¬ážáááºá ááááºááá¯á·ááá·áºáááááá¬áá»á¬áž (á¡á á®á¡á á¥áºáá±ážáá¬ážáááá·áº á§áááá¬áá»á¬ážáá«ááŸááá±á¬ á ááºáááááá¬áá»á¬ážá ááá±á¬ááºá¡á¯ááºá á¯áá áºáá¯áá¯á¶ážááᯠá¡ááá·áºááŒáŸáá·áºáááºááŒááºáž)á dm-crypt ááœáẠlatency ááᯠáá»áŸá±á¬á·áá»áááºááŸáá·áº ááŒááºáááºážááŸá¯ááᯠááá¯ážááŒáá·áºá á±ááẠáá¯ááºáá±á¬ááºááŒá®ážááŒá áºáááºá - Xen hypervisor ááá¯á¡áá¯á¶ážááŒá¯ááá·áº paravirtualization áá¯ááºááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº 32-bit á§áá·áºáááºáá»á¬ážááᯠáá¶á·ááá¯ážááẠáá¯ááºááᯠáááºááŸá¬ážáá¬ážáááºá ááá¯ááá¯á·áá±á¬á áá áºáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠá§áá·áºáááºáááºáááºážáá»ááºááœáẠ64-bit kernels ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááá¯á·ááŒá±á¬ááºážááá·áºááẠááá¯á·ááá¯áẠá¡ááŒáá·áºá¡á (HVM) ááá¯á·ááá¯áẠáá±á«ááºážá ááºáá¬ážáá±á¬ (PVH) virtualization áá¯ááºáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒá®áž áááºáááºážáá»ááºááá¯áááºáááºáááºá¡ááœáẠparavirtualization (PV) ááá¯á¡áá¯á¶ážááŒá¯áá«á
- kernel ááá¯áááºáá±á¬ááºáá±á¬á¡áá« Clang compiler ááá¯á¡áá¯á¶ážááŒá¯áááºá
- Disk ááœá²á
áá
áºá I/O ááŸáá·áº ááá¯ááºá
áá
áºáá»á¬áž
- Btrfs ááá¯ááºá
áá
áºááœááº
á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá á¡ááŒá¬ážááŒááºáááºááá°áá±ážááœá±ážáá»ááºá áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááœáá·áºááᯠáá±á«ááºážá ááºážáá¬ážááá·áº "áááºáááºáá±áž" mount option áá áºáá¯á "alloc_start" ááŸáá·áº "subvolrootid" ááœá±ážá áá¬áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡á¬áž áááºááŸá¬ážááá¯ááºááŒá®áž "inode_cache" ááœá±ážáá»ááºááŸá¯ááᯠáááºááá·áºáá¬ážáááºá á¡áá°ážáááŒáá·áº fsync() áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŸá¯ááᯠáááááá¬áᬠá¡ááŸáááºááŒáŸáá·áºáá±ážáá¬ážááŒá®áž á áœááºážáá±á¬ááºááẠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠáá¯ááºáá±á¬ááºáá¬ážáá«áááºááááºááŒá±á¬áá«áááºá CRC32c ááŸááœá²á á¡ááŒá¬áž checksum á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá -
áááºááŒá±á¬áá«áááºá "inlinecrypt" mount option ááá¯áá±ážáá¬ážááá·áºá¡á¬ážááœáá·áºáááºá¡ááœáẠext4 ááŸáá·áº F2FS ááá¯ááºá áá áºáá»á¬ážááœáẠinline áá¯ááºááŸááºááŒááºáž (Inline Encryption) ááá¯áá¯á¶ážááá¯ááºáááºá Inline áá¯ááºááŸááºááŒááºážáá¯ááºááœáẠááá·áºá¡á¬áž ááœáá·áºáááºážááŒááºáá¬á áœá¬ áá¯ááºááŸááºááŒá®áž á¡áááº/á¡ááœááºááᯠá á¬ááŸááºáá±ážááá·áº drive controller ááœáẠáááºáá±á¬ááºáá¬ážáá±á¬ áá¯ááºááŸááºáá±ážááá¹ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºáá±ážáááºá - XFS ááœááº
áá¯á¶ááŒá¯á¶áááºá áááºááá¯áá®ááŸááºážáááºážááŸá¯ áá¯ááºáá±á¬ááºáá»ááºááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá« áá¯ááºáááºážá ááºáá»á¬ážááᯠááááºááá¯á·ááŒááºážáááŒá¯ááá·áº áá¯á¶ážá á¡ááá·áºá¡áá¬ážáá¯ááºááœáẠááŒááºáááºáááºááŸááºááŒááºáž (flush)á áá»á±á¬á·áá»á±á¬ááºážáá±á¬ááá·áºáááºáá»ááºááŸáá·áº inode ááá·áºáááºááááá±ážáá»ááºáá»á¬ážááᯠááŸá¬ážááœááºážááŒá±áá¬áá¶ááá á±ááá·áº áá¬áááŸááºááŒá¬ ááœá²áááºážááŒá¿áá¬ááᯠááŒá±ááŸááºážáá²á·áááºá ext4 ááŸáá·áº xfs á¡ááœáẠDAX áá¶á·ááá¯ážááŸá¯ááᯠáá áºá á¯áá áºá ááºážáááºáž á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá - Ext4 ááŸá¬
á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá ááááºááá¯á·ááœá²áá±ááŸá¯ áá áºááŒá±áá¯á¶áá»á¬ážááᯠááŒáá¯áááºáááºáá«á áá áááºááá±ážáá±á¬á¡ááœá²á·áá»á¬ážáá áááºááºáááºááŒááºážááá¯ááá·áºáááºááŒááºážááŸáá·áºá¡áá°á ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážá á¡ááœááºááŒá®ážáá¬ážáá±á¬á¡ááá¯ááºážáá»á¬ážááá¯áááºáááºááẠááá¯á¡ááºááá·áºá¡áá»áááºááᯠáá»áŸá±á¬á·áá»áá±ážáááºá - F2FS ááœááº
áááºááŒá±á¬ááẠioctl F2FS_IOC_SEC_TRIM_FILEá á¥ááá¬á ááá¯ááºáá áºáá¯ááŸá áááºááŸááºáá¬ážáá±á¬áá±áá¬ááᯠáá¯ááºááá¯ááºážááá¯ááºáá¬ááŒááºáááºáááºááŸááºáááºá ááá¯ááºááœááºáá»ááºááŸááá±á¬áá±áá¬áá»á¬ážááá»ááºáá² áá±áá¬áá»ááºááŸááá±áá±á¬á·ááᯠáá»ááºááẠTRIM/discard á¡áááá·áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºááŒá¯ááá·áº ioctlá
F2FS ááŸá¬áááºážáááºááŒá±á¬ááẠá¡ááŸáá¯ááºááááºážáá¯ááºá¡áá ẠGC_URGENT_LOWá á¡ááŸáá¯ááºááááºážáá°áá áááºáá® áááºáá¬ážáá¬ážááá·áºá¡ááŒá±á¡áá±ááœááºááŸááá±ááŒááºážá¡ááœáẠá á áºáá±ážááŸá¯á¡áá»áá¯á·ááᯠáááºááŸá¬ážááŒááºážááŒáá·áº ááá¯ááá¯ááŒááºážáááºá áœá¬áá¯ááºáá±á¬ááºáááºá - bcache ááœááºá á¡ááá¯ááºážá¡áá¬áá»á¬ážá¡ááœáẠbucket_size ááᯠ16 á០32 bits á០zoned device cache ááá¯ááœáá·áºáááºá¡ááœáẠááŒááºáááºáá¬ážáááºá
- UFS controllers á០áá¶á·ááá¯ážáá±ážáá¬ážáá±á¬ áá¬á·ááºáá² áá¯ááºááŸááºááŒááºážá¡áá±á«áº á¡ááŒá±áá¶á inline áá¯ááºááŸááºááŒááºážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á
áœááºážáááºááᯠSCSI á
áá
áºááœá²ááá¯á· ááá·áºááœááºážáá²á·ááẠ(
universal-flash-storage ). - kernel command line parameter á¡áá Ạ"debugfs" ááᯠááá·áºááœááºážáá¬ážááŒá®ážá áááºážááẠá¡áááºáá° pseudo-FS ááááŸáááá¯ááºááŸá¯ááᯠááááºážáá»á¯ááºááá¯ááºá á±áá«áááºá
- NFSv4.2 áá±á¬ááºáááºááẠááá¯ážáá»á²á·ááá¯ááºá¡áááºá¡ááœá±ážáá»á¬áž (xattr) á¡ááœáẠáá¶á·ááá¯ážááŸá¯áá±ážáááºá
- dm-áá¯ááºáá²ááŸá¬
áááºááŒá±á¬ááẠáá áºáá±á«áºááŸá ááá±á¬ááºážáá²á· ááá±á¬ááºáá»á¬ážá á¬áááºážááᯠáá áºááŒáááºáááºážááŒááááºá¡ááœáẠá¡ááºáá¬áá±á·á Ạ(âdmsetup message dust1 0 listbadblocksâ)á - md/raid5 á¡ááœááºá /sys/block/md1/md/stripe_size ááá·áºáááºáá±á¬ááºááᯠSTRIPE á¡ááœááºá¡á á¬ážááᯠáááºááŸááºááẠááá·áºááœááºážáá¬ážáááºá
- NVMe ááá¯ááŸá±á¬ááºááŸá¯áááááá¬áá»á¬ážá¡ááœááº
áááºááŒá±á¬áááºá drive áá±á«áºááŸá áá±áá¬áá±áá¬áá»áá¬ážááŸá¯á¡áá±á«áº ááá¯ááá¯ááŒá®ážááŒáá·áºá á¯á¶áá±á¬ ááááºážáá»á¯ááºááŸá¯áá»á¬ážá¡ááœáẠááá¯ááŸá±á¬ááºááŸá¯áá±áá¬á¡á¬áž ááá±á¬ááºá¡á¯ááºá á¯áá»á¬ážááœá²á·ááá·áº áá¯ááºáá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážááá¯ááºá á±ááá·áº drive áá¯ááºáááºááŸááºááŒááºážá¡áááá·áºáá»á¬áž (ZNSá NVM Express Zoned Namespace) á¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- Btrfs ááá¯ááºá
áá
áºááœááº
- ááœááºáááºá
áá
áºááœá²
- Netfilter ááœááº
áááºááŒá±á¬áááºá áááºážááŒá±á¬ááºážá á áºáá±ážááŒááºážáááŒá¯áá® á¡ááá·áºááœáẠáááºáááºáá»á¬ážááᯠááŒááºážáááºááá¯ááºááŸá¯ (ááá¯á¡áá« ááŒááºážáááºááá·áºá¡áá¯á¶ážá¡ááŸá¯ááºážááᯠINPUTá FORWARD ááŸáá·áº OUTPUT ááœááºážáááºáá»á¬ážááœááºáá¬áá icmp ááŸáá·áº tcp á¡ááœáẠááŒáá¯áááºááŒááºáááºááŒááºážá¡ááá·áºááœááºáááºáž á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá) - nftables ááœááº
áááºááŒá±á¬áááºá configuration á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááŸáá·áº áááºá ááºáá±á¬ ááŒá áºáááºáá»á¬ážááᯠá á áºáá±ážááẠá áœááºážáááºá - netlink API ááŸá nftables ááœááº
áááºááŒá±á¬áááºá á¡áááºáááááœááºážáááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á á¡áááºáááááœááºážáááºáá áºáá¯ááŸáá·áº áááºá ááºáá±ááá·áº á ááºážáá»ááºážáá áºáá¯ááᯠáááºáá»ááºáá±á¬á¡áá«á ááœááºážáááºááá¯ááºááá¯ááºá á¡ááá¯á¡áá»á±á¬áẠáá»ááºááœá¬ážáááºááŒá áºáááºá - BPF ááẠá¡áá¯á¶ážááŒá¯áá°áá±áá¬ááá¯á· áá±áá¬áá°ážáá°ááŒááºážáááŒá¯áá² ááœá²áááºá¡áááºážá¡áá»ááºážáá»á¬áž (ááŒá±áá¯á¶áá»á¬áž) áááŒááºá ááºáá»á¬ážááᯠááŒááºáá»á±á¬áºáááºá á á áºáá¯ááºáááºááŸáá·áº ááŒá¯ááŒááºááœááºážáá¶áááºá¡ááœáẠiterators áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºáá±á¬ááºážáá±ážáá«áááºá Iterators áá»á¬ážááᯠTCP ááŸáá·áº UDP socket áá»á¬ážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž BPF áááá¯ááááºáá»á¬ážááᯠááœáá·áºáá¬ážáá±á¬ sockets á á¬áááºážáá»á¬ážáá±á«áºááœáẠáááºááá²áá²ááŒá¯áá¯ááºááá¯ááºááŒá®áž áááºážááá¯á·áá¶á០ááá¯á¡ááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠáá¯ááºáá°ááá¯ááºá á±áá«áááºá
- kernel ááẠá¡áááºáá»áááºáááºááŸá¯á¡ááœáẠááá·áºáá»á±á¬áºáá±á¬ áá¬ážáááºáá±á¬á·ááºáá²ááᯠááŸá¬ááœá±áá±á¬á¡áá«ááœáẠBPF áááá¯áááẠBPF_PROG_TYPE_SK_LOOKUP á¡áá»áá¯ážá¡á á¬ážá¡áá áºááᯠáááºááá·áºáá²á·áááºá á€áá²á·ááá¯á·áá±á¬ BPF áááá¯ááááºááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áºá áááºááẠbind() á áá áºáá±á«áºááá¯ááŸá¯ááŒáá·áº ááá·áºáááºááŒááºážáááŒá¯áá² áááºááá·áº socket áá áºáá¯ááŸáá·áºáá»áááºáááºááá·áºáááºáá°áá±á¬ áá¯á¶ážááŒááºáá»ááºáá»á¬ážáá»ááá¯ááºááá·áº áááºááá¯ááºáá»á¬ážááᯠáááºáá®ážááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠááááºá á¬á¡ááœá¬á¡áá±áž ááá¯á·ááá¯áẠááááºáááºážáá»á¬ážááŸáá·áºá¡áá° socket áá áºáá¯áááºážááᯠáá»áááºáááºááá¯ááºáááºá ááá¯á·á¡ááŒááºá SO_KEEPALIVE á¡áá¶á¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡á¬áž bpf_setsockopt() ááœáẠáá±á«ááºážááá·áºáá¬ážááŒá®ážá áá±á¬á·áá²ááºááᯠááœááºáá¬áá±á¬á¡áá«ááœáẠáá¯áá±á«áºáá±á¬ BPF_CGROUP_INET_SOCK_RELEASE áááºááá¯ááºáááááá¬áá»á¬ážááᯠáááºáááºááá¯ááºá áœááºážááᯠááá·áºááœááºážáá¬ážáá«áááºá
- Protocol áá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
PRP (Parallel Redundancy Protocol)á ááœááºáááºá¡á áááºá¡ááá¯ááºážáá»á¬áž áá»áá¯á·ááœááºážááŸá¯ááŒá áºááá·áºá¡áá«ááœáẠá¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠááœáá·áºáááºážááŒááºáá¬áá±á¬ á¡áááºáá»ááºáááºááá¯á· Ethernet-based ááŒá±á¬ááºážááŒááºážááᯠááœáá·áºááŒá¯áááºá - stack mac80211
áááºááŒá±á¬áááºá access point mode ááœáẠá¡ááá·áºáá±ážááá·áº WPA/WPA2-PSK áá»ááºáááºááŸáááŸáá¯ááºážááŸá¯á¡ááœáẠáá¶á·ááá¯ážááŸá¯á - FQ-PIE (Flow Queue PIE) ááœááºáááºá áááºážá á®á á®áá¶ááá·áºááœá²ááŸá¯ á¡ááºáááá¯áá®áááºááᯠá¡áá¯á¶ážááŒá¯ááẠqdisc (á á®áááºážá ááºážáááºáž) á¡á á®á¡á ááºááœá²ááá¯ááºá áœááºážááᯠáá¯á¶áá±ááŒáá·áº áá±á«ááºážááá·áºáá¬ážáᬠááœááºáááºáá»á¬ážááœáẠá¡áááºá¡ááẠáááºáááºááŒá¬ážáá¶á áá Ạ(bufferbloat) áá±á«áºááŸá á¡á áœááºážááá±á¬ááºáá±á¬ ááœááºáááºáááááá¬áá»á¬áž (bufferbloat) á á¡áá»ááºááá±á¬áá±á¬ááºáá±á¬ áááºáá±á¬ááºááŸá¯ááᯠáá»áŸá±á¬á·áá»ááẠáááºááœááºáááºá áá±áááºáẠááá¯áááºá
- á¡ááºá¹áá«áááºá¡áá áºáá»á¬ážááᯠMPTCP (MultiPath TCP) ááá¯á· áá±á«ááºážááá·áºáá¬ážááŒá®ážá ááá°áá®áá±á¬ IP ááááºá á¬áá»á¬ážááŸáá·áº áá»áááºáááºáá¬ážáá±á¬ ááá°áá®áá±á¬ IP ááááºá á¬áá»á¬ážááŸáááá·áº áááºážááŒá±á¬ááºážáá»á¬ážá áœá¬áá áºáá»áŸá±á¬áẠTCP áá»áááºáááºááŸá¯á áááºáááºáá¯ááºáá±á¬ááºááŸá¯ááᯠá á®á ááºáááºá¡ááœáẠTCP áááá¯ááá¯áá±á¬á ááá¯ážáá»á²á·ááŸá¯áá»á¬ážááᯠááá·áºááœááºážáá¬ážáá«áááºá syn cookieá DATA_FINá ááŒá¬ážáá¶á¡ááá¯á¡áá»á±á¬ááºáá»áááºááŸáááŒááºážá socket á¡ááŒá±ááŸá¬ááŒááºážáá»á¬ážááŸáá·áº setsockopt ááœáẠREUSEADDRá REUSEPORT ááŸáá·áº V6ONLY á¡áá¶áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºááá·áºáá¬ážáááºá
- á áá áºáá áºáá¯ááœáẠáááºážááŒá±á¬ááºážááŒááá¯ááááºážá¡áá»á¬ážá¡ááŒá¬ážá áááºáááºááŸá¯ááᯠá á¯á ááºážááœáá·áºááŒá¯ááá·áº VRF (Virtual Routing and Forwarding) á¡ááœááºá "áááºážáá»ááºáá±á¬" áá¯ááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá á€áá¯ááºááœááºá á¡áá¯á¡áá±á¬ááºááá¬ážááẠá¡ááŒá¬áž virtual tables áá»á¬ážááœáẠá¡áá¯á¶ážáááŒá¯áá±á¬ áááºážááŒá±á¬ááºážááŒááá¬ážááŸáá·áºáᬠáááºá ááºááá¯ááºáááºá
- ááŒáá¯ážáá²á·áá¬ááºáá±á¬ááºážááẠath11k ááŒá
áºáááºá
áááºááŒá±á¬áááºá 6GHz ááŒáááºááŸá¯ááºážááŸáá·áºáá±á¬ááºáá¶á·áááºááá±á¬ááºá ááºáááºážá áááºááºáááºááŒááºážá .
- Netfilter ááœááº
- áá
á¹á
ááºážááááá¬
- áá®áááºážááá¹áááá¯ááºá ááá¯ááºáááá¯áááá¯áááºáá¬á ááºáá¬ááœáẠáá®ááœááºááŒá®áž 2011 áá¯ááŸá áºááœáẠLinux kernel ááœáẠááá·áºááœááºážáá¬ážáá±á¬ UniCore áááá¯áá¬ááᯠáá¶á·ááá¯ážááẠáá¯ááºááᯠáááºááŸá¬ážáá²á·áááºá á€áááá¯áá¬áááºáá¬ááᯠ2014 áá¯ááŸá áºááááºážá áááááºážááááºážáá¬ážááá±ážáá² GCC ááœáẠáá¶á·ááá¯ážááŸá¯áááŸááá«á
- RISC-V áááá¯áá¬á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
kcov (kernel áá¯ááºá¡áá»á¯á¶ážáááºááŸá¯ááᯠááá¯ááºážááŒá¬ážá áááºááŒá¬ááŒááºážá¡ááœáẠdebugfs á¡ááºáá¬áá±á·á áº)á kmemleak (ááŸááºáá¬ááºááá¯á ááá·áºááŸá¯ áá±á¬ááºááŸááºážááŒááºážá áá áº)á á¡á á¯á¡áá±ážáá¬ááœááºáá±ážá áá¯ááºá¡ááŸááºáá»á¬ážááŸáá·áº tickless áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž (á¡áá»áááºááá¯ááºážáááááá¬á¡áá»ááºááŒááŸá¯áá»á¬áž ááá«áá² á¡áá»á¬ážá¡ááŒá¬ážáá¯ááºáá±á¬ááºááŒááºáž)á - PowerPC áááá¯áá¬á¡ááœááºá áá±á¬á·áááºáááááá¹áá¡ááŒá±á¡áá±áá»á¬ážááœáẠá áœááºážáá±á¬ááºáááºáááááá¬áá¬ááá¯ážáááºá á±ááá·áº spinlock áááºážá á®áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
- ARM ááŸáá·áº ARM64 áááá¯áá¬áá»á¬ážá¡ááœááºá áááá¯áááºáá¬ááŒáááºááŸá¯ááºážá
ááºážáá»ááºážááá¹ááá¬ážááᯠáá°áááºážá¡ááá¯ááºáž ááœáá·áºáá¬ážáááºá
áá±á¬ááºááŒá®ážááŒáá¯á· (cpufreq á¡á¯ááºáá»á¯ááºáá±ážááŸá°áž) ááẠááŒáááºááŸá¯ááºážááŒá±á¬ááºážáá²ááŒááºážá¡ááœáẠáá¯á¶ážááŒááºáá»ááºáá áºáá¯áá»ááẠá¡áá¯ááºáá»áááºááá¬ážá០ááááºážá¡áá»ááºá¡áááºááᯠááá¯ááºááá¯ááºá¡áá¯á¶ážááŒá¯áᬠááŒáááºááŸá¯ááºážááᯠáá»ááºááŒááºá áœá¬ááŒá±á¬ááºážáá²ááẠcpufreq áááá¯ááºáá¬áá»á¬ážááᯠáá»ááºáá»ááºážáááºáá±á¬ááºááá¯ááºááŒá®áž CPU áááºáááºááŸá¯áá±á¬ááºáá»á¬ážááᯠáááºááŸááááºááá¯á·áá»ááºáá»ááºážáá»áááºááŸáááá¯ááºáááºá - Intel ááááºáá
áºáááºáá»á¬ážá¡ááœáẠi915 DRM áááá¯ááºáá¬ááœáẠááá¯ááºáááá¯áááá¯áá¬ááá¬ááᯠá¡ááŒá±áá¶ááá·áº áá»á
áºááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áá«áááºáááºá
áá¯á¶ážáá»á¶áá±ááẠááŸáá·áº discrete áááºáá»á¬ážá¡ááœáẠáááŠáž áá¶á·ááá¯ážáá°áá®ááŸá¯ ááá¯á·ááᯠááá·áºááœááºážáá²á·áááºáIntel Xe DG1 . - Amdgpu driver ááẠAMD GPUs á¡ááœáẠáááŠáž áá¶á·ááá¯ážááŸá¯ áá±ážáá²á·áááºá
Navi 21 (Navy Flounder) ááŸáá·áºNavi 22 (Sienna Cichlid)á Southern Islands GPU (Radeon HD 7000) á¡ááœáẠUVD/VCE áá®áá®ááᯠáá¯ááºááŸááºááŒááºážááŸáá·áº áá¯ááºááŒá±á¬ááºážááŒááºáž á¡ááŸáááºááŒáŸáá·áºá¡ááºáá»ááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºááá·áºáá¬ážáááºá
áá»ááºááŸá¬ááŒááºááᯠ90á 180 ááá¯á·ááá¯áẠ270 áá®ááá®ááŒáá·áº ááŸáá·áºááẠááá¯ááºááá¯ááºááŸá¯áá áºáá¯ááᯠááá·áºáá¬ážáááºáá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá¬á AMD GPU á¡ááœáẠdriver ááŒá áºáá«áááºá
áá«áá¬ááŒá áºáá«ááẠkernel ááœááºá¡ááŒá®ážáá¯á¶ážáááá¯ááºáᬠ- áááºážááœááºáá¯ááºááá¯ááºážáá±á«ááºáž 2.71 áááºážááá·áºááŸáááŒá®ážá áááºážáááºá á¯á á¯áá±á«ááºáž kernel á¡ááœááºá¡á á¬ážá 10% ááá·áº (ááá¯ááºáž 27.81 áááºáž) ááŒá áºáááºá áá áºáá»áááºáááºážááŸá¬áááºá GPU ááŸááºáá¯á¶áááºááŒááºážá¡ááœáẠáá±áá¬ááŒáá·áº á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±ážáá±á¬ áá±á«ááºážá á®ážááá¯ááºáá»á¬ážááŒáá·áº ááá¯ááºáž 1.79 áááºážááᯠááœááºáá»ááºáá¬ážááŒá®áž C áá¯ááºááẠááá¯ááºáž 366 (ááŸáá¯ááºážááŸááºáá«á Intel i915 driver ááœáẠááá¯ááºáž 209 ááŸáá·áº Nouveau - 149) áá«áááºáááºá - Nouveau áááá¯ááºáá¬
áááºááŒá±á¬áááºá á¡áá¯á¶ážááŒá¯á frame-by-frame integrity checking á¡ááœáẠáá¶á·ááá¯ážááŸá¯á á®á¡á¬á á® NVIDIA GPU áá»ááºááŸá¬ááŒááºááŒáá¡ááºáá»ááºáá»á¬ážááœáẠ(áá¶ááá¬á¡áááºáááºá á áºáá±ážááŸá¯áá»á¬áž)á á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááẠNVIDIA ááŸáá±ážáá±á¬á á¬ááœááºá á¬áááºážáá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶áááºá - LCD á¡ááá·áºáá»á¬ážá¡ááœáẠáááºááá·áºáá¬ážáá±á¬ áááá¯ááºáá¬áá»á¬áž- Frida FRD350H54004á KOE TX26D202VM0BWAá CDTech S070PWS19HP-FC21á CDTech S070SWV29HG-DC44á Tianma TM070JVHG33 ááŸáá·áº Xingbangda X
- ALSA á¡áá¶á
áá
áºááœá²ááᯠáá¶á·ááá¯ážáá±ážáááºá
Intel Silent Stream (ááŒááºááœáá·áºááá·áºá¡áá« ááŸá±á¬áá·áºááŸá±ážááŸá¯ááᯠáááºááŸá¬ážááẠááŒááºá HDMI á ááºáá»á¬ážá¡ááœáẠáááºááá¯ááºáá«áá«áá¯ááº) ááŸáá·áºá ááºá¡áá Ạááá¯ááºáááá¯áá¯ááºážá áá±á¬ááºáááŸá¯ááᯠááááºážáá»á¯ááºáááºááŸáá·áº á¡áá¶ááááºááá¯ááºáá»á¬ážááᯠááááºážáá»á¯ááºáááºááŸáá·áº ááááºážáá»á¯ááºáááááᬠá¡áá«á¡ááẠá ááºáá á¹á ááºážá¡áá áºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºáž ááá·áºááœááºážáá¬ážáááºáLongson 7A1000 . - ARM áá¯ááºáá»á¬ážá á ááºáá á¹á ááºážáá»á¬ážááŸáá·áº ááááºáá±á¬ááºážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºááá·áºáááº- Pine64 PinePhone v1.2á Lenovo IdeaPad Duet 10.1á ASUS Google Nexus 7á Acer Iconia Tab A500á Qualcomm Snapdragon SDM630 (Sony Xperia 10á 10 Plusá XA2á XA2 Plus ááŸáá·áº XA2 ááá¯á·ááœáẠá¡áá¯á¶ážááŒá¯ááẠUltra), Jetson Xavier NX, Amlogic WeTek Core2, Aspeed EthanolX, NXP i.MX6, MikroTik RouterBoard 3011, Xiaomi Libra, Microsoft Lumia 950, Sony Xperia Z5, MStar, Microchip Sparx5, Intel Keem Bay, Amazon Alpine á¡ááŒá±áá¶áá¯ááºá¡áá Ạv3á Renesas RZ/G2Há
áá
áºáá»áááºáááºážááŸá¬áááºá áááºáááºá¡áá±áááá¡ááá²á·áá±á¬á·ááºáá²áá±á¬ááºáá±ážááŸááºáž
option ááá¯
source: opennet.ru