From patchwork Tue Jan 5 18:30:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wilcox, Matthew R" X-Patchwork-Id: 7957921 Return-Path: X-Original-To: patchwork-linux-fsdevel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 93D4DBEEE5 for ; Tue, 5 Jan 2016 18:31:03 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C3BEF20266 for ; Tue, 5 Jan 2016 18:31:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E24942021A for ; Tue, 5 Jan 2016 18:31:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752314AbcAESaX (ORCPT ); Tue, 5 Jan 2016 13:30:23 -0500 Received: from mga14.intel.com ([192.55.52.115]:13131 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752011AbcAESaR (ORCPT ); Tue, 5 Jan 2016 13:30:17 -0500 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP; 05 Jan 2016 10:30:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,525,1444719600"; d="scan'208";a="875118643" Received: from unknown (HELO thog.int.wil.cx) ([10.254.85.103]) by fmsmga001.fm.intel.com with SMTP; 05 Jan 2016 10:30:12 -0800 Received: by thog.int.wil.cx (Postfix, from userid 1000) id 67E945F846; Tue, 5 Jan 2016 13:30:12 -0500 (EST) From: Matthew Wilcox Cc: Matthew Wilcox , linux-mm@kvack.org, linux-nvdimm@lists.01.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org Subject: [PATCH v2 4/8] mincore: Add support for PUDs Date: Tue, 5 Jan 2016 13:30:06 -0500 Message-Id: <1452018610-26090-5-git-send-email-matthew.r.wilcox@intel.com> X-Mailer: git-send-email 2.6.4 In-Reply-To: <1452018610-26090-1-git-send-email-matthew.r.wilcox@intel.com> References: <1452018610-26090-1-git-send-email-matthew.r.wilcox@intel.com> To: unlisted-recipients:; (no To-header on input) Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Matthew Wilcox We don't actually care about the contents of the PUD, as long as it's present (which is checked by the pagewalk code), so just set the bits to indicate presence and return. Signed-off-by: Matthew Wilcox --- mm/mincore.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mm/mincore.c b/mm/mincore.c index 2a565ed..8e6ce12 100644 --- a/mm/mincore.c +++ b/mm/mincore.c @@ -108,6 +108,18 @@ static int mincore_unmapped_range(unsigned long addr, unsigned long end, return 0; } +static int mincore_pud_range(pud_t *pud, unsigned long addr, unsigned long end, + struct mm_walk *walk) +{ + unsigned char *vec = walk->private; + int nr = (end - addr) >> PAGE_SHIFT; + + memset(vec, 1, nr); + walk->private += nr; + + return 0; +} + static int mincore_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, struct mm_walk *walk) { @@ -176,6 +188,7 @@ static long do_mincore(unsigned long addr, unsigned long pages, unsigned char *v unsigned long end; int err; struct mm_walk mincore_walk = { + .pud_entry = mincore_pud_range, .pmd_entry = mincore_pte_range, .pte_hole = mincore_unmapped_range, .hugetlb_entry = mincore_hugetlb,