Message ID | 20230414142341.354556-17-shiyn.lin@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A96F6C77B6E for <linux-mm@archiver.kernel.org>; Fri, 14 Apr 2023 14:26:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47B0A6B0075; Fri, 14 Apr 2023 10:26:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 451DD280003; Fri, 14 Apr 2023 10:26:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2F2C9280002; Fri, 14 Apr 2023 10:26:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 21F1E6B0075 for <linux-mm@kvack.org>; Fri, 14 Apr 2023 10:26:52 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DDC54A02CB for <linux-mm@kvack.org>; Fri, 14 Apr 2023 14:26:51 +0000 (UTC) X-FDA: 80680223022.29.C6AD622 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by imf11.hostedemail.com (Postfix) with ESMTP id 08EF540003 for <linux-mm@kvack.org>; Fri, 14 Apr 2023 14:26:49 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=PG8vzbsO; spf=pass (imf11.hostedemail.com: domain of shiyn.lin@gmail.com designates 209.85.214.173 as permitted sender) smtp.mailfrom=shiyn.lin@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681482410; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6QF5xJOwjDJikkH9xEOT05QJOI9cchS0txpOZNjqBVs=; b=E/fLW1ziA9b2FWVB0QJqTZgp7HQ+u5kfBpO5FyyrVFxO6B2HgL9aegQhxpFLViEqyDViUc V1fodxdSQDMjMnKVE67TGW2b/0smJ8iOA7Z33hcVnWAQhDiAjW1OyuuTEW78DrczGmMMCr mmnPZ7N9zHhAI5dCBtD91zNlkdxC7xw= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=PG8vzbsO; spf=pass (imf11.hostedemail.com: domain of shiyn.lin@gmail.com designates 209.85.214.173 as permitted sender) smtp.mailfrom=shiyn.lin@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681482410; a=rsa-sha256; cv=none; b=la8CEY6JYAQF6TMaP/W6KgtnDRZ4mKAbQ44VIFRoMniK4o4TWBqxFg8EdAYOd9e57NlGX8 9uZ8FcPWpgId62/G/r2SJIsYUAjlFNHsNYYtqQ46iJ3Pf0gqX9EeBhQMdOhjGG5pn165p1 h8zvhUGJUNEaIGUny9k2RUjTaWW9uQw= Received: by mail-pl1-f173.google.com with SMTP id la3so18274408plb.11 for <linux-mm@kvack.org>; Fri, 14 Apr 2023 07:26:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681482409; x=1684074409; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6QF5xJOwjDJikkH9xEOT05QJOI9cchS0txpOZNjqBVs=; b=PG8vzbsOguYntaBArXbPoyIOsUI0mlogXRMQ4K9KcrLog2kyEaNPzgy2SEcS28YMUz IYXTxZGaddfvbi1anPbUGMwmo7Ik9EQqSMINnbh5SC09Rc1vsm3SmI8jX+O0mSrg3R1D MEvaod7BVxSb4j6WdFrCjbbKx5aJ4njVMPUPFG3PrD+ynvMVvRCyg3r+bhlDW0Qh0WQ7 JQcJOgXzbwgB47RvgU3kyZR72Ehyob9f2lb4Xld+MgKykEaM1vneMQijfXeQ/BPtilCu 3w3bGXb4MB3IouRkauI2Ok4meKWRELFArwxIoQaBgvym7muq1nRaMooCTqk/IeMMr1cK E+Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681482409; x=1684074409; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6QF5xJOwjDJikkH9xEOT05QJOI9cchS0txpOZNjqBVs=; b=B3nDZQT75ScRxVxj5zgDZ4jPr4rWPkUzF5RKihbO7S51GagAqUWqhckzZQf3keAT7A Bhw5/L4QApTIOsIYeH62Ofpduu1y7YGLRgc2hKOS6Lz3ppCOSLwKIrSlJYBfb9jPvbEV Lk0ZUGoSMGEC3i6seav2XMC5uSM5+b32W1fzrIoT/vjMgujtqMkmxDcaRe8N35iPBSU2 ZLco5dX6MMoD8ioJmMB+6rSdtg0sTss14syBpNAnZsyf9QR68qXS9QHhsgqM482WMA8c dhULM+sRj/OpnUxdeANeyWEYM0eMEdoL77mKdd4+I9jVnH6RXVqG1/phi+io7msRoNjb dFkA== X-Gm-Message-State: AAQBX9dhfmglgyJgY4IjC63/gNQ0SZxf2hZUeWF/L6mHEYQ0o1bIZkZA dV47QoPig8AHVUZhlAuc8YI= X-Google-Smtp-Source: AKy350YDDumVi1irC542NcdDUhAmG+zJHPpfUQ/Rbi3FQQGV1ol+SNXvZU2bDpybjtxtp5gLwcClZg== X-Received: by 2002:a17:90b:17c9:b0:246:a228:1359 with SMTP id me9-20020a17090b17c900b00246a2281359mr10871223pjb.23.1681482408896; Fri, 14 Apr 2023 07:26:48 -0700 (PDT) Received: from strix-laptop.. (2001-b011-20e0-1499-8303-7502-d3d7-e13b.dynamic-ip6.hinet.net. [2001:b011:20e0:1499:8303:7502:d3d7:e13b]) by smtp.googlemail.com with ESMTPSA id h7-20020a17090ac38700b0022335f1dae2sm2952386pjt.22.2023.04.14.07.26.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 07:26:48 -0700 (PDT) From: Chih-En Lin <shiyn.lin@gmail.com> To: Andrew Morton <akpm@linux-foundation.org>, Qi Zheng <zhengqi.arch@bytedance.com>, David Hildenbrand <david@redhat.com>, "Matthew Wilcox (Oracle)" <willy@infradead.org>, Christophe Leroy <christophe.leroy@csgroup.eu>, John Hubbard <jhubbard@nvidia.com>, Nadav Amit <namit@vmware.com>, Barry Song <baohua@kernel.org>, Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>, Steven Rostedt <rostedt@goodmis.org>, Masami Hiramatsu <mhiramat@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Arnaldo Carvalho de Melo <acme@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Yu Zhao <yuzhao@google.com>, Steven Barrett <steven@liquorix.net>, Juergen Gross <jgross@suse.com>, Peter Xu <peterx@redhat.com>, Kefeng Wang <wangkefeng.wang@huawei.com>, Tong Tiangen <tongtiangen@huawei.com>, Christoph Hellwig <hch@infradead.org>, "Liam R. Howlett" <Liam.Howlett@Oracle.com>, Yang Shi <shy828301@gmail.com>, Vlastimil Babka <vbabka@suse.cz>, Alex Sierra <alex.sierra@amd.com>, Vincent Whitchurch <vincent.whitchurch@axis.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Li kunyu <kunyu@nfschina.com>, Liu Shixin <liushixin2@huawei.com>, Hugh Dickins <hughd@google.com>, Minchan Kim <minchan@kernel.org>, Joey Gouly <joey.gouly@arm.com>, Chih-En Lin <shiyn.lin@gmail.com>, Michal Hocko <mhocko@suse.com>, Suren Baghdasaryan <surenb@google.com>, "Zach O'Keefe" <zokeefe@google.com>, Gautam Menghani <gautammenghani201@gmail.com>, Catalin Marinas <catalin.marinas@arm.com>, Mark Brown <broonie@kernel.org>, "Eric W. Biederman" <ebiederm@xmission.com>, Andrei Vagin <avagin@gmail.com>, Shakeel Butt <shakeelb@google.com>, Daniel Bristot de Oliveira <bristot@kernel.org>, "Jason A. Donenfeld" <Jason@zx2c4.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Alexey Gladkov <legion@kernel.org>, x86@kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Dinglan Peng <peng301@purdue.edu>, Pedro Fonseca <pfonseca@purdue.edu>, Jim Huang <jserv@ccns.ncku.edu.tw>, Huichun Feng <foxhoundsk.tw@gmail.com> Subject: [PATCH v5 16/17] mm: fork: Enable COW PTE to fork system call Date: Fri, 14 Apr 2023 22:23:40 +0800 Message-Id: <20230414142341.354556-17-shiyn.lin@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230414142341.354556-1-shiyn.lin@gmail.com> References: <20230414142341.354556-1-shiyn.lin@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 08EF540003 X-Rspam-User: X-Stat-Signature: a9kqe67hrn9bj6sz4mtyky1b8t6b55i1 X-HE-Tag: 1681482409-706480 X-HE-Meta: U2FsdGVkX1/11Z9SCXbIHcfCFFskSVAYLMG2kpYiuATtCsTjxdu1XA7BXERGXb0xxeoMSw69QDKMzpawAsj3yr9LDTWrzb+biRJ+8pqQPygfdvcbh1AmSUDZsDsfVpZiqjjF21WLNJtzyfrlGn81oqb8U5i1fC4yiPMIQajP22BoDNFFdb8EEhZydlfrOIWQmpb+0InY30aOaSW1b5hJN5HCCrnrdelCKju8MQiU9wHsfojsZyCII4IGjI856PLFJ67KRwlB1A/2n7P5hZKfhvAGcEuAq3h40rrpOaNH3MfGPSm7UCBBKSwTn4VZDMl7thxxLGs2HLYzWqIhrbsJMsB8J9uyaYEOiO8jgIHC47df/avYpsuqKR//TTCkznJuXoIAtakzSMFg9+VDhKlaf71cd/loa5vwNbdw5BUKZbzl/p0D0EmFsfw7DgGp8OLH5hte9HdR7I4QtOJ76AGvAV/F/mLu5qunxOT8txLqYEvC3pkVsP1SWud9MmR+JQEGGj/H7KstE5DhgOSoazxysb4XZJ2p6OGSlf9hvTKO2vPIPwrXsXT/nb5y0sUk/oQzXOnBNY0YvxltD+oiYFgD+5NvYf/hfLebDZckPvk/kmx6j18i3KrVrxTHA71bms7Lc36cknU0Nl5en5bDrA1JIG5cD9ouVPr6jU0G30n7SlmDp1SEHNx4mJAWrG/lOR42Jq73tPJ/3pawLD/fNuKv9i4gfO/9+ztN76VhBC4daC4fg47KSThm/tg1C1XL12E6OR1qhfBzJ40nychcFKyoV3kUvhCiRC5s65Ki1EsHGU5yoKsWjJkyw2rvuoZ2mRzOScCZAtdScJECr2cHomqskH+Nm9CD4NTOeQpHLVWqg96tcyn+++MuIiKP3Zf7i+XSmdjTDoXXx8dU1Nx7hFVsomGbO2zyesf2ipv7wExcFrmuibdax4be7hJt0cF+Egkomrjed/F6sW/KYw/0G9k 0jZ3H0m3 PL8l/2vGhsWL2Dqns4omRYheMUV6LDC5SYfTtQCkHcI7YDvRSoz6JPY8IH8FI2vR1or+alLBL63G9GEgJ1R6sDHJ3i1iqSo42gbNhOUSm50JQbNAWW3cx7KA3CDpgDE7G0SL47GIeiM4TNl7sE+gMAwpRdlALK/SlLFvLOVC5OIAaUH3a+6Mfrq22L6UsL0lkYejYGP4e0hQgtdqBtUxbT2vGIgywQ0j9ZnW6GdAnSl1AmNQ8aFPsCYZnx8ghyd3DdZ/NXeFzL803gUcTT0VfQUeRecUMEbM5tEqOdHn8Gk+9i5jaz9MITdQRLVpWu8dnTSDIdn0RsAw8PNhm7AIuPLLSlNv6VDg2G7OL3L1Q70E0jegGUHE5CT3k018l8Y3S6bFXiWchcJAVAR8YnY7mBw+XQnOWhjVAzVT+hUuisp2GmPJq4qyHyfxinuNUk07HUPcvMayh/0aCsO0exmlel7duXGvhW4Qgp6w3Lb282MZa0XVjtdqsDJJkBWgXHucrMPr4f+ftTuH38jqtW0DYwJFEpoqxOEVeEP6W/6Rc+6znMx0= 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: <linux-mm.kvack.org> |
Series |
Introduce Copy-On-Write to Page Table
|
expand
|
diff --git a/kernel/fork.c b/kernel/fork.c index 0c92f224c68c..8452d5c4eb5e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2679,6 +2679,13 @@ pid_t kernel_clone(struct kernel_clone_args *args) trace = 0; } +#ifdef CONFIG_COW_PTE + if (current->mm && test_bit(MMF_COW_PTE_READY, ¤t->mm->flags)) { + clear_bit(MMF_COW_PTE_READY, ¤t->mm->flags); + set_bit(MMF_COW_PTE, ¤t->mm->flags); + } +#endif + p = copy_process(NULL, trace, NUMA_NO_NODE, args); add_latent_entropy();
This patch enables the Copy-On-Write (COW) mechanism to the PTE table in fork system call. To let the process do COW PTE fork, use prctl(PR_SET_COW_PTE), it will set the MMF_COW_PTE_READY flag to the process for enabling COW PTE during the next time of fork. It uses the MMF_COW_PTE flag to distinguish the normal page table and the COW one. Moreover, it is difficult to distinguish whether all the page tables is out of COW state. So the MMF_COW_PTE flag won't be disabled after setup. Signed-off-by: Chih-En Lin <shiyn.lin@gmail.com> --- kernel/fork.c | 7 +++++++ 1 file changed, 7 insertions(+)