Re: [PATCH V3] Add the pagefault count into memcg stats

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

 



On Thu, 14 Apr 2011, KAMEZAWA Hiroyuki wrote:

> > I'm wondering if we can just modify count_vm_event() directly for 
> > CONFIG_CGROUP_MEM_RES_CTLR so that we automatically track all vmstat items 
> > (those in enum vm_event_item) for each memcg.  We could add an array of 
> > NR_VM_EVENT_ITEMS into each struct mem_cgroup to be incremented on 
> > count_vm_event() for current's memcg.
> > 
> > If that's done, we wouldn't have to add additional calls for every vmstat 
> > item we want to duplicate from the global counters.
> > 
> 
> Maybe we do that finally.
> 
> For now, IIUC, over 50% of VM_EVENTS are needless for memcg (ex. per zone stats)
> and this array consumes large size of percpu area. I think we need to select
> events carefully even if we do that. And current memcg's percpu stat is mixture
> of vm_events and vm_stat. We may need to sort out them and re-design it.
> My concern is that I'm not sure we have enough percpu area for vmstat+vmevents
> for 1000+ memcg, and it's allowed even if we can do.
> 

What I proposed above was adding an array directly into struct mem_cgroup 
so that we don't collect the stats percpu, they are incremented directly 
in the mem_cgroup.  Perhaps if we separated enum vm_event_item out into 
two separate arrays (those useful only globally and those useful for both 
global and memcg), then this would be simple.

Something like

	enum vm_event_item {
		PGPGIN,
		PGPGOUT,
		PSWPIN,
		PSWPOUT,
		...
		NR_VM_EVENT_ITEMS,
	};

	enum vm_global_event_item {
		KSWAPD_STEAL = NR_VM_EVENT_ITEMS,
		KSWAPD_INODESTEAL,
		...
	};

and then in count_vm_event(), check

	if (item < NR_VM_EVENT_ITEMS) {
		memcg_add_vm_event(mem, item, count);
	}

I don't think we need to be concerned about reordering the global 
/proc/vmstat to fit this purpose.

--
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 internet charges in Canada: sign http://stopthemeter.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]