Re: [PATCH 3/4] Per cgroup background reclaim.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 30 Nov 2010 16:51:42 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
 
> > +		if (IS_ERR(thr))
> > +			printk(KERN_INFO "Failed to start kswapd on memcg %d\n",
> > +				0);
> > +		else
> > +			kswapd_p->kswapd_task = thr;
> > +	}
> 
> Hmm, ok, then, kswapd-for-memcg is created when someone go over watermark.
> Why this new kswapd will not exit() until memcg destroy ?
> 
> I think there are several approaches.
> 
>   1. create/destroy a thread at memcg create/destroy
>   2. create/destroy a thread at watermarks.
>   3. use thread pool for watermarks.
>   4. use workqueue for watermaks.
> 
> The good point of "1" is that we can control a-thread-for-kswapd by cpu
> controller but it will use some resource.
> The good point of "2" is that we can avoid unnecessary resource usage.
> 
> 3 and 4 is not very good, I think. 
> 
> I'd like to vote for "1"...I want to avoid "stealing" other container's cpu
> by bad application in a container uses up memory.
> 

One more point, one-thread-per-hierarchy is enough. So, please check
memory.use_hierarchy==1 or not at creating a thread.

Thanks,
-kame

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]