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 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 D2288C433E3 for ; Fri, 21 Aug 2020 19:06:40 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8EFB820791 for ; Fri, 21 Aug 2020 19:06:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="A9egEkbx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EFB820791 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 297238D0075; Fri, 21 Aug 2020 15:06:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 245F78D0002; Fri, 21 Aug 2020 15:06:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 15CA08D0075; Fri, 21 Aug 2020 15:06:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0067.hostedemail.com [216.40.44.67]) by kanga.kvack.org (Postfix) with ESMTP id F3CE68D0002 for ; Fri, 21 Aug 2020 15:06:39 -0400 (EDT) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id A7F768249980 for ; Fri, 21 Aug 2020 19:06:39 +0000 (UTC) X-FDA: 77175507318.29.cakes80_3f068cb2703b Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin29.hostedemail.com (Postfix) with ESMTP id 4EC8918039788 for ; Fri, 21 Aug 2020 19:06:37 +0000 (UTC) X-HE-Tag: cakes80_3f068cb2703b X-Filterd-Recvd-Size: 9013 Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by imf18.hostedemail.com (Postfix) with ESMTP for ; Fri, 21 Aug 2020 19:06:36 +0000 (UTC) Received: by mail-lj1-f196.google.com with SMTP id 185so2991832ljj.7 for ; Fri, 21 Aug 2020 12:06:36 -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=BOJuBuA6j0mFVFe9omHwthNItrlB+aR2g9oJIkoH7Dw=; b=A9egEkbxH0ULsq+fJ7cUjoSHjAkT7H1JQYSOTJZA8FNKMPu4jSi9Z7eCeMd8eEVPks k3EUsfYC98uVuQ/wry8qCdHpOBrEBsybWIJN3UTP+p/8UZEot+OU0QKxkC1s18RR5ztG 40hZbySFG3rdlJFqG/VIg8Z1zGxQuBdK2OP6U= 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=BOJuBuA6j0mFVFe9omHwthNItrlB+aR2g9oJIkoH7Dw=; b=AuwhLXPEAOCOR3bTet8pOQG8ZJMDUivFj4q2pFlMTM/rV7a/ob9L0Be6HLBi/E4D0g aZ2AR8QE37GtRl6T9DFRRnrf/WKKNBZkPkuQlsrljqW4CBUvQCJN0/FFUpzffo/NFu5y HSQJxh243oOdNSijafARtylHGBpMZNadLTeOSJ3+svi/7XKXx8bFY8QFWIMsJc1/QaqQ H/AX9wLSHLAdScyc6UiN3lNEHTOit3rtq5FviCGWbk0CFYy2LDBe50PZEcVuAix24bjL rZmfmQRS2roMOIs7hHkZOYQSr1UBaQ62bkuSpdXgufQ7x5Dy+hUXRn/jf+fU3AKuB4Aw gPlA== X-Gm-Message-State: AOAM532YXRxy+IYUFRfW92M2OK3MOfQREsYrksX7eqHeqOycXrSEU9J9 WNPeUhL2vWwGOUvHjc/b6iKlGRA7ZPoqrg== X-Google-Smtp-Source: ABdhPJx11q7fJ//hkp9Z1wqjxOOR2loWgVP8JvGDGtQFFxWAhw+IomT1WUWEFIGaU0q0eP0zgK1TeA== X-Received: by 2002:a2e:b175:: with SMTP id a21mr2100210ljm.423.1598036795167; Fri, 21 Aug 2020 12:06:35 -0700 (PDT) Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com. [209.85.208.173]) by smtp.gmail.com with ESMTPSA id s3sm557373ljd.44.2020.08.21.12.06.33 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Aug 2020 12:06:33 -0700 (PDT) Received: by mail-lj1-f173.google.com with SMTP id v12so2987599ljc.10 for ; Fri, 21 Aug 2020 12:06:33 -0700 (PDT) X-Received: by 2002:a2e:2e04:: with SMTP id u4mr2025171lju.102.1598036793299; Fri, 21 Aug 2020 12:06:33 -0700 (PDT) MIME-Version: 1.0 References: <20200811214255.GE6353@xz-x1> <20200820215449.GB358043@xz-x1> <20200821101333.GA3432@quack2.suse.cz> <20200821154756.GC3432@quack2.suse.cz> <20200821180848.GA11376@xz-x1> In-Reply-To: From: Linus Torvalds Date: Fri, 21 Aug 2020 12:06:17 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3] mm/gup: Allow real explicit breaking of COW To: Peter Xu Cc: Jan Kara , Andrea Arcangeli , Linux-MM , Linux Kernel Mailing List , Andrew Morton , Marty Mcfadden , "Maya B . Gokhale" , Jann Horn , Christoph Hellwig , Oleg Nesterov , Kirill Shutemov Content-Type: multipart/mixed; boundary="00000000000067511605ad67efd0" X-Rspamd-Queue-Id: 4EC8918039788 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam01 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: --00000000000067511605ad67efd0 Content-Type: text/plain; charset="UTF-8" On Fri, Aug 21, 2020 at 12:05 PM Linus Torvalds wrote: > > Well, the fix is simple, although I don't love the magic PageKsm > semantics that hide it from the page count. > > But since (a) a Ksm page is presumably normally shared (ie things like > all zeroes) and (b) copying should always be safe, just do that. I meant to attach the patch that did that, but didn't. Here is the obvious modified version. Linus --00000000000067511605ad67efd0 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_ke4lu2ew0 RnJvbSBjZDc4YmI3MmM3NDQ3YjA1YWUzMDM0MWVlZDJkMDdhMDQ2ZDMyZTVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFR1ZSwgMTEgQXVnIDIwMjAgMTQ6MjM6MDQgLTA3MDAKU3ViamVjdDog W1BBVENIXSBUcmlhbCBkb193cF9wYWdlKCkgc2ltcGxpZmljYXRpb24KCkhvdyBhYm91dCB3ZSBq dXN0IG1ha2Ugc3VyZSB3ZSdyZSB0aGUgb25seSBwb3NzaWJsZSB2YWxpZCB1c2VyIGZvIHRoZQpw YWdlIGJlZm9yZSB3ZSBib3RoZXIgdG8gcmV1c2UgaXQ/CgpTaW1wbGlmeSwgc2ltcGxpZnksIHNp bXBsaWZ5LgoKQW5kIGdldCByaWQgb2YgdGhlIG5hc3R5IHNlcmlhbGl6YXRpb24gb24gdGhlIHBh Z2UgbG9jayBhdCB0aGUgc2FtZSB0aW1lLgoKU2lnbmVkLW9mZi1ieTogTGludXMgVG9ydmFsZHMg PHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgotLS0KIG1tL21lbW9yeS5jIHwgNTkgKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9tbS9tZW1vcnkuYyBiL21tL21lbW9yeS5jCmluZGV4IDYwMmY0MjgzMTIyZi4uY2I5MDA2MTg5 ZDIyIDEwMDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9tZW1vcnkuYwpAQCAtMjkyNyw1 MCArMjkyNywyNSBAQCBzdGF0aWMgdm1fZmF1bHRfdCBkb193cF9wYWdlKHN0cnVjdCB2bV9mYXVs dCAqdm1mKQogCSAqIG5vdCBkaXJ0eSBhY2NvdW50YWJsZS4KIAkgKi8KIAlpZiAoUGFnZUFub24o dm1mLT5wYWdlKSkgewotCQlpbnQgdG90YWxfbWFwX3N3YXBjb3VudDsKLQkJaWYgKFBhZ2VLc20o dm1mLT5wYWdlKSAmJiAoUGFnZVN3YXBDYWNoZSh2bWYtPnBhZ2UpIHx8Ci0JCQkJCSAgIHBhZ2Vf Y291bnQodm1mLT5wYWdlKSAhPSAxKSkKKwkJc3RydWN0IHBhZ2UgKnBhZ2UgPSB2bWYtPnBhZ2U7 CisKKwkJLyogUGFnZUtzbSgpIGRvZXNuJ3QgbmVjZXNzYXJpbHkgcmFpc2UgdGhlIHBhZ2UgcmVm Y291bnQgKi8KKwkJaWYgKFBhZ2VLc20ocGFnZSkgfHwgcGFnZV9jb3VudChwYWdlKSAhPSAxKQor CQkJZ290byBjb3B5OworCQlpZiAoIXRyeWxvY2tfcGFnZShwYWdlKSkKKwkJCWdvdG8gY29weTsK KwkJaWYgKFBhZ2VLc20ocGFnZSkgfHwgcGFnZV9tYXBjb3VudChwYWdlKSAhPSAxIHx8IHBhZ2Vf Y291bnQocGFnZSkgIT0gMSkgeworCQkJdW5sb2NrX3BhZ2UocGFnZSk7CiAJCQlnb3RvIGNvcHk7 Ci0JCWlmICghdHJ5bG9ja19wYWdlKHZtZi0+cGFnZSkpIHsKLQkJCWdldF9wYWdlKHZtZi0+cGFn ZSk7Ci0JCQlwdGVfdW5tYXBfdW5sb2NrKHZtZi0+cHRlLCB2bWYtPnB0bCk7Ci0JCQlsb2NrX3Bh Z2Uodm1mLT5wYWdlKTsKLQkJCXZtZi0+cHRlID0gcHRlX29mZnNldF9tYXBfbG9jayh2bWEtPnZt X21tLCB2bWYtPnBtZCwKLQkJCQkJdm1mLT5hZGRyZXNzLCAmdm1mLT5wdGwpOwotCQkJaWYgKCFw dGVfc2FtZSgqdm1mLT5wdGUsIHZtZi0+b3JpZ19wdGUpKSB7Ci0JCQkJdXBkYXRlX21tdV90bGIo dm1hLCB2bWYtPmFkZHJlc3MsIHZtZi0+cHRlKTsKLQkJCQl1bmxvY2tfcGFnZSh2bWYtPnBhZ2Up OwotCQkJCXB0ZV91bm1hcF91bmxvY2sodm1mLT5wdGUsIHZtZi0+cHRsKTsKLQkJCQlwdXRfcGFn ZSh2bWYtPnBhZ2UpOwotCQkJCXJldHVybiAwOwotCQkJfQotCQkJcHV0X3BhZ2Uodm1mLT5wYWdl KTsKLQkJfQotCQlpZiAoUGFnZUtzbSh2bWYtPnBhZ2UpKSB7Ci0JCQlib29sIHJldXNlZCA9IHJl dXNlX2tzbV9wYWdlKHZtZi0+cGFnZSwgdm1mLT52bWEsCi0JCQkJCQkgICAgIHZtZi0+YWRkcmVz cyk7Ci0JCQl1bmxvY2tfcGFnZSh2bWYtPnBhZ2UpOwotCQkJaWYgKCFyZXVzZWQpCi0JCQkJZ290 byBjb3B5OwotCQkJd3BfcGFnZV9yZXVzZSh2bWYpOwotCQkJcmV0dXJuIFZNX0ZBVUxUX1dSSVRF OwotCQl9Ci0JCWlmIChyZXVzZV9zd2FwX3BhZ2Uodm1mLT5wYWdlLCAmdG90YWxfbWFwX3N3YXBj b3VudCkpIHsKLQkJCWlmICh0b3RhbF9tYXBfc3dhcGNvdW50ID09IDEpIHsKLQkJCQkvKgotCQkJ CSAqIFRoZSBwYWdlIGlzIGFsbCBvdXJzLiBNb3ZlIGl0IHRvCi0JCQkJICogb3VyIGFub25fdm1h IHNvIHRoZSBybWFwIGNvZGUgd2lsbAotCQkJCSAqIG5vdCBzZWFyY2ggb3VyIHBhcmVudCBvciBz aWJsaW5ncy4KLQkJCQkgKiBQcm90ZWN0ZWQgYWdhaW5zdCB0aGUgcm1hcCBjb2RlIGJ5Ci0JCQkJ ICogdGhlIHBhZ2UgbG9jay4KLQkJCQkgKi8KLQkJCQlwYWdlX21vdmVfYW5vbl9ybWFwKHZtZi0+ cGFnZSwgdm1hKTsKLQkJCX0KLQkJCXVubG9ja19wYWdlKHZtZi0+cGFnZSk7Ci0JCQl3cF9wYWdl X3JldXNlKHZtZik7Ci0JCQlyZXR1cm4gVk1fRkFVTFRfV1JJVEU7CiAJCX0KLQkJdW5sb2NrX3Bh Z2Uodm1mLT5wYWdlKTsKKwkJLyoKKwkJICogT2ssIHdlJ3ZlIGdvdCB0aGUgb25seSBtYXAgcmVm ZXJlbmNlLCBhbmQgdGhlIG9ubHkKKwkJICogcGFnZSBjb3VudCByZWZlcmVuY2UsIGFuZCB0aGUg cGFnZSBpcyBsb2NrZWQsCisJCSAqIGl0J3MgZGFyayBvdXQsIGFuZCB3ZSdyZSB3ZWFyaW5nIHN1 bmdsYXNzZXMuIEhpdCBpdC4KKwkJICovCisJCXdwX3BhZ2VfcmV1c2Uodm1mKTsKKwkJdW5sb2Nr X3BhZ2UocGFnZSk7CisJCXJldHVybiBWTV9GQVVMVF9XUklURTsKIAl9IGVsc2UgaWYgKHVubGlr ZWx5KCh2bWEtPnZtX2ZsYWdzICYgKFZNX1dSSVRFfFZNX1NIQVJFRCkpID09CiAJCQkJCShWTV9X UklURXxWTV9TSEFSRUQpKSkgewogCQlyZXR1cm4gd3BfcGFnZV9zaGFyZWQodm1mKTsKLS0gCjIu MjguMC4yMTguZ2MxMmVmM2QzNDkKCg== --00000000000067511605ad67efd0--