Re: [PATCH] mm: Throttle shrinkers harder

Dave Hansen
2014-04-23T21:14:52Z

On 04/22/2014 12:30 PM, Daniel Vetter wrote:
>> > > During testing of i915.ko with working texture sets larger than RAM, we
>> > > encounter OOM with plenty of memory still trapped within writeback, e.g:
>> > >
>> > > [ 42.386039] active_anon:10134 inactive_anon:1900781 isolated_anon:32
>> > > active_file:33 inactive_file:39 isolated_file:0
>> > > unevictable:0 dirty:0 writeback:337627 unstable:0
>> > > free:11985 slab_reclaimable:9458 slab_unreclaimable:23614
>> > > mapped:41 shmem:1560769 pagetables:1276 bounce:0
>> > >
>> > > If we throttle for writeback following shrink_slab, this gives us time
>> > > to wait upon the writeback generated by the i915.ko shinker:
>> > >
>> > > [ 4756.750808] active_anon:24386 inactive_anon:900793 isolated_anon:0
>> > > active_file:23 inactive_file:20 isolated_file:0
>> > > unevictable:0 dirty:0 writeback:0 unstable:0
>> > > free:5550 slab_reclaimable:5184 slab_unreclaimable:4888
>> > > mapped:3 shmem:472393 pagetables:1249 bounce:0

Could you get some dumps of the entire set of OOM information? These
are only tiny snippets.

Also, the vmstat output from the bug:

> https://bugs.freedesktop.org/show_bug.cgi?id=72742

shows there being an *AWFUL* lot of swap I/O going on here. From the
looks of it, we stuck ~2GB in swap and evicted another 1.5GB of page
cache (although I guess that could be double-counting tmpfs getting
swapped out too). Hmmm, was this one of the cases where you actually
ran _out_ of swap?

> 2 0 19472 33952 296 3610324 0 19472 0 19472 1474 151 3 27 71 0
> 4 0 484964 66468 296 3175864 0 465492 0 465516 2597 1395 0 32 66 2
> 0 2 751940 23692 980 3022884 0 266976 688 266976 3681 636 0 27 66 6
> procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
> r b swpd free buff cache si so bi bo in cs us sy id wa
> 2 1 1244580 295336 988 2606984 0 492896 0 492908 1237 311 1 9 50 41
> 0 2 2047996 28760 988 2037144 0 803160 0 803160 1221 1291 1 15 69 14