Re: [patch 137/162] memcg: fix thresholds for 32b architectures.

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

 



On Thu 05-11-15 18:50:29, Andrew Morton wrote:
> From: Michal Hocko <mhocko@xxxxxxxx>
> Subject: memcg: fix thresholds for 32b architectures.
> 
> 424cdc141380 ("memcg: convert threshold to bytes") has fixed a regression
> introduced by 3e32cb2e0a12 ("mm: memcontrol: lockless page counters")
> where thresholds were silently converted to use page units rather than
> bytes when interpreting the user input.
> 
> The fix is not complete, though, as properly pointed out by Ben Hutchings
> during stable backport review.  The page count is converted to bytes but
> unsigned long is used to hold the value which would be obviously not
> sufficient for 32b systems with more than 4G thresholds.  The same applies
> to usage as taken from mem_cgroup_usage which might overflow.
> 
> Let's remove this bytes vs.  pages internal tracking differences and
> handle thresholds in page units internally.  Chage mem_cgroup_usage() to
> return the value in page units and revert 424cdc141380 because this should
> be sufficient for the consistent handling.  mem_cgroup_read_u64 as the
> only users of mem_cgroup_usage outside of the threshold handling code is
> converted to give the proper in bytes result.  It is doing that already
> for page_counter output so this is more consistent as well.
> 
> The value presented to the userspace is still in bytes units.
> 
> Fixes: 424cdc141380 ("memcg: convert threshold to bytes")
> Fixes: 3e32cb2e0a12 ("mm: memcontrol: lockless page counters")
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
> Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>

-----
> From: Michal Hocko <mhocko@xxxxxxxxxx>
> Subject: memcg-fix-thresholds-for-32b-architectures-fix
> 
> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix
> 
> don't attempt to inline mem_cgroup_usage()
> 
> The compiler ignores the inline anwyay.  And __always_inlining it adds 600
> bytes of goop to the .o file.
> 
> Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> Cc: Michal Hocko <mhocko@xxxxxxxxxx>
> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

This doesn't belong to the changelog. The patch is OK otherwise.
-- 
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]