Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp1568461ioo; Sun, 22 May 2022 19:25:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRCvqooBGgl9J33dCfEpLQfCVERYCo73LhaW1fH2PvWyXcJih2MUVcyzs11IUWBjJCwnqe X-Received: by 2002:a17:907:72ca:b0:6f9:8675:6a2a with SMTP id du10-20020a17090772ca00b006f986756a2amr18288511ejc.98.1653272710935; Sun, 22 May 2022 19:25:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653272710; cv=none; d=google.com; s=arc-20160816; b=dR+iVY74i0aZl3KgI259ljptWIF85+0Q4/plKd1qXgI++ctir3PWVnwdzHbnwKj36j A74mwoX1Oh54+Cv5arerRKBoheQPbDPSjrOBltW8mKLV9G6AqVC8pw03Ar5ei0P2jfhP M4GynI29dlUfzFixgfRm6rsmN/DDzFDLmyIHl8BezXjABmchKpblrW0KGUcGazDY2P36 l3iUeqrtYNTgS0w3VhAy3uf9i2jw4fx4AvYg2Hi+ys/RGGnP1cy8JNiXxdSWK/WezNvX cJjWstD5AfityVgUelQ7JCcxMslEVV4eknzB3wXzVoqoWW2aOrrLRWZCEgV047kODHj9 lhNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=tdfpypjILo7uMMEjNSBlBhMSijPAPOm5pT3lespMGJ8=; b=LXoJOUjRltOPN4HqbQGrcY11v0B+DfWxI53xfR/PGjc2oAnJVV5hrnTqismuzv9HBD cgww7e70QQU5622kioqtoCXAwRhCgcJFYYGYRLdCDzW99lQTV0Lw8jbbvSpNbBSBZPOT 9FTfcEo30yQ0hZmAncljDJ/lZ1jTwdpbTYqtEUcnHQXfkldO8jiqAiDyhQGwkGrJ+FGY Qih+I++HUpPq/+PPHbiy4LxTO3dIHBrtOJInGGz/F2AQQvfvtPYuVcwgoFY1ZltKIuUg 2zYES1HCcAW3+LSt+O3GZqDdd9AbsujkExIxId0mgm7/+xQyyilhFUXfN2RgIw7q2ql/ ngdg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=QZd8y+vs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dd15-20020a1709069b8f00b006e86aac6b67si5363354ejc.351.2022.05.22.19.24.43; Sun, 22 May 2022 19:25:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=QZd8y+vs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232873AbiEUUNg (ORCPT + 99 others); Sat, 21 May 2022 16:13:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229640AbiEUUNe (ORCPT ); Sat, 21 May 2022 16:13:34 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67A1E2CCA8 for ; Sat, 21 May 2022 13:13:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=tdfpypjILo7uMMEjNSBlBhMSijPAPOm5pT3lespMGJ8=; b=QZd8y+vsLi7Ifyi4NS1iHvzuD9 fqH435LIS8G+nYad9wee14NEXvzpfjYmj0GT4VGhV+LUqXWhJU6XRWRbp9pkH/e04ZeqYnHrZKMMs V81a/HXSnFA5pjWC9Z+JKzgQp+PQsSjOjRXDIARyqg2PxyQe37gswu0DrMIIOS1PhRYHDYGg64Yp8 ISOPMqK4TQ3cpH6NX3fUUZQQ1ym32QBiB97oHPBIxdqJHj3tgP/iMICNBURMjAw3sWI0ZgN7hNlyP jMNAsOK9mobt/BzFGioV6vlMK8bQy9A1HRg4lViiOOyQvj1gnEG7ZOp0JfJdqpIctgdGLjzb7YcGF dFGaDyFQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1nsVSh-00Esiq-EY; Sat, 21 May 2022 20:12:31 +0000 Date: Sat, 21 May 2022 21:12:31 +0100 From: Matthew Wilcox To: David Hildenbrand Cc: Chih-En Lin , Andrew Morton , linux-mm@kvack.org, Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , Christian Brauner , Vlastimil Babka , William Kucharski , John Hubbard , Yunsheng Lin , Arnd Bergmann , Suren Baghdasaryan , Colin Cross , Feng Tang , "Eric W. Biederman" , Mike Rapoport , Geert Uytterhoeven , Anshuman Khandual , "Aneesh Kumar K.V" , Daniel Axtens , Jonathan Marek , Christophe Leroy , Pasha Tatashin , Peter Xu , Andrea Arcangeli , Thomas Gleixner , Andy Lutomirski , Sebastian Andrzej Siewior , Fenghua Yu , linux-kernel@vger.kernel.org, Kaiyang Zhao , Huichun Feng , Jim Huang Subject: Re: [RFC PATCH 0/6] Introduce Copy-On-Write to Page Table Message-ID: References: <20220519183127.3909598-1-shiyn.lin@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, May 21, 2022 at 06:07:27PM +0200, David Hildenbrand wrote: > I'm missing the most important point: why do we care and why should we > care to make our COW/fork implementation even more complicated? > > Yes, we might save some page tables and we might reduce the fork() time, > however, which specific workload really benefits from this and why do we > really care about that workload? Without even hearing about an example > user in this cover letter (unless I missed it), I naturally wonder about > relevance in practice. As I get older (and crankier), I get less convinced that fork() is really the right solution for implementing system(). I feel that a better model is to create a process with zero threads, but have an fd to it. Then manipulate the child process through its fd (eg mmap ld.so, open new fds in that process's fdtable, etc). Closing the fd launches a new thread in the process (ensuring nobody has an fd to a running process, particularly one which is setuid).