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=-9.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 44AEBC433DF for ; Thu, 20 Aug 2020 22:01:24 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id ED4F72087D for ; Thu, 20 Aug 2020 22:01:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="Fv9boQZV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED4F72087D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 75CE06B002F; Thu, 20 Aug 2020 18:01:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 70C868D0050; Thu, 20 Aug 2020 18:01:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 622C06B0031; Thu, 20 Aug 2020 18:01:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0112.hostedemail.com [216.40.44.112]) by kanga.kvack.org (Postfix) with ESMTP id 4CBF96B002F for ; Thu, 20 Aug 2020 18:01:23 -0400 (EDT) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 07F613634 for ; Thu, 20 Aug 2020 22:01:23 +0000 (UTC) X-FDA: 77172318846.26.boys18_441338b27034 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin26.hostedemail.com (Postfix) with ESMTP id D23EF1804B669 for ; Thu, 20 Aug 2020 22:01:22 +0000 (UTC) X-HE-Tag: boys18_441338b27034 X-Filterd-Recvd-Size: 8836 Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by imf13.hostedemail.com (Postfix) with ESMTP for ; Thu, 20 Aug 2020 22:01:22 +0000 (UTC) Received: by mail-lj1-f196.google.com with SMTP id i10so3799937ljn.2 for ; Thu, 20 Aug 2020 15:01:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qhS3pBgWvGPkso944E0GTs7HPQ2mFHvBZOTqxaoI5ss=; b=Fv9boQZV8ejQzchYvoSME/1lF+f4gEY7lMgb8iUq3vxM0n+1k6wlq/l0h4gQcQTBms eEWdRWaVmRDPPlNI/Pwy/p+tAQ/RHO8bJkc4aw1HJkI0bFzKVA1Ve3xy7f3dTFKsmOiJ 9hisVBdFXd+IGZktDHtReyiXEgSQHWXm92c0c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qhS3pBgWvGPkso944E0GTs7HPQ2mFHvBZOTqxaoI5ss=; b=Kxj+Nqk2bJGyk1NtZ28z9t5d/B2iyBMvJDou4/3IZhcfbXjalJADwuxKNC3dNyxUS9 UZyGJLJOG+GAd5C84etxMtdXFQklMg1P9c5fwD3lkgdlBNDfKfnj3Mg3iGo5zXf2+TsO FGmHYA//TZsJ+cKu2EkV0Dbs5lvHKKx5iMimL5bFEtYfq4jICvNlR1G2GLUgo8vy1vGe gE0ObbmKvGu2lk7EsjWH9ua1jJ9R1M0vc2VNKKecY8R93tQUbXRQte9gwHd74XJjkhtv y9e1pGI7ECybkGxZJh3qidcypAKCf1L5Og3ixmdLtxk8Pa2kCLIM3u2j+lPAKHLAkooT Fi0w== X-Gm-Message-State: AOAM532xPHM5Lc+85ck+nR6e9fM+zVX5S+4wlVvT9jTFzzhL1o7pTwqW 8pb3eAyKeYxz04Zod6V8/zzBYElE8T+pSA== X-Google-Smtp-Source: ABdhPJyk6ErXEcfGOVapTBxVSy98ktkYKx89b6hRj1MUg3KavDSqmL5/AznpjlDEtSpaof8ibp6Ueg== X-Received: by 2002:a2e:b0d2:: with SMTP id g18mr33167ljl.136.1597960880516; Thu, 20 Aug 2020 15:01:20 -0700 (PDT) Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com. [209.85.167.53]) by smtp.gmail.com with ESMTPSA id 64sm343187lfi.13.2020.08.20.15.01.17 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Aug 2020 15:01:17 -0700 (PDT) Received: by mail-lf1-f53.google.com with SMTP id j15so1716282lfg.7 for ; Thu, 20 Aug 2020 15:01:17 -0700 (PDT) X-Received: by 2002:a05:6512:3b7:: with SMTP id v23mr4286lfp.10.1597960876766; Thu, 20 Aug 2020 15:01:16 -0700 (PDT) MIME-Version: 1.0 References: <20200811183950.10603-1-peterx@redhat.com> <20200811214255.GE6353@xz-x1> <20200820215449.GB358043@xz-x1> In-Reply-To: <20200820215449.GB358043@xz-x1> From: Linus Torvalds Date: Thu, 20 Aug 2020 15:01:00 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3] mm/gup: Allow real explicit breaking of COW To: Peter Xu Cc: Andrea Arcangeli , Linux-MM , Linux Kernel Mailing List , Andrew Morton , Marty Mcfadden , "Maya B . Gokhale" , Jann Horn , Christoph Hellwig , Oleg Nesterov , Kirill Shutemov , Jan Kara Content-Type: multipart/mixed; boundary="0000000000006d020005ad5642eb" X-Rspamd-Queue-Id: D23EF1804B669 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam02 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: --0000000000006d020005ad5642eb Content-Type: text/plain; charset="UTF-8" On Thu, Aug 20, 2020 at 2:54 PM Peter Xu wrote: > > I kind of prefer the new suggestion to remove code rather than adding new > codes. I definitely don't know enough on the side effect of it, especially > performance-wise on either ksm or swap, but... IIUC the worst case is we'll get > some perf report later on, and it seems also not hard to revert the patch later > if we want. Well, would you be willing to try this patch out? After you apply that patch, you should be able to remove the should_force_cow_break() games entirely, because a write to the page should always break cow towards the writer if there are any GUP users around (put another way: away from the GUP). However, to make the test meaningful, it really should do some swap testing too. Linus --0000000000006d020005ad5642eb Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Trial-do_wp_page-simplification.patch" Content-Disposition: attachment; filename="0001-Trial-do_wp_page-simplification.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ke3cjhmd0 RnJvbSBmNDEwODI4NDRlYTgyYWQxMjc4ZTE2N2ZlNmU5NzNmYTRlZmM5NzRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFR1ZSwgMTEgQXVnIDIwMjAgMTQ6MjM6MDQgLTA3MDAKU3ViamVjdDog W1BBVENIXSBUcmlhbCBkb193cF9wYWdlKCkgc2ltcGxpZmljYXRpb24KCkhvdyBhYm91dCB3ZSBq dXN0IG1ha2Ugc3VyZSB3ZSdyZSB0aGUgb25seSBwb3NzaWJsZSB2YWxpZCB1c2VyIGZvIHRoZQpw YWdlIGJlZm9yZSB3ZSBib3RoZXIgdG8gcmV1c2UgaXQ/CgpTaW1wbGlmeSwgc2ltcGxpZnksIHNp bXBsaWZ5LgoKQW5kIGdldCByaWQgb2YgdGhlIG5hc3R5IHNlcmlhbGl6YXRpb24gb24gdGhlIHBh Z2UgbG9jayBhdCB0aGUgc2FtZSB0aW1lLgoKU2lnbmVkLW9mZi1ieTogTGludXMgVG9ydmFsZHMg PHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgotLS0KIG1tL21lbW9yeS5jIHwgNTggKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9tbS9tZW1vcnkuYyBiL21tL21lbW9yeS5jCmluZGV4IDYwMmY0MjgzMTIyZi4uYTQzMDA0ZGQy ZmY2IDEwMDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9tZW1vcnkuYwpAQCAtMjkyNyw1 MCArMjkyNywyNCBAQCBzdGF0aWMgdm1fZmF1bHRfdCBkb193cF9wYWdlKHN0cnVjdCB2bV9mYXVs dCAqdm1mKQogCSAqIG5vdCBkaXJ0eSBhY2NvdW50YWJsZS4KIAkgKi8KIAlpZiAoUGFnZUFub24o dm1mLT5wYWdlKSkgewotCQlpbnQgdG90YWxfbWFwX3N3YXBjb3VudDsKLQkJaWYgKFBhZ2VLc20o dm1mLT5wYWdlKSAmJiAoUGFnZVN3YXBDYWNoZSh2bWYtPnBhZ2UpIHx8Ci0JCQkJCSAgIHBhZ2Vf Y291bnQodm1mLT5wYWdlKSAhPSAxKSkKKwkJc3RydWN0IHBhZ2UgKnBhZ2UgPSB2bWYtPnBhZ2U7 CisKKwkJaWYgKHBhZ2VfY291bnQocGFnZSkgIT0gMSkKKwkJCWdvdG8gY29weTsKKwkJaWYgKCF0 cnlsb2NrX3BhZ2UocGFnZSkpCisJCQlnb3RvIGNvcHk7CisJCWlmIChwYWdlX21hcGNvdW50KHBh Z2UpICE9IDEgJiYgcGFnZV9jb3VudChwYWdlKSAhPSAxKSB7CisJCQl1bmxvY2tfcGFnZShwYWdl KTsKIAkJCWdvdG8gY29weTsKLQkJaWYgKCF0cnlsb2NrX3BhZ2Uodm1mLT5wYWdlKSkgewotCQkJ Z2V0X3BhZ2Uodm1mLT5wYWdlKTsKLQkJCXB0ZV91bm1hcF91bmxvY2sodm1mLT5wdGUsIHZtZi0+ cHRsKTsKLQkJCWxvY2tfcGFnZSh2bWYtPnBhZ2UpOwotCQkJdm1mLT5wdGUgPSBwdGVfb2Zmc2V0 X21hcF9sb2NrKHZtYS0+dm1fbW0sIHZtZi0+cG1kLAotCQkJCQl2bWYtPmFkZHJlc3MsICZ2bWYt PnB0bCk7Ci0JCQlpZiAoIXB0ZV9zYW1lKCp2bWYtPnB0ZSwgdm1mLT5vcmlnX3B0ZSkpIHsKLQkJ CQl1cGRhdGVfbW11X3RsYih2bWEsIHZtZi0+YWRkcmVzcywgdm1mLT5wdGUpOwotCQkJCXVubG9j a19wYWdlKHZtZi0+cGFnZSk7Ci0JCQkJcHRlX3VubWFwX3VubG9jayh2bWYtPnB0ZSwgdm1mLT5w dGwpOwotCQkJCXB1dF9wYWdlKHZtZi0+cGFnZSk7Ci0JCQkJcmV0dXJuIDA7Ci0JCQl9Ci0JCQlw dXRfcGFnZSh2bWYtPnBhZ2UpOwotCQl9Ci0JCWlmIChQYWdlS3NtKHZtZi0+cGFnZSkpIHsKLQkJ CWJvb2wgcmV1c2VkID0gcmV1c2Vfa3NtX3BhZ2Uodm1mLT5wYWdlLCB2bWYtPnZtYSwKLQkJCQkJ CSAgICAgdm1mLT5hZGRyZXNzKTsKLQkJCXVubG9ja19wYWdlKHZtZi0+cGFnZSk7Ci0JCQlpZiAo IXJldXNlZCkKLQkJCQlnb3RvIGNvcHk7Ci0JCQl3cF9wYWdlX3JldXNlKHZtZik7Ci0JCQlyZXR1 cm4gVk1fRkFVTFRfV1JJVEU7Ci0JCX0KLQkJaWYgKHJldXNlX3N3YXBfcGFnZSh2bWYtPnBhZ2Us ICZ0b3RhbF9tYXBfc3dhcGNvdW50KSkgewotCQkJaWYgKHRvdGFsX21hcF9zd2FwY291bnQgPT0g MSkgewotCQkJCS8qCi0JCQkJICogVGhlIHBhZ2UgaXMgYWxsIG91cnMuIE1vdmUgaXQgdG8KLQkJ CQkgKiBvdXIgYW5vbl92bWEgc28gdGhlIHJtYXAgY29kZSB3aWxsCi0JCQkJICogbm90IHNlYXJj aCBvdXIgcGFyZW50IG9yIHNpYmxpbmdzLgotCQkJCSAqIFByb3RlY3RlZCBhZ2FpbnN0IHRoZSBy bWFwIGNvZGUgYnkKLQkJCQkgKiB0aGUgcGFnZSBsb2NrLgotCQkJCSAqLwotCQkJCXBhZ2VfbW92 ZV9hbm9uX3JtYXAodm1mLT5wYWdlLCB2bWEpOwotCQkJfQotCQkJdW5sb2NrX3BhZ2Uodm1mLT5w YWdlKTsKLQkJCXdwX3BhZ2VfcmV1c2Uodm1mKTsKLQkJCXJldHVybiBWTV9GQVVMVF9XUklURTsK IAkJfQotCQl1bmxvY2tfcGFnZSh2bWYtPnBhZ2UpOworCQkvKgorCQkgKiBPaywgd2UndmUgZ290 IHRoZSBvbmx5IG1hcCByZWZlcmVuY2UsIGFuZCB0aGUgb25seQorCQkgKiBwYWdlIGNvdW50IHJl ZmVyZW5jZSwgYW5kIHRoZSBwYWdlIGlzIGxvY2tlZCwKKwkJICogaXQncyBkYXJrIG91dCwgYW5k IHdlJ3JlIHdlYXJpbmcgc3VuZ2xhc3Nlcy4gSGl0IGl0LgorCQkgKi8KKwkJd3BfcGFnZV9yZXVz ZSh2bWYpOworCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJcmV0dXJuIFZNX0ZBVUxUX1dSSVRFOwog CX0gZWxzZSBpZiAodW5saWtlbHkoKHZtYS0+dm1fZmxhZ3MgJiAoVk1fV1JJVEV8Vk1fU0hBUkVE KSkgPT0KIAkJCQkJKFZNX1dSSVRFfFZNX1NIQVJFRCkpKSB7CiAJCXJldHVybiB3cF9wYWdlX3No YXJlZCh2bWYpOwotLSAKMi4yOC4wLjIxOC5nYzEyZWYzZDM0OQoK --0000000000006d020005ad5642eb--