From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935017AbbIVWY0 (ORCPT ); Tue, 22 Sep 2015 18:24:26 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:46636 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934898AbbIVWYZ (ORCPT ); Tue, 22 Sep 2015 18:24:25 -0400 Date: Tue, 22 Sep 2015 15:24:23 -0700 From: Andrew Morton To: Greg Thelen Cc: Johannes Weiner , Michal Hocko , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] memcg: make mem_cgroup_read_stat() unsigned Message-Id: <20150922152423.5751d932aebfe12cdd40a618@linux-foundation.org> In-Reply-To: <1442960192-83405-1-git-send-email-gthelen@google.com> References: <1442960192-83405-1-git-send-email-gthelen@google.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 22 Sep 2015 15:16:32 -0700 Greg Thelen wrote: > mem_cgroup_read_stat() returns a page count by summing per cpu page > counters. The summing is racy wrt. updates, so a transient negative sum > is possible. Callers don't want negative values: > - mem_cgroup_wb_stats() doesn't want negative nr_dirty or nr_writeback. > - oom reports and memory.stat shouldn't show confusing negative usage. > - tree_usage() already avoids negatives. > > Avoid returning negative page counts from mem_cgroup_read_stat() and > convert it to unsigned. Someone please remind me why this code doesn't use the existing percpu_counter library which solved this problem years ago. > for_each_possible_cpu(cpu) and which doesn't iterate across offlined CPUs.