From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e3.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id l7MNIG9L011730 for ; Wed, 22 Aug 2007 19:18:16 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v8.5) with ESMTP id l7MNIGsI496938 for ; Wed, 22 Aug 2007 19:18:16 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l7MNIGkt021257 for ; Wed, 22 Aug 2007 19:18:16 -0400 Subject: [PATCH 9/9] pagemap: export swap ptes From: Dave Hansen Date: Wed, 22 Aug 2007 16:18:14 -0700 References: <20070822231804.1132556D@kernel> In-Reply-To: <20070822231804.1132556D@kernel> Message-Id: <20070822231814.8F5F37A0@kernel> Sender: owner-linux-mm@kvack.org Return-Path: To: mpm@selenic.com Cc: linux-mm@kvack.org, Dave Hansen List-ID: In addition to understanding which physical pages are used by a process, it would also be very nice to enumerate how much swap space a process is using. This patch enables /proc//pagemap to display swap ptes. In the process, it also changes the constant that we used to indicate non-present ptes before. Signed-off-by: Dave Hansen --- lxc-dave/fs/proc/task_mmu.c | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff -puN fs/proc/task_mmu.c~pagemap-export-swap-ptes fs/proc/task_mmu.c --- lxc/fs/proc/task_mmu.c~pagemap-export-swap-ptes 2007-08-22 16:16:55.000000000 -0700 +++ lxc-dave/fs/proc/task_mmu.c 2007-08-22 16:16:55.000000000 -0700 @@ -7,6 +7,8 @@ #include #include #include +#include +#include #include #include @@ -506,9 +508,13 @@ struct pagemapread { int index; unsigned long __user *out; }; - #define PM_ENTRY_BYTES sizeof(unsigned long) -#define PM_NOT_PRESENT ((unsigned long)-1) +#define PM_RESERVED_BITS 3 +#define PM_RESERVED_OFFSET (BITS_PER_LONG-PM_RESERVED_BITS) +#define PM_RESERVED_MASK (((1< email@kvack.org