On Wed 14-10-15 23:38:00, Tetsuo Handa wrote: > Michal Hocko wrote: [...] > > Why hasn't balance_dirty_pages throttled writers and allowed them to > > make the whole LRU dirty? What is your dirty{_background}_{ratio,bytes} > > configuration on that system. > > All values are defaults of plain CentOS 7 installation. So this is 3.10 kernel, right? > # sysctl -a | grep ^vm. > vm.dirty_background_ratio = 10 > vm.dirty_bytes = 0 > vm.dirty_expire_centisecs = 3000 > vm.dirty_ratio = 30 [...] OK, this is nothing unusual. And I _suspect_ that the throttling simply didn't cope with the writer speed and a large anon memory consumer. Dirtyable memory was quite high until your anon hammer bumped in and reduced dirtyable memory down so the file LRU is full of dirty pages when we get under serious memory pressure. Anonymous pages are not reclaimable so the whole memory pressure goes to file LRUs and bang. > > Also why throttle_vm_writeout haven't slown the reclaim down? > > Too difficult question for me. > > > > > Anyway this is exactly the case where zone_reclaimable helps us to > > prevent OOM because we are looping over the remaining LRU pages without > > making progress... This just shows how subtle all this is :/ > > > > I have to think about this much more.. > > I'm suspicious about tweaking current reclaim logic. > Could you please respond to Linus's comments? Yes I plan to I just didn't get to finish my email yet. > There are more moles than kernel developers can find. I think that > what we can do for short term is to prepare for moles that kernel > developers could not find, and for long term is to reform page > allocator for preventing moles from living. This is much easier said than done :/ The current code is full of heuristics grown over time based on very different requirements from different kernel subsystems. There is no simple solution for this problem I am afraid. -- Michal Hocko SUSE Labs -- 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>