Home » Mailing lists » Devel » [PATCH] BC: resource beancounters (v2)  
	
		
		
			| Re: [PATCH] BC: resource beancounters (v2) [message #5654 is a reply to message #5570] | 
			Fri, 25 August 2006 11:47    | 
		 
		
			
				
				
				
					
						  
						dev
						 Messages: 1693 Registered: September 2005  Location: Moscow
						
					 | 
					Senior Member  | 
					 
  | 
		 
		 
	 | 
 
	
		Andrew Morton wrote: 
>>As the first step we want to propose for discussion 
>>the most complicated parts of resource management: 
>>kernel memory and virtual memory. 
>  
>  
> The patches look reasonable to me - mergeable after updating them for 
> today's batch of review commentlets. 
sure. will do updates as long as there are reasonable comments. 
 
> I have two high-level problems though. 
>  
> a) I don't yet have a sense of whether this implementation 
>    is appropriate/sufficient for the various other 
>    applications which people are working on. 
>  
>    If the general shape is OK and we think this 
>    implementation can be grown into one which everyone can 
>    use then fine. 
>  
> And... 
>  
>  
>>The patch set to be sent provides core for BC and 
>>management of kernel memory only. Virtual memory 
>>management will be sent in a couple of days. 
>  
>  
> We need to go over this work before we can commit to the BC 
> core.  Last time I looked at the VM accounting patch it 
> seemed rather unpleasing from a maintainability POV. 
hmmm... in which regard? 
 
> And, if I understand it correctly, the only response to a job 
> going over its VM limits is to kill it, rather than trimming 
> it.  Which sounds like a big problem? 
No, UBC virtual memory management refuses occur on mmap()'s. 
Andrey Savochkin wrote already a brief summary on vm resource management: 
 
------------- cut ---------------- 
The task of limiting a container to 4.5GB of memory bottles down to the 
question: what to do when the container starts to use more than assigned 
4.5GB of memory? 
 
At this moment there are only 3 viable alternatives. 
 
A) Have separate memory management for each container, 
   with separate buddy allocator, lru lists, page replacement mechanism. 
   That implies a considerable overhead, and the main challenge there 
   is sharing of pages between these separate memory managers. 
 
B) Return errors on extension of mappings, but not on page faults, where 
   memory is actually consumed. 
   In this case it makes sense to take into account not only the size of used 
   memory, but the size of created mappings as well. 
   This is approximately what "privvmpages" accounting/limiting provides in 
   UBC. 
 
C) Rely on OOM killer. 
   This is a fall-back method in UBC, for the case "privvmpages" limits 
   still leave the possibility to overload the system. 
 
It would be nice, indeed, to invent something new. 
The ideal mechanism would 
 - slow down the container over-using memory, to signal the user that 
   he is over his limits, 
 - at the same time this slowdown shouldn't lead to the increase of memory 
   usage: for example, a simple slowdown of apache web server would lead 
   to the growth of the number of serving children and consumption of more 
   memory while showing worse performance, 
 - and, at the same time, it shouldn't penalize the rest of the system from 
   the performance point of view... 
May be this can be achieved via carefully tuned swapout mechanism together 
with disk bandwidth management capable of tracking asynchronous write 
requests, may be something else is required. 
It's really a big challenge. 
 
Meanwhile, I guess we can only make small steps in improving Linux resource 
management features for this moment. 
------------- cut ---------------- 
 
Thanks, 
Kirill
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
  
 
	
	  | 
	 | 
	
		[PATCH] BC: resource beancounters (v2)
		By:  dev on Wed, 23 August 2006 10:44  
	 | 
 
	  | 
	 | 
	
		[PATCH 1/6] BC: kconfig
		By:  dev on Wed, 23 August 2006 10:59  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 1/6] BC: kconfig
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 1/6] BC: kconfig
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 1/6] BC: kconfig
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 1/6] BC: kconfig
		By:  dev on Fri, 25 August 2006 11:27  
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 1/6] BC: kconfig
		By:  dev on Fri, 25 August 2006 11:31  
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 1/6] BC: kconfig
		By:  rdunlap on Wed, 23 August 2006 22:29  
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 1/6] BC: kconfig
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 1/6] BC: kconfig
		
	 | 
 
	  | 
	 | 
	
		Re: [ckrm-tech] [PATCH 1/6] BC: kconfig
		By:  dev on Thu, 24 August 2006 11:47  
	 | 
 
	  | 
	 | 
	
		Re: [ckrm-tech] [PATCH 1/6] BC: kconfig
		
	 | 
 
	  | 
	 | 
	
		[PATCH 2/6] BC: beancounters core (API)
		By:  dev on Wed, 23 August 2006 11:00  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		By:  dev on Wed, 23 August 2006 13:25  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		By:  dev on Wed, 23 August 2006 13:46  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		By:  dev on Thu, 24 August 2006 12:03  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		By:  dev on Fri, 25 August 2006 10:51  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 2/6] BC: beancounters core (API)
		
	 | 
 
	  | 
	 | 
	
		[PATCH 3/6] BC: context inheriting and changing
		By:  dev on Wed, 23 August 2006 11:02  
	 | 
 
	  | 
	 | 
	
		[PATCH 4/6] BC: user interface (syscalls)
		By:  dev on Wed, 23 August 2006 11:03  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		By:  dev on Wed, 23 August 2006 13:40  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		By:  Alan Cox on Wed, 23 August 2006 17:08  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		By:  Alan Cox on Thu, 24 August 2006 10:42  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		By:  dev on Fri, 25 August 2006 10:54  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 4/6] BC: user interface (syscalls)
		
	 | 
 
	  | 
	 | 
	
		[PATCH 5/6] BC: kernel memory accounting (core)
		By:  dev on Wed, 23 August 2006 11:04  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 5/6] BC: kernel memory accounting (core)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 5/6] BC: kernel memory accounting (core)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH 5/6] BC: kernel memory accounting (core)
		By:  dev on Fri, 25 August 2006 10:06  
	 | 
 
	  | 
	 | 
	
		[PATCH 6/6] BC: kernel memory accounting (marks)
		By:  dev on Wed, 23 August 2006 11:05  
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		By:  dev on Tue, 29 August 2006 09:52  
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		By:  dev on Tue, 29 August 2006 14:34  
	 | 
 
	  | 
	 | 
	
		Re:  [PATCH 6/6] BC: kernel memory accounting (marks)
		By:  dev on Tue, 29 August 2006 15:53  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		By:  dev on Fri, 25 August 2006 11:47  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		By:  dev on Mon, 28 August 2006 08:27  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: BC: resource beancounters (v2)
		By:  Alan Cox on Sat, 26 August 2006 16:16  
	 | 
 
	  | 
	 | 
	
		Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re:  Re: BC: resource beancounters (v2)
		By:  kir on Mon, 28 August 2006 17:40  
	 | 
 
	  | 
	 | 
	
		Re:  Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re:  Re: BC: resource beancounters (v2)
		By:  Alan Cox on Tue, 29 August 2006 10:15  
	 | 
 
	  | 
	 | 
	
		Re:  Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re:  Re: BC: resource beancounters (v2)
		By:  Alan Cox on Tue, 29 August 2006 18:46  
	 | 
 
	  | 
	 | 
	
		Re:  Re: BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		By:  dev on Tue, 29 August 2006 15:33  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		By:  Alan Cox on Thu, 24 August 2006 10:38  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		By:  Alan Cox on Fri, 25 August 2006 15:36  
	 | 
 
	  | 
	 | 
	
		Re: [PATCH] BC: resource beancounters (v2)
		
	 | 
  
Goto Forum:
 
 Current Time: Tue Nov 04 02:06:13 GMT 2025 
 Total time taken to generate the page: 0.12614 seconds 
 |