Small update. This is what happens with swap, when I add some write load: 0 0 236292 176816 5828 2536020 64 96 4852 236 13709 5592 28 13 52 7 1 0 236816 231840 5760 2468724 192 556 9496 25784 14471 7791 18 25 40 17 1 1 237000 244528 5748 2441664 256 228 10528 228 13538 6943 33 20 34 13 1 0 237048 246392 5740 2432556 160 80 6792 80 13815 7412 13 17 57 13 3 0 237516 305268 5740 2363156 96 488 10124 488 14266 8920 11 24 53 12 3 0 237908 346188 5664 2311168 192 444 7692 476 14348 9397 14 23 57 7 2 1 238124 361856 5652 2282708 128 260 8024 25048 13894 6326 15 19 40 26 1 2 238368 356480 5656 2284672 128 260 9656 260 13961 6706 12 14 27 47 0 2 238732 363268 5648 2264680 64 404 11288 404 13771 5943 32 18 17 32 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 239016 370372 5588 2246296 192 312 12864 312 14056 8288 15 20 40 24 0 2 239336 379684 5596 2228056 0 336 7488 380 13875 8791 8 22 53 17 1 1 239796 410928 5584 2190084 64 476 10300 16848 13721 7323 7 20 42 31 1 1 240096 432072 5308 2159016 64 320 9888 364 13461 7787 8 18 39 35 1 0 240332 445940 5304 2137936 96 264 10960 264 13609 6750 19 19 37 25 1 1 240676 454244 5284 2116968 32 360 12304 368 13466 8864 11 22 42 25 3 1 241156 468920 5276 2088800 32 504 11592 532 13346 6394 27 18 23 32 0 2 241436 478448 5248 2066564 288 360 12248 1992 13701 6627 23 21 23 32 1 1 241776 496704 5248 2038424 156 400 9632 424 13040 5904 29 15 28 28 0 2 242460 521064 5220 2004936 32 700 12212 708 13476 6983 15 16 34 34 1 1 242396 517360 5220 1996648 256 104 10304 104 13196 6571 16 18 23 43 0 1 241716 532496 5220 1968204 736 68 7892 88 13260 6522 24 18 27 32 1 1 242084 551444 5228 1934016 256 480 6104 99240 13365 5915 10 22 22 46 1 2 242284 553736 5228 1915204 480 396 6116 396 11012 5594 11 20 33 36 0 2 242740 553860 5468 1914344 64 468 11692 468 12931 3755 24 18 22 37 0 1 242968 534332 5472 1926280 0 252 13272 308 13678 5930 13 15 26 46 $ grep [Aa]non /proc/meminfo Active(anon): 595096 kB Inactive(anon): 152580 kB AnonPages: 735052 kB AnonHugePages: 180224 kB В Пт., 01/02/2013 в 12:24 +0400, Nikolay S. пишет: > В Чт., 31/01/2013 в 13:42 -0800, Andrew Morton пишет: > > (switched to email. Please respond via emailed reply-to-all, not via the > > bugzilla web interface). > > > > On Fri, 25 Jan 2013 17:56:25 +0000 (UTC) > > bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote: > > > > > https://bugzilla.kernel.org/show_bug.cgi?id=53031 > > > > > > Summary: kswapd in uninterruptible sleep state > > > Product: Memory Management > > > Version: 2.5 > > > Kernel Version: 3.7.3,3.7.4 > > > Platform: All > > > OS/Version: Linux > > > Tree: Mainline > > > Status: NEW > > > Severity: normal > > > Priority: P1 > > > Component: Other > > > AssignedTo: akpm@xxxxxxxxxxxxxxxxxxxx > > > ReportedBy: dairinin@xxxxxxxxx > > > Regression: No > > > > I'd say "Regression: yes"! > > > > Can you please run sysrq-W (or "echo w > /proc/sysrq-trigger" when > > kswapd is stuck so we can see where it is stuck? > > Feb 1 12:23:03 heimdall kernel: SysRq : Show Blocked State > Feb 1 12:23:03 heimdall kernel: task PC stack pid father > Feb 1 12:23:03 heimdall kernel: kswapd0 D ffff88011fc110c0 0 402 2 0x00000000 > Feb 1 12:23:03 heimdall kernel: ffff88011a86b000 0000000000000046 ffff88011b2adc28 ffffffff81613420 > Feb 1 12:23:03 heimdall kernel: ffff88011b2adfd8 ffff88011b2adfd8 ffff88011b2adfd8 ffff88011a86b000 > Feb 1 12:23:03 heimdall kernel: 0000000000000286 ffff88011b2adc98 ffffffff81746fc0 000000010043a0ff > Feb 1 12:23:03 heimdall kernel: Call Trace: > Feb 1 12:23:03 heimdall kernel: [<ffffffff813a5bc1>] ? schedule_timeout+0x141/0x1f0 > Feb 1 12:23:03 heimdall kernel: [<ffffffff8103fff0>] ? usleep_range+0x40/0x40 > Feb 1 12:23:03 heimdall kernel: [<ffffffff813a73b0>] ? io_schedule_timeout+0x60/0x90 > Feb 1 12:23:03 heimdall kernel: [<ffffffff810bb39a>] ? congestion_wait+0x7a/0xc0 > Feb 1 12:23:03 heimdall kernel: [<ffffffff81050cb0>] ? add_wait_queue+0x60/0x60 > Feb 1 12:23:03 heimdall kernel: [<ffffffff810b4cf4>] ? kswapd+0x844/0x9f0 > Feb 1 12:23:03 heimdall kernel: [<ffffffff81050cb0>] ? add_wait_queue+0x60/0x60 > Feb 1 12:23:03 heimdall kernel: [<ffffffff810b44b0>] ? shrink_lruvec+0x540/0x540 > Feb 1 12:23:03 heimdall kernel: [<ffffffff81050523>] ? kthread+0xb3/0xc0 > Feb 1 12:23:03 heimdall kernel: [<ffffffff81050470>] ? flush_kthread_work+0x110/0x110 > Feb 1 12:23:03 heimdall kernel: [<ffffffff813a866c>] ? ret_from_fork+0x7c/0xb0 > Feb 1 12:23:03 heimdall kernel: [<ffffffff81050470>] ? flush_kthread_work+0x110/0x110 > > > Also sysrq-m when it is in that state would be useful, thanks. > > Feb 1 12:24:07 heimdall kernel: SysRq : Show Memory > Feb 1 12:24:07 heimdall kernel: Mem-Info: > Feb 1 12:24:07 heimdall kernel: DMA per-cpu: > Feb 1 12:24:07 heimdall kernel: CPU 0: hi: 0, btch: 1 usd: 0 > Feb 1 12:24:07 heimdall kernel: CPU 1: hi: 0, btch: 1 usd: 0 > Feb 1 12:24:07 heimdall kernel: DMA32 per-cpu: > Feb 1 12:24:07 heimdall kernel: CPU 0: hi: 186, btch: 31 usd: 16 > Feb 1 12:24:07 heimdall kernel: CPU 1: hi: 186, btch: 31 usd: 123 > Feb 1 12:24:07 heimdall kernel: Normal per-cpu: > Feb 1 12:24:07 heimdall kernel: CPU 0: hi: 186, btch: 31 usd: 45 > Feb 1 12:24:07 heimdall kernel: CPU 1: hi: 186, btch: 31 usd: 164 > Feb 1 12:24:07 heimdall kernel: active_anon:168267 inactive_anon:55882 isolated_anon:0 > Feb 1 12:24:07 heimdall kernel: active_file:311587 inactive_file:312300 isolated_file:0 > Feb 1 12:24:07 heimdall kernel: unevictable:552 dirty:22 writeback:0 unstable:0 > Feb 1 12:24:07 heimdall kernel: free:38634 slab_reclaimable:20255 slab_unreclaimable:15014 > Feb 1 12:24:07 heimdall kernel: mapped:6615 shmem:337 pagetables:2304 bounce:0 > Feb 1 12:24:07 heimdall kernel: free_cma:0 > Feb 1 12:24:07 heimdall kernel: DMA free:15904kB min:256kB low:320kB high:384kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15648kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes > Feb 1 12:24:07 heimdall kernel: lowmem_reserve[]: 0 3503 4007 4007 > Feb 1 12:24:07 heimdall kernel: DMA32 free:126528kB min:58860kB low:73572kB high:88288kB active_anon:568560kB inactive_anon:116272kB active_file:1189340kB inactive_file:1191388kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:3587840kB mlocked:0kB dirty:72kB writeback:0kB mapped:15024kB shmem:1336kB slab_reclaimable:68328kB slab_unreclaimable:31484kB kernel_stack:832kB pagetables:7028kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no > Feb 1 12:24:07 heimdall kernel: lowmem_reserve[]: 0 0 504 504 > Feb 1 12:24:07 heimdall kernel: Normal free:12104kB min:8464kB low:10580kB high:12696kB active_anon:104508kB inactive_anon:107256kB active_file:57008kB inactive_file:57812kB unevictable:2208kB isolated(anon):0kB isolated(file):0kB present:516096kB mlocked:2208kB dirty:16kB writeback:0kB mapped:11436kB shmem:12kB slab_reclaimable:12692kB slab_unreclaimable:28572kB kernel_stack:968kB pagetables:2188kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no > Feb 1 12:24:07 heimdall kernel: lowmem_reserve[]: 0 0 0 0 > Feb 1 12:24:07 heimdall kernel: DMA: 0*4kB 0*8kB 0*16kB 1*32kB 2*64kB 1*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 3*4096kB = 15904kB > Feb 1 12:24:07 heimdall kernel: DMA32: 25706*4kB 1119*8kB 304*16kB 223*32kB 37*64kB 3*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 126528kB > Feb 1 12:24:07 heimdall kernel: Normal: 880*4kB 263*8kB 191*16kB 4*32kB 16*64kB 6*128kB 2*256kB 2*512kB 0*1024kB 0*2048kB 0*4096kB = 12136kB > Feb 1 12:24:07 heimdall kernel: 625162 total pagecache pages > Feb 1 12:24:07 heimdall kernel: 463 pages in swap cache > Feb 1 12:24:07 heimdall kernel: Swap cache stats: add 5970, delete 5507, find 3004/3260 > Feb 1 12:24:07 heimdall kernel: Free swap = 4184860kB > Feb 1 12:24:07 heimdall kernel: Total swap = 4194300kB > Feb 1 12:24:07 heimdall kernel: 1048560 pages RAM > Feb 1 12:24:07 heimdall kernel: 36198 pages reserved > Feb 1 12:24:07 heimdall kernel: 730743 pages shared > Feb 1 12:24:07 heimdall kernel: 796007 pages non-shared > > > [remainder retained for linux-mm to enjoy] > > > > > > > > Created an attachment (id=91781) > > > --> (https://bugzilla.kernel.org/attachment.cgi?id=91781) > > > Script do show what has changed in /proc/vmstat > > > > > > I have recently upgraded from 3.2 to 3.7.3, and I am seeing, that the > > > behavior of kswapd is strange at least. > > > > > > The machine is core2duo e7200 with 4G RAM, running 3.7.3 kernel. It has > > > compaction and THP (always) enabled. > > > > > > The machine is serving files over the network, so it is constantly under > > > memory pressure from page cache. The network is not very fast, and average disk > > > read rate is between 2 and 8 megabytes per second. > > > > > > In normal state, when page cache is filled, the free memory (according > > > to free and vmstat) is fluctuating between 100 and 150 megabytes, with > > > kswapd stepping in at 100M, quickly freeing to 150M and going to sleep > > > again. > > > > > > 1) On 3.7.3, after several hours after page cache is filled, kswapd enters > > > permanent D-state, with free memory keeping around 150M (high watermark, > > > I presume?). I have captured diffs for /proc/vmstat: > > > > > > $ ./diffshow 5 > > > ----8<---- > > > nr_free_pages:____________________________________38327 -> 38467 (140) > > > nr_active_anon:__________________________________110014 -> 110056 (42) > > > nr_inactive_file:______________________________526153 -> 526297 (144) > > > nr_active_file:__________________________________98802 -> 98864 (62) > > > nr_anon_pages:____________________________________103475 -> 103512 (37) > > > nr_file_pages:____________________________________627957 -> 628160 (203) > > > nr_dirty:______________________________________________15 -> 17 (2) > > > nr_page_table_pages:________________________2142 -> 2146 (4) > > > nr_kernel_stack:________________________________251 -> 253 (2) > > > nr_dirtied:__________________________________________1169312 -> 1169317 (5) > > > nr_written:__________________________________________1211979 -> 1211982 (3) > > > nr_dirty_threshold:__________________________159540 -> 159617 (77) > > > nr_dirty_background_threshold:____79770 -> 79808 (38) > > > pgpgin:__________________________________________________564650577 -> 564673241 (22664) > > > pgpgout:________________________________________________5117612 -> 5117668 (56) > > > pgalloc_dma32:____________________________________105487556 -> 105491067 (3511) > > > pgalloc_normal:__________________________________84026173 -> 84029309 (3136) > > > pgfree:__________________________________________________190134573 -> 190141394 (6821) > > > pgactivate:__________________________________________2750244 -> 2750283 (39) > > > pgfault:________________________________________________67214984 -> 67216222 (1238) > > > pgsteal_kswapd_dma32:______________________45793109 -> 45795077 (1968) > > > pgsteal_kswapd_normal:____________________61391466 -> 61394464 (2998) > > > pgscan_kswapd_dma32:________________________45812628 -> 45814596 (1968) > > > pgscan_kswapd_normal:______________________61465283 -> 61468281 (2998) > > > slabs_scanned:____________________________________30783104 -> 30786432 (3328) > > > pageoutrun:__________________________________________2936967 -> 2937033 (66) > > > > > > vmstat: > > > procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- > > > __r__ b____ swpd____ free____ buff__ cache____ si____ so______ bi______ bo____ in____ cs us sy id wa > > > __1__ 1 296924 153064____ 6936 2479664______ 0______ 0__ 5408________ 0 11711 1350__ 1__ 2 44 53 > > > __0__ 1 296924 152448____ 6928 2480048______ 0______ 0__ 6760________ 0 9723 1127__ 1__ 4 47 48 > > > __0__ 1 296924 152948____ 6916 2479464______ 0______ 0__ 3512______ 16 10392 1231__ 1__ 2 48 49 > > > __0__ 1 296924 153616____ 6916 2478804______ 0______ 0__ 2724________ 0 10279 1078__ 0__ 2 48 49 > > > __0__ 1 296924 152972____ 6916 2480132______ 0______ 0__ 3584________ 0 11289 1252__ 1__ 3 49 48 > > > __0__ 1 296924 155348____ 6916 2478396______ 0______ 0__ 6472________ 0 11285 1132__ 1__ 2 45 53 > > > __0__ 1 296924 152988____ 6916 2481024______ 0______ 0__ 5112______ 20 10039 1257__ 0__ 2 46 52 > > > __0__ 1 296924 152968____ 6916 2481016______ 0______ 0__ 3244________ 0 9586 1127__ 1__ 3 46 51 > > > __0__ 1 296924 153500____ 6916 2481196______ 0______ 0__ 3516________ 0 10899 1127__ 1__ 1 48 49 > > > __0__ 1 296924 152860____ 6916 2481688______ 0______ 0__ 4240________ 0 10418 1245__ 1__ 3 47 49 > > > __0__ 2 296924 153016____ 6912 2478584______ 0______ 0__ 5632________ 0 12136 1516__ 2__ 3 46 49 > > > __0__ 2 296924 153292____ 6912 2480984______ 0______ 0__ 4668________ 0 10872 1248__ 1__ 2 49 48 > > > __0__ 1 296924 152420____ 6916 2481844______ 0______ 0__ 4764______ 56 11236 1402__ 1__ 3 45 51 > > > __0__ 1 296924 152652____ 6916 2481204______ 0______ 0__ 4628________ 0 9422 1208__ 0__ 3 46 51 > > > > > > buddyinfo: > > > $ cat /proc/buddyinfo; sleep 1; cat /proc/buddyinfo > > > Node 0, zone__________ DMA__________ 0__________ 0__________ 0__________ 1__________ 2__________ 1__________ 1__________ 0____ > > > ____ 1__________ 1__________ 3 > > > Node 0, zone______ DMA32______ 515______ 205______ 242______ 201____ 1384______ 116________ 21__________ 8____ > > > ____ 1__________ 0__________ 0 > > > Node 0, zone____ Normal____ 1779__________ 0__________ 0________ 18________ 11__________ 3__________ 1__________ 3____ > > > ____ 0__________ 0__________ 0 > > > Node 0, zone__________ DMA__________ 0__________ 0__________ 0__________ 1__________ 2__________ 1__________ 1__________ 0____ > > > ____ 1__________ 1__________ 3 > > > Node 0, zone______ DMA32______ 480______ 197______ 227______ 176____ 1384______ 116________ 21__________ 8____ > > > ____ 1__________ 0__________ 0 > > > Node 0, zone____ Normal____ 1792__________ 9__________ 0________ 18________ 11__________ 3__________ 1__________ 3____ > > > ____ 0__________ 0__________ 0 > > > > > > 2) Also from time to time situation switches, where free memory is fixed at > > > some random point, fluctuating around this values at +-1 megabyte. > > > There is vmstat: > > > procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- > > > __r__ b____ swpd____ free____ buff__ cache____ si____ so______ bi______ bo____ in____ cs us sy id wa > > > __0__ 0 296480 381052____ 9732 2481324______ 1______ 2__ 2022______ 19____ 45____ 44__ 1__ 2 81 16 > > > __0__ 0 296480 382040____ 9732 2481180______ 0______ 0__ 2324________ 0 6505__ 825__ 1__ 2 96__ 1 > > > __0__ 0 296480 382500____ 9732 2481060______ 0______ 0__ 3824________ 0 5941 1046__ 1__ 2 96__ 1 > > > __0__ 0 296480 382092____ 9740 2480976______ 0______ 0__ 2048______ 16 7701__ 862__ 0__ 2 97__ 1 > > > __0__ 0 296480 382160____ 9740 2481896______ 0______ 0__ 5008________ 0 6443 1017__ 1__ 2 93__ 5 > > > __0__ 0 296480 382484____ 9740 2481668______ 0______ 0__ 2764________ 0 6972__ 799__ 0__ 2 97__ 1 > > > __0__ 0 296480 381912____ 9740 2481620______ 0______ 0__ 3780________ 0 7632 1036__ 1__ 2 96__ 1 > > > __0__ 0 296480 382240____ 9744 2481632______ 0______ 0__ 2796________ 0 7533__ 981__ 1__ 2 95__ 3 > > > __1__ 0 296480 382372____ 9748 2481756______ 0______ 0__ 2940________ 0 6565 1048__ 2__ 2 95__ 2 > > > __0__ 0 296480 383064____ 9748 2480320______ 0______ 0__ 5980________ 0 6352__ 979__ 0__ 3 92__ 5 > > > __0__ 0 296480 381380____ 9748 2481752______ 0______ 0__ 2732________ 0 6322__ 999__ 1__ 2 96__ 1 > > > __0__ 0 296480 381640____ 9748 2481992______ 0______ 0__ 2468________ 0 5640__ 849__ 0__ 2 97__ 2 > > > __0__ 0 296480 381684____ 9748 2481856______ 0______ 0__ 2760________ 0 7064__ 944__ 2__ 2 95__ 1 > > > __0__ 0 296480 381908____ 9748 2481664______ 0______ 0__ 2608________ 0 6797__ 952__ 0__ 2 94__ 4 > > > __0__ 0 296480 384024____ 9748 2479424______ 0______ 0__ 4804________ 0 6342 2767__ 1__ 2 94__ 4 > > > __0__ 0 296480 381948____ 9748 2481080______ 0______ 0__ 1868________ 0 6428__ 803__ 0__ 2 97__ 2 > > > __0__ 0 296480 382088____ 9748 2481524______ 0______ 0__ 3252________ 0 6464__ 990__ 1__ 1 98__ 1 > > > __0__ 0 296480 381884____ 9748 2481816______ 0______ 0__ 2892________ 0 7880__ 858__ 1__ 2 94__ 3 > > > __0__ 0 296480 382120____ 9748 2481848______ 0______ 0__ 2500________ 0 6207__ 905__ 1__ 1 96__ 2 > > > __0__ 1 296480 381976____ 9748 2479876______ 0______ 0__ 5188________ 0 6691__ 908__ 1__ 2 94__ 4 > > > __0__ 0 296480 381708____ 9748 2481584______ 0______ 0__ 2692________ 0 7904 1030__ 1__ 2 94__ 3 > > > __0__ 0 296480 382196____ 9748 2481704______ 0______ 0__ 2092________ 0 6715__ 722__ 1__ 1 97__ 1 > > > > > > > > > The /proc/vmstat diff is like this: > > > > > > $ ./diffshow 5 > > > ----8<---- > > > nr_free_pages:____________________________________94999 -> 95630 (631) > > > nr_inactive_anon:______________________________47076 -> 47196 (120) > > > nr_inactive_file:______________________________347048 -> 347080 (32) > > > nr_active_file:__________________________________270128 -> 270462 (334) > > > nr_file_pages:____________________________________619886 -> 620314 (428) > > > nr_dirty:______________________________________________10 -> 109 (99) > > > nr_kernel_stack:________________________________248 -> 249 (1) > > > nr_isolated_file:______________________________0 -> 10 (10) > > > nr_dirtied:__________________________________________1147486 -> 1147659 (173) > > > nr_written:__________________________________________1189947 -> 1190013 (66) > > > nr_dirty_threshold:__________________________168770 -> 168974 (204) > > > nr_dirty_background_threshold:____84385 -> 84487 (102) > > > pgpgin:__________________________________________________528729753 -> 528750521 (20768) > > > pgpgout:________________________________________________5013688 -> 5014216 (528) > > > pswpin:__________________________________________________77715 -> 77827 (112) > > > pgalloc_dma32:____________________________________95912002 -> 95912631 (629) > > > pgalloc_normal:__________________________________82241808 -> 82247860 (6052) > > > pgfree:__________________________________________________178827810 -> 178834939 (7129) > > > pgactivate:__________________________________________2644761 -> 2645104 (343) > > > pgfault:________________________________________________63365808 -> 63369261 (3453) > > > pgmajfault:__________________________________________23571 -> 23591 (20) > > > pgsteal_kswapd_normal:____________________60067802 -> 60072006 (4204) > > > pgscan_kswapd_normal:______________________60141548 -> 60145753 (4205) > > > slabs_scanned:____________________________________28914432 -> 28915456 (1024) > > > kswapd_low_wmark_hit_quickly:______589343 -> 589376 (33) > > > kswapd_high_wmark_hit_quickly:____763703 -> 763752 (49) > > > pageoutrun:__________________________________________2852120 -> 2852305 (185) > > > compact_blocks_moved:______________________10852682 -> 10852847 (165) > > > compact_pagemigrate_failed:__________39862700 -> 39865324 (2624) > > > > > > kswapd is stuck on normal zone! > > > > > > Also there is raw vmstat: > > > nr_free_pages 95343 > > > nr_inactive_anon 47196 > > > nr_active_anon 114110 > > > nr_inactive_file 348142 > > > nr_active_file 272638 > > > nr_unevictable 552 > > > nr_mlock 552 > > > nr_anon_pages 100386 > > > nr_mapped 6158 > > > nr_file_pages 623530 > > > nr_dirty 0 > > > nr_writeback 0 > > > nr_slab_reclaimable 21356 > > > nr_slab_unreclaimable 15570 > > > nr_page_table_pages 2045 > > > nr_kernel_stack 244 > > > nr_unstable 0 > > > nr_bounce 0 > > > nr_vmscan_write 149405 > > > nr_vmscan_immediate_reclaim 13896 > > > nr_writeback_temp 0 > > > nr_isolated_anon 0 > > > nr_isolated_file 4 > > > nr_shmem 48 > > > nr_dirtied 1147666 > > > nr_written 1190129 > > > nr_anon_transparent_hugepages 116 > > > nr_free_cma 0 > > > nr_dirty_threshold 169553 > > > nr_dirty_background_threshold 84776 > > > pgpgin 529292001 > > > pgpgout 5014788 > > > pswpin 77827 > > > pswpout 148890 > > > pgalloc_dma 0 > > > pgalloc_dma32 95940824 > > > pgalloc_normal 82395157 > > > pgalloc_movable 0 > > > pgfree 179010711 > > > pgactivate 2647284 > > > pgdeactivate 2513412 > > > pgfault 63427189 > > > pgmajfault 23606 > > > pgrefill_dma 0 > > > pgrefill_dma32 1915983 > > > pgrefill_normal 430939 > > > pgrefill_movable 0 > > > pgsteal_kswapd_dma 0 > > > pgsteal_kswapd_dma32 39927548 > > > pgsteal_kswapd_normal 60180622 > > > pgsteal_kswapd_movable 0 > > > pgsteal_direct_dma 0 > > > pgsteal_direct_dma32 14062458 > > > pgsteal_direct_normal 1894412 > > > pgsteal_direct_movable 0 > > > pgscan_kswapd_dma 0 > > > pgscan_kswapd_dma32 39946808 > > > pgscan_kswapd_normal 60254407 > > > pgscan_kswapd_movable 0 > > > pgscan_direct_dma 0 > > > pgscan_direct_dma32 14260652 > > > pgscan_direct_normal 1895350 > > > pgscan_direct_movable 0 > > > pgscan_direct_throttle 0 > > > pginodesteal 25301 > > > slabs_scanned 28931968 > > > kswapd_inodesteal 26119 > > > kswapd_low_wmark_hit_quickly 591050 > > > kswapd_high_wmark_hit_quickly 766006 > > > kswapd_skip_congestion_wait 15 > > > pageoutrun 2858733 > > > allocstall 156938 > > > pgrotated 161518 > > > compact_blocks_moved 10860505 > > > compact_pages_moved 411760 > > > compact_pagemigrate_failed 39987369 > > > compact_stall 29399 > > > compact_fail 23718 > > > compact_success 5681 > > > htlb_buddy_alloc_success 0 > > > htlb_buddy_alloc_fail 0 > > > unevictable_pgs_culled 6416 > > > unevictable_pgs_scanned 0 > > > unevictable_pgs_rescued 5337 > > > unevictable_pgs_mlocked 6672 > > > unevictable_pgs_munlocked 6120 > > > unevictable_pgs_cleared 0 > > > unevictable_pgs_stranded 0 > > > thp_fault_alloc 41 > > > thp_fault_fallback 302 > > > thp_collapse_alloc 507 > > > thp_collapse_alloc_failed 3704 > > > thp_split 111 > > > > > > Buddyinfo: > > > $ cat /proc/buddyinfo; sleep 1; cat /proc/buddyinfo > > > Node 0, zone__________ DMA__________ 0__________ 0__________ 0__________ 1__________ 2__________ 1__________ 1__________ 0____ > > > ____ 1__________ 1__________ 3 > > > Node 0, zone______ DMA32__ 29527__ 26916______ 489______ 221________ 40__________ 5__________ 0__________ 0____ > > > ____ 0__________ 0__________ 0 > > > Node 0, zone____ Normal____ 3158__________ 0__________ 0__________ 2__________ 1__________ 1__________ 1__________ 1____ > > > ____ 0__________ 0__________ 0 > > > Node 0, zone__________ DMA__________ 0__________ 0__________ 0__________ 1__________ 2__________ 1__________ 1__________ 0____ > > > ____ 1__________ 1__________ 3 > > > Node 0, zone______ DMA32__ 29527__ 26909______ 489______ 211________ 41__________ 5__________ 0__________ 0____ > > > ____ 0__________ 0__________ 0 > > > Node 0, zone____ Normal____ 2790________ 29__________ 0__________ 8__________ 1__________ 1__________ 1__________ 1____ > > > ____ 0__________ 0__________ 0 > > > > > > Zoneinfo: > > > $ cat /proc/zoneinfo > > > Node 0, zone__________ DMA > > > __ pages free________ 3976 > > > ______________ min__________ 64 > > > ______________ low__________ 80 > > > ______________ high________ 96 > > > ______________ scanned__ 0 > > > ______________ spanned__ 4080 > > > ______________ present__ 3912 > > > ______ nr_free_pages 3976 > > > ______ nr_inactive_anon 0 > > > ______ nr_active_anon 0 > > > ______ nr_inactive_file 0 > > > ______ nr_active_file 0 > > > ______ nr_unevictable 0 > > > ______ nr_mlock________ 0 > > > ______ nr_anon_pages 0 > > > ______ nr_mapped______ 0 > > > ______ nr_file_pages 0 > > > ______ nr_dirty________ 0 > > > ______ nr_writeback 0 > > > ______ nr_slab_reclaimable 0 > > > ______ nr_slab_unreclaimable 0 > > > ______ nr_page_table_pages 0 > > > ______ nr_kernel_stack 0 > > > ______ nr_unstable__ 0 > > > ______ nr_bounce______ 0 > > > ______ nr_vmscan_write 0 > > > ______ nr_vmscan_immediate_reclaim 0 > > > ______ nr_writeback_temp 0 > > > ______ nr_isolated_anon 0 > > > ______ nr_isolated_file 0 > > > ______ nr_shmem________ 0 > > > ______ nr_dirtied____ 0 > > > ______ nr_written____ 0 > > > ______ nr_anon_transparent_hugepages 0 > > > ______ nr_free_cma__ 0 > > > ______________ protection: (0, 3503, 4007, 4007) > > > __ pagesets > > > ______ cpu: 0 > > > __________________________ count: 0 > > > __________________________ high:__ 0 > > > __________________________ batch: 1 > > > __ vm stats threshold: 8 > > > ______ cpu: 1 > > > __________________________ count: 0 > > > __________________________ high:__ 0 > > > __________________________ batch: 1 > > > __ vm stats threshold: 8 > > > __ all_unreclaimable: 1 > > > __ start_pfn:________________ 16 > > > __ inactive_ratio:______ 1 > > > Node 0, zone______ DMA32 > > > __ pages free________ 87395 > > > ______________ min__________ 14715 > > > ______________ low__________ 18393 > > > ______________ high________ 22072 > > > ______________ scanned__ 0 > > > ______________ spanned__ 1044480 > > > ______________ present__ 896960 > > > ______ nr_free_pages 87395 > > > ______ nr_inactive_anon 18907 > > > ______ nr_active_anon 92242 > > > ______ nr_inactive_file 325044 > > > ______ nr_active_file 267577 > > > ______ nr_unevictable 0 > > > ______ nr_mlock________ 0 > > > ______ nr_anon_pages 51703 > > > ______ nr_mapped______ 4369 > > > ______ nr_file_pages 593009 > > > ______ nr_dirty________ 17 > > > ______ nr_writeback 0 > > > ______ nr_slab_reclaimable 14988 > > > ______ nr_slab_unreclaimable 11515 > > > ______ nr_page_table_pages 1305 > > > ______ nr_kernel_stack 133 > > > ______ nr_unstable__ 0 > > > ______ nr_bounce______ 0 > > > ______ nr_vmscan_write 140220 > > > ______ nr_vmscan_immediate_reclaim 62 > > > ______ nr_writeback_temp 0 > > > ______ nr_isolated_anon 0 > > > ______ nr_isolated_file 0 > > > ______ nr_shmem________ 10 > > > ______ nr_dirtied____ 810741 > > > ______ nr_written____ 862763 > > > ______ nr_anon_transparent_hugepages 116 > > > ______ nr_free_cma__ 0 > > > ______________ protection: (0, 0, 504, 504) > > > __ pagesets > > > ______ cpu: 0 > > > __________________________ count: 123 > > > __________________________ high:__ 186 > > > __________________________ batch: 31 > > > __ vm stats threshold: 24 > > > ______ cpu: 1 > > > __________________________ count: 29 > > > __________________________ high:__ 186 > > > __________________________ batch: 31 > > > __ vm stats threshold: 24 > > > __ all_unreclaimable: 0 > > > __ start_pfn:________________ 4096 > > > __ inactive_ratio:______ 5 > > > Node 0, zone____ Normal > > > __ pages free________ 3200 > > > ______________ min__________ 2116 > > > ______________ low__________ 2645 > > > ______________ high________ 3174 > > > ______________ scanned__ 0 > > > ______________ spanned__ 131072 > > > ______________ present__ 129024 > > > ______ nr_free_pages 3200 > > > ______ nr_inactive_anon 25943 > > > ______ nr_active_anon 24590 > > > ______ nr_inactive_file 23132 > > > ______ nr_active_file 10275 > > > ______ nr_unevictable 552 > > > ______ nr_mlock________ 552 > > > ______ nr_anon_pages 49050 > > > ______ nr_mapped______ 2088 > > > ______ nr_file_pages 35785 > > > ______ nr_dirty________ 3 > > > ______ nr_writeback 0 > > > ______ nr_slab_reclaimable 2340 > > > ______ nr_slab_unreclaimable 3926 > > > ______ nr_page_table_pages 786 > > > ______ nr_kernel_stack 114 > > > ______ nr_unstable__ 0 > > > ______ nr_bounce______ 0 > > > ______ nr_vmscan_write 9297 > > > ______ nr_vmscan_immediate_reclaim 13835 > > > ______ nr_writeback_temp 0 > > > ______ nr_isolated_anon 0 > > > ______ nr_isolated_file 10 > > > ______ nr_shmem________ 38 > > > ______ nr_dirtied____ 338110 > > > ______ nr_written____ 328638 > > > ______ nr_anon_transparent_hugepages 0 > > > ______ nr_free_cma__ 0 > > > ______________ protection: (0, 0, 0, 0) > > > __ pagesets > > > ______ cpu: 0 > > > __________________________ count: 152 > > > __________________________ high:__ 186 > > > __________________________ batch: 31 > > > __ vm stats threshold: 12 > > > ______ cpu: 1 > > > __________________________ count: 172 > > > __________________________ high:__ 186 > > > __________________________ batch: 31 > > > __ vm stats threshold: 12 > > > __ all_unreclaimable: 0 > > > __ start_pfn:________________ 1048576 > > > __ inactive_ratio:______ 1 > > > > > > I have tried disabling compaction (1000 > > > > /proc/sys/vm/extdefrag_threshold), and symptoms do change. There is no > > > kswapd stuck in D, but instead page cache is almost cleaned from time to > > > time > > > > > > Also I have a piece of code, which can reproduce the first problem with > > > kswapd in D state on another amd64 system, which has normal zone > > > artificially limited to the same ratio against dma32 zone. It needs a > > > large file, which is at least twice as large as system RAM (the larger > > > the better): > > > dd if=/dev/zero of=tf bs=1M count=$((1024*8)) > > > > > > Then start smth like this: > > > ./a.out tf 32 > > > and let it run for some time to fill the page cache. > > > > > > The code will random read the file in fixed chunks at fixed rate in two > > > "streams": one stream of 1/3 rate will be scattered across the whole > > > file and mark pages with WILLNEED. Another stream at 2/3 rate is > > > contained in 1/10 of a file and will not pass any hints. > > > > > > 3) Now I am running 3.7.4, and atm I see the second problem again, i.e. kswapd > > > is stuck on zone normal. > > > > > > -- > > > Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email > > > ------- You are receiving this mail because: ------- > > > You are the assignee for the bug. > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>