From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759565AbXKTB06 (ORCPT ); Mon, 19 Nov 2007 20:26:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752406AbXKTBOS (ORCPT ); Mon, 19 Nov 2007 20:14:18 -0500 Received: from relay1.sgi.com ([192.48.171.29]:49886 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756281AbXKTBNm (ORCPT ); Mon, 19 Nov 2007 20:13:42 -0500 Message-Id: <20071120011341.496602776@sgi.com> References: <20071120011132.143632442@sgi.com> User-Agent: quilt/0.46-1 Date: Mon, 19 Nov 2007 17:12:13 -0800 From: clameter@sgi.com From: Christoph Lameter To: ak@suse.de Cc: akpm@linux-foundation.org Cc: travis@sgi.com Cc: Mathieu Desnoyers Cc: linux-kernel@vger.kernel.org Subject: [rfc 41/45] VM statistics: Use CPU ops Content-Disposition: inline; filename=vmstat Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org The use of CPU ops here avoids the offset calculations that we used to have to do with per cpu ops. The result of this patch is that event counters are coded with a single instruction the following way: incq %gs:offset(%rip) Without these patches this was: mov %gs:0x8,%rdx mov %eax,0x38(%rsp) mov xxx(%rip),%eax mov %eax,0x48(%rsp) mov varoffset,%rax incq 0x110(%rax,%rdx,1) Signed-off-by: Christoph Lameter