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=-4.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no 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 9051CC433DF for ; Tue, 11 Aug 2020 20:46:29 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 3AE5D20756 for ; Tue, 11 Aug 2020 20:46:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="IMdn9XLt" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3AE5D20756 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 8C1ED6B0002; Tue, 11 Aug 2020 16:46:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 872A36B0005; Tue, 11 Aug 2020 16:46:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 714226B0006; Tue, 11 Aug 2020 16:46:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0165.hostedemail.com [216.40.44.165]) by kanga.kvack.org (Postfix) with ESMTP id 57C0E6B0002 for ; Tue, 11 Aug 2020 16:46:28 -0400 (EDT) Received: from smtpin06.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id B70B78248068 for ; Tue, 11 Aug 2020 20:46:27 +0000 (UTC) X-FDA: 77139470814.06.coach76_2f1072826fe5 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin06.hostedemail.com (Postfix) with ESMTP id 7AF8510042607 for ; Tue, 11 Aug 2020 20:46:27 +0000 (UTC) X-HE-Tag: coach76_2f1072826fe5 X-Filterd-Recvd-Size: 8155 Received: from mail-lj1-f193.google.com (mail-lj1-f193.google.com [209.85.208.193]) by imf26.hostedemail.com (Postfix) with ESMTP for ; Tue, 11 Aug 2020 20:46:26 +0000 (UTC) Received: by mail-lj1-f193.google.com with SMTP id f26so13634525ljc.8 for ; Tue, 11 Aug 2020 13:46:26 -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=jZe75UFLfITAAmIeNDbAzsOBmvV4RSPUEOqHg3l7jUw=; b=IMdn9XLtN1CZPiqDOc5nHwwsTSpq4Fn1lMUvGjdT4Syjvo3UbZqo/PYZfhb12PIT+w 0CQ5j/1SD1y898z3WwPFERJmKo05ajw+EZyAurkgo/4F4+GjxAjB9Z2WkFlTWZlsct5Q vFbV4ctkkFe6wGN1i6LxW9q7Uu6GOFFkAPw3k= 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=jZe75UFLfITAAmIeNDbAzsOBmvV4RSPUEOqHg3l7jUw=; b=KVkox/K4Yb2BHg9GHsbaQCU6MP5o6mnoZvM/+KWZHRQ+RfpdVEeN+eNkjn5ZTHMaL8 MoW7CSUtwGZswniGuJSTIQySSmgFfA1mDUObb1mzOqM8KCuyGCEQd5Hh+MKIlU3V7Kwa 13IdSBzpo3RlFMqTDnNOcr08X+/YvUSfQKwto1XuSxz5cKRkqA/YR4sSKEqSQCtdlkP7 tAZ9oDumR6frMF764Ge4kv2PQf+v0V2Ti0j30BqultmQPtChBI5T7Y00FqIrlCYEmguE DOX9k2H5ykiViw2dyNyFCsWTK8AH39BkwqZuIocDkPp5pDL713oQTkEH6bzroh9HYYQ+ prQA== X-Gm-Message-State: AOAM532suAtjd4JXgwQeAa6H0l8+2NwmGi2EsFoFqKgakKYqfg+411wz F8EjVTacA/YW2buGLendCmrzhr/vDWk= X-Google-Smtp-Source: ABdhPJyTHTNUvQ8Bo+Ssql9+7KnsCOO5Us+Mvz7ctYlT11Cz0IJ6gMMp/8BJjJTtTM5RRn1cXD8pMw== X-Received: by 2002:a05:651c:1122:: with SMTP id e2mr3687185ljo.36.1597178785095; Tue, 11 Aug 2020 13:46:25 -0700 (PDT) Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com. [209.85.208.178]) by smtp.gmail.com with ESMTPSA id j144sm13194687lfj.54.2020.08.11.13.46.22 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Aug 2020 13:46:22 -0700 (PDT) Received: by mail-lj1-f178.google.com with SMTP id v12so15034405ljc.10 for ; Tue, 11 Aug 2020 13:46:22 -0700 (PDT) X-Received: by 2002:a05:651c:503:: with SMTP id o3mr4015314ljp.312.1597178781721; Tue, 11 Aug 2020 13:46:21 -0700 (PDT) MIME-Version: 1.0 References: <20200811183950.10603-1-peterx@redhat.com> In-Reply-To: From: Linus Torvalds Date: Tue, 11 Aug 2020 13:46:05 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3] mm/gup: Allow real explicit breaking of COW To: Peter Xu , Andrea Arcangeli Cc: 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="000000000000edc16805aca02981" X-Rspamd-Queue-Id: 7AF8510042607 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: --000000000000edc16805aca02981 Content-Type: text/plain; charset="UTF-8" On Tue, Aug 11, 2020 at 1:06 PM Linus Torvalds wrote: > > Maybe trying to reuse the page just isn't worth it? Well, the attached patch boots, and hasn't slowed kernel compiles down. But it may do horrible things due to leaving swap cache pages and KSM pages to be reaped by the memory scanner, instead of being reused. I wouldn't notice, I have too much memory in this machine anyway. It might have positive side effects too, of course. Not waiting for the page lock in the page fault case could be a big win on some loads. We do_wp_page() was one of the paths to the page lock that caused the nasty latency spikes (I'm not sure it was a dominant one, but it was up there). So maybe it is worth running some test loads on. And while this patch doesn't do it, applying this should mean that you can just revert all the COW games entirely, and we can remove the should_force_cow_break() from the GUP paths. (Also - if this actually works, we can get rid of reuse_ksm_page(), this was the only user) Linus --000000000000edc16805aca02981 Content-Type: application/octet-stream; name=patch Content-Disposition: attachment; filename=patch Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kdqewza70 IG1tL21lbW9yeS5jIHwgNTggKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDQy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL21tL21lbW9yeS5jIGIvbW0vbWVtb3J5LmMKaW5k ZXggYzM5YTEzYjA5NjAyLi5iNGE1NzczMDUzOWQgMTAwNjQ0Ci0tLSBhL21tL21lbW9yeS5jCisr KyBiL21tL21lbW9yeS5jCkBAIC0yOTI3LDUwICsyOTI3LDI0IEBAIHN0YXRpYyB2bV9mYXVsdF90 IGRvX3dwX3BhZ2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJICogbm90IGRpcnR5IGFjY291bnRh YmxlLgogCSAqLwogCWlmIChQYWdlQW5vbih2bWYtPnBhZ2UpKSB7Ci0JCWludCB0b3RhbF9tYXBf c3dhcGNvdW50OwotCQlpZiAoUGFnZUtzbSh2bWYtPnBhZ2UpICYmIChQYWdlU3dhcENhY2hlKHZt Zi0+cGFnZSkgfHwKLQkJCQkJICAgcGFnZV9jb3VudCh2bWYtPnBhZ2UpICE9IDEpKQorCQlzdHJ1 Y3QgcGFnZSAqcGFnZSA9IHZtZi0+cGFnZTsKKworCQlpZiAocGFnZV9jb3VudChwYWdlKSAhPSAx KQorCQkJZ290byBjb3B5OworCQlpZiAoIXRyeWxvY2tfcGFnZShwYWdlKSkKKwkJCWdvdG8gY29w eTsKKwkJaWYgKHBhZ2VfbWFwY291bnQocGFnZSkgIT0gMSAmJiBwYWdlX2NvdW50KHBhZ2UpICE9 IDEpIHsKKwkJCXVubG9ja19wYWdlKHBhZ2UpOwogCQkJZ290byBjb3B5OwotCQlpZiAoIXRyeWxv Y2tfcGFnZSh2bWYtPnBhZ2UpKSB7Ci0JCQlnZXRfcGFnZSh2bWYtPnBhZ2UpOwotCQkJcHRlX3Vu bWFwX3VubG9jayh2bWYtPnB0ZSwgdm1mLT5wdGwpOwotCQkJbG9ja19wYWdlKHZtZi0+cGFnZSk7 Ci0JCQl2bWYtPnB0ZSA9IHB0ZV9vZmZzZXRfbWFwX2xvY2sodm1hLT52bV9tbSwgdm1mLT5wbWQs Ci0JCQkJCXZtZi0+YWRkcmVzcywgJnZtZi0+cHRsKTsKLQkJCWlmICghcHRlX3NhbWUoKnZtZi0+ cHRlLCB2bWYtPm9yaWdfcHRlKSkgewotCQkJCXVwZGF0ZV9tbXVfdGxiKHZtYSwgdm1mLT5hZGRy ZXNzLCB2bWYtPnB0ZSk7Ci0JCQkJdW5sb2NrX3BhZ2Uodm1mLT5wYWdlKTsKLQkJCQlwdGVfdW5t YXBfdW5sb2NrKHZtZi0+cHRlLCB2bWYtPnB0bCk7Ci0JCQkJcHV0X3BhZ2Uodm1mLT5wYWdlKTsK LQkJCQlyZXR1cm4gMDsKLQkJCX0KLQkJCXB1dF9wYWdlKHZtZi0+cGFnZSk7Ci0JCX0KLQkJaWYg KFBhZ2VLc20odm1mLT5wYWdlKSkgewotCQkJYm9vbCByZXVzZWQgPSByZXVzZV9rc21fcGFnZSh2 bWYtPnBhZ2UsIHZtZi0+dm1hLAotCQkJCQkJICAgICB2bWYtPmFkZHJlc3MpOwotCQkJdW5sb2Nr X3BhZ2Uodm1mLT5wYWdlKTsKLQkJCWlmICghcmV1c2VkKQotCQkJCWdvdG8gY29weTsKLQkJCXdw X3BhZ2VfcmV1c2Uodm1mKTsKLQkJCXJldHVybiBWTV9GQVVMVF9XUklURTsKLQkJfQotCQlpZiAo cmV1c2Vfc3dhcF9wYWdlKHZtZi0+cGFnZSwgJnRvdGFsX21hcF9zd2FwY291bnQpKSB7Ci0JCQlp ZiAodG90YWxfbWFwX3N3YXBjb3VudCA9PSAxKSB7Ci0JCQkJLyoKLQkJCQkgKiBUaGUgcGFnZSBp cyBhbGwgb3Vycy4gTW92ZSBpdCB0bwotCQkJCSAqIG91ciBhbm9uX3ZtYSBzbyB0aGUgcm1hcCBj b2RlIHdpbGwKLQkJCQkgKiBub3Qgc2VhcmNoIG91ciBwYXJlbnQgb3Igc2libGluZ3MuCi0JCQkJ ICogUHJvdGVjdGVkIGFnYWluc3QgdGhlIHJtYXAgY29kZSBieQotCQkJCSAqIHRoZSBwYWdlIGxv Y2suCi0JCQkJICovCi0JCQkJcGFnZV9tb3ZlX2Fub25fcm1hcCh2bWYtPnBhZ2UsIHZtYSk7Ci0J CQl9Ci0JCQl1bmxvY2tfcGFnZSh2bWYtPnBhZ2UpOwotCQkJd3BfcGFnZV9yZXVzZSh2bWYpOwot CQkJcmV0dXJuIFZNX0ZBVUxUX1dSSVRFOwogCQl9Ci0JCXVubG9ja19wYWdlKHZtZi0+cGFnZSk7 CisJCS8qCisJCSAqIE9rLCB3ZSd2ZSBnb3QgdGhlIG9ubHkgbWFwIHJlZmVyZW5jZSwgYW5kIHRo ZSBvbmx5CisJCSAqIHBhZ2UgY291bnQgcmVmZXJlbmNlLCBhbmQgdGhlIHBhZ2UgaXMgbG9ja2Vk LAorCQkgKiBpdCdzIGRhcmsgb3V0LCBhbmQgd2UncmUgd2VhcmluZyBzdW5nbGFzc2VzLiBIaXQg aXQuCisJCSAqLworCQl3cF9wYWdlX3JldXNlKHZtZik7CisJCXVubG9ja19wYWdlKHBhZ2UpOwor CQlyZXR1cm4gVk1fRkFVTFRfV1JJVEU7CiAJfSBlbHNlIGlmICh1bmxpa2VseSgodm1hLT52bV9m bGFncyAmIChWTV9XUklURXxWTV9TSEFSRUQpKSA9PQogCQkJCQkoVk1fV1JJVEV8Vk1fU0hBUkVE KSkpIHsKIAkJcmV0dXJuIHdwX3BhZ2Vfc2hhcmVkKHZtZik7Cg== --000000000000edc16805aca02981--