Re: [PATCH 2/3] mm: make workingset detection logic memcg aware

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

 



On Mon, Aug 03, 2015 at 03:04:22PM +0300, Vladimir Davydov wrote:
> @@ -179,8 +180,9 @@ static void unpack_shadow(void *shadow,
>  	eviction = entry;
>  
>  	*zone = NODE_DATA(nid)->node_zones + zid;
> +	*lruvec = mem_cgroup_page_lruvec(page, *zone);
>  
> -	refault = atomic_long_read(&(*zone)->inactive_age);
> +	refault = atomic_long_read(&(*lruvec)->inactive_age);
>  	mask = ~0UL >> (NODES_SHIFT + ZONES_SHIFT +
>  			RADIX_TREE_EXCEPTIONAL_SHIFT);
>  	/*

You can not compare an eviction shadow entry from one lruvec with the
inactive age of another lruvec. The inactive ages are not related and
might differ significantly: memcgs are created ad hoc, memory hotplug,
page allocator fairness drift. In those cases the result will be pure
noise.

As much as I would like to see a simpler way, I am pessimistic that
there is a way around storing memcg ids in the shadow entries.

--
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>



[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]