forked from mirrors/linux
		
	mm/page-writeback.c: print a warning if the vm dirtiness settings are illogical
The vm direct limit setting must be set greater than vm background limit setting. Otherwise print a warning to help the operator to figure out that the vm dirtiness settings is in illogical state. Link: http://lkml.kernel.org/r/1506592464-30962-1-git-send-email-laoar.shao@gmail.com Signed-off-by: Yafang Shao <laoar.shao@gmail.com> Cc: Jan Kara <jack@suse.cz> Cc: Michal Hocko <mhocko@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									66e8b438bd
								
							
						
					
					
						commit
						0f6d24f878
					
				
					 2 changed files with 11 additions and 1 deletions
				
			
		| 
						 | 
					@ -157,6 +157,10 @@ Note: the minimum value allowed for dirty_bytes is two pages (in bytes); any
 | 
				
			||||||
value lower than this limit will be ignored and the old configuration will be
 | 
					value lower than this limit will be ignored and the old configuration will be
 | 
				
			||||||
retained.
 | 
					retained.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note: the value of dirty_bytes also must be set greater than
 | 
				
			||||||
 | 
					dirty_background_bytes or the amount of memory corresponding to
 | 
				
			||||||
 | 
					dirty_background_ratio.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
==============================================================
 | 
					==============================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dirty_expire_centisecs
 | 
					dirty_expire_centisecs
 | 
				
			||||||
| 
						 | 
					@ -176,6 +180,9 @@ generating disk writes will itself start writing out dirty data.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The total available memory is not equal to total system memory.
 | 
					The total available memory is not equal to total system memory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note: dirty_ratio must be set greater than dirty_background_ratio or
 | 
				
			||||||
 | 
					ratio corresponding to dirty_background_bytes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
==============================================================
 | 
					==============================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dirty_writeback_centisecs
 | 
					dirty_writeback_centisecs
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -433,8 +433,11 @@ static void domain_dirty_limits(struct dirty_throttle_control *dtc)
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		bg_thresh = (bg_ratio * available_memory) / PAGE_SIZE;
 | 
							bg_thresh = (bg_ratio * available_memory) / PAGE_SIZE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (bg_thresh >= thresh)
 | 
						if (unlikely(bg_thresh >= thresh)) {
 | 
				
			||||||
 | 
							pr_warn("vm direct limit must be set greater than background limit.\n");
 | 
				
			||||||
		bg_thresh = thresh / 2;
 | 
							bg_thresh = thresh / 2;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tsk = current;
 | 
						tsk = current;
 | 
				
			||||||
	if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
 | 
						if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
 | 
				
			||||||
		bg_thresh += bg_thresh / 4 + global_wb_domain.dirty_limit / 32;
 | 
							bg_thresh += bg_thresh / 4 + global_wb_domain.dirty_limit / 32;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue