Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752159AbbKZBw2 (ORCPT ); Wed, 25 Nov 2015 20:52:28 -0500 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:35006 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751651AbbKZBwY (ORCPT ); Wed, 25 Nov 2015 20:52:24 -0500 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: iamjoonsoo.kim@lge.com X-Original-SENDERIP: 10.177.222.138 X-Original-MAILFROM: iamjoonsoo.kim@lge.com Date: Thu, 26 Nov 2015 10:52:52 +0900 From: Joonsoo Kim To: Christoph Lameter Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH] mm/vmstat: retrieve more accurate vmstat value Message-ID: <20151126015252.GA13138@js1304-P5Q-DELUXE> References: <1448346123-2699-1-git-send-email-iamjoonsoo.kim@lge.com> <20151125025735.GC9563@js1304-P5Q-DELUXE> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1567 Lines: 36 On Wed, Nov 25, 2015 at 10:04:44AM -0600, Christoph Lameter wrote: > > Although vmstat values aren't designed for accuracy, these are already > > used by some sensitive places so it is better to be more accurate. > > The design is to sacrifice accuracy and the time the updates occur for > performance reasons. This is not the purpose the counters were designed > for. If you put these demands on the vmstat then you will get complex > convoluted code and compromise performance. I understand design decision, but, it is better to get value as much as accurate if there is no performance problem. My patch would not cause much performance degradation because it is just adding one this_cpu_read(). Consider about following example. Current implementation returns interesting output if someone do following things. v1 = zone_page_state(XXX); mod_zone_page_state(XXX, 1); v2 = zone_page_state(XXX); v2 would be same with v1 in most of cases even if we already update it. This situation could occurs in page allocation path and others. If some task try to allocate many pages, then watermark check returns same values until updating vmstat even if some freepage are allocated. There are some adjustments for this imprecision but why not do it become accurate? I think that this change is reasonable trade-off. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/