From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2758C433E6 for ; Sun, 7 Feb 2021 08:26:38 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 29A3A64E2B for ; Sun, 7 Feb 2021 08:26:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 29A3A64E2B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=hisilicon.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 46FCD6B006E; Sun, 7 Feb 2021 03:26:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 445DC6B0070; Sun, 7 Feb 2021 03:26:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 337476B0071; Sun, 7 Feb 2021 03:26:36 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0170.hostedemail.com [216.40.44.170]) by kanga.kvack.org (Postfix) with ESMTP id 162006B006E for ; Sun, 7 Feb 2021 03:26:36 -0500 (EST) Received: from smtpin07.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id D7A6E3636 for ; Sun, 7 Feb 2021 08:26:35 +0000 (UTC) X-FDA: 77790790350.07.son63_29064ca275f4 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin07.hostedemail.com (Postfix) with ESMTP id BD7031803F9A4 for ; Sun, 7 Feb 2021 08:26:35 +0000 (UTC) X-HE-Tag: son63_29064ca275f4 X-Filterd-Recvd-Size: 2912 Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by imf28.hostedemail.com (Postfix) with ESMTP for ; Sun, 7 Feb 2021 08:26:33 +0000 (UTC) Received: from DGGEMS413-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4DYMf66cr2zjKdl; Sun, 7 Feb 2021 16:25:02 +0800 (CST) Received: from localhost.localdomain (10.69.192.58) by DGGEMS413-HUB.china.huawei.com (10.3.19.213) with Microsoft SMTP Server id 14.3.498.0; Sun, 7 Feb 2021 16:26:15 +0800 From: Zhou Wang To: , , , , , Andrew Morton , Alexander Viro CC: , , , , , , , , Zhou Wang Subject: [RFC PATCH v3 0/2] mempinfd: Add new syscall to provide memory pin Date: Sun, 7 Feb 2021 16:18:02 +0800 Message-ID: <1612685884-19514-1-git-send-email-wangzhou1@hisilicon.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.58] X-CFilter-Loop: Reflected X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: This series adds a new mempinfd syscall to offer a common way to pin/unpin memory. Patch 1/2 is about mempinfd codes. Patch 2/2 adds a simple test tool about mempinfd. Change logs: ------------ v2 -> v3: - Follow suggestions from Greg and Kevin, add a new syscall. - Add input check. - Use xa_insert to replace xa_store. - Add lock to pretect pin and xa_insert. v1 -> v2: - Some tiny fixes. - Follow Greg's suggestion to get mm-list and iommu-list involved. Links: ------ - v2: https://www.spinics.net/lists/kernel/msg3808926.html - v1: https://www.spinics.net/lists/kernel/msg3805205.html Zhou Wang (2): mempinfd: Add new syscall to provide memory pin selftests/vm: add mempinfd test arch/arm64/include/asm/unistd.h | 2 +- arch/arm64/include/asm/unistd32.h | 2 + fs/Makefile | 1 + fs/mempinfd.c | 199 ++++++++++++++++++++++++++++++++++ include/linux/syscalls.h | 1 + include/uapi/asm-generic/unistd.h | 4 +- include/uapi/linux/mempinfd.h | 23 ++++ init/Kconfig | 6 + tools/testing/selftests/vm/Makefile | 1 + tools/testing/selftests/vm/mempinfd.c | 131 ++++++++++++++++++++++ 10 files changed, 368 insertions(+), 2 deletions(-) create mode 100644 fs/mempinfd.c create mode 100644 include/uapi/linux/mempinfd.h create mode 100644 tools/testing/selftests/vm/mempinfd.c -- 2.8.1