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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5CAAEC61DA4 for ; Mon, 13 Mar 2023 16:04:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1261E6B0072; Mon, 13 Mar 2023 12:04:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0D6A36B0074; Mon, 13 Mar 2023 12:04:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB9DD6B0075; Mon, 13 Mar 2023 12:04:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DCF606B0072 for ; Mon, 13 Mar 2023 12:04:35 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 99BCB40AA0 for ; Mon, 13 Mar 2023 16:04:35 +0000 (UTC) X-FDA: 80564347710.08.FEAB1D2 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf25.hostedemail.com (Postfix) with ESMTP id 53BA4A001F for ; Mon, 13 Mar 2023 16:04:32 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=QtG4bsWj; spf=pass (imf25.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678723473; a=rsa-sha256; cv=none; b=LckdWVknaKxRLcVuQulGzIb+ghOxhOLZuQuJW7NIE6hGVei8fDTSwqPtBmNSEhhamYPQ+c cvelg8x4pnQzYYAZyK6WLHLSQT8CWl/a9X/AGwNv/Ewt4FYYxdjDQXesXiz7hDbrIM6Zhx X3Q4CARkJ+GseFNXICA8deVr0VNN5p0= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=QtG4bsWj; spf=pass (imf25.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678723473; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=PyTlE23EmGZ1IziL094B1aKtOucRasxtiUxCQwEj/VM=; b=YBiQ6lxTjUP0I06d2Ef5GEFRC4XaHQektrzjwBrq7DldZvp5LL6dXPfkUg1JYUvCuHsEE+ knHucfa6wW9ScQColm3pGMvdy6rQz3VAUmLY8tBAMNoYaLSyclZYZys50RCd27L05VxQY8 ALKFsdpDRfqBo6J07PEQJ/rpl9xggTo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678723471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PyTlE23EmGZ1IziL094B1aKtOucRasxtiUxCQwEj/VM=; b=QtG4bsWjf6oiQ8NCUJZegydo6nv4daCvZG5ZhA7zHPnGXI7HYFvTveG97o8uQoNUZY/KE5 oK8ih9VpFw7fTTTRUHxRdRdA9QwNhEgUjdlaTxo22GPQ8h6nAF3rpuzNkrvvh8SCw81MP7 /YJWDFfUl8scWtogofHE1CRzRmK6IC0= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-134-OKIQNzAyN-Oxx_C1-gkM0w-1; Mon, 13 Mar 2023 12:04:30 -0400 X-MC-Unique: OKIQNzAyN-Oxx_C1-gkM0w-1 Received: by mail-wm1-f71.google.com with SMTP id k20-20020a05600c1c9400b003e2249bd2b4so4350630wms.5 for ; Mon, 13 Mar 2023 09:04:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678723469; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PyTlE23EmGZ1IziL094B1aKtOucRasxtiUxCQwEj/VM=; b=ahVQxaWgRBnZTzrgrXQQdHmFZRuOOlNxifCJo0xqpz4YpPsW8tPtQqgWfOoeBywze8 o+DmLM4PlfRa+ugZStr0h2QZBh97iqzjJNW31CFQeT22Cv6uEnLfw19C5NzGO4TNbFOT Tut8zgeheF1fJKkpWQDXX0KmAz42zv3+/NCzKUVPKMJbLCOul6iGHayyYW+6xhGc3YuS MNR9tbY3t8JsbHx15BOeCC/JpJD7HGrlw6WU7qJgIvJkLXRKNLdmoyyLSTpnk7maW2Sg plTgnpaWA1lEaeProd6m4Ta2IJpI1K7w2H0jU1Caohb0wwQCvDcT0ClV59O3zO7xL4t6 0smw== X-Gm-Message-State: AO0yUKWxrnGn8nlPKzZTG9WrtHROZx++JO7zzXgR1F63ks6WuZT/x/SQ 23lQtHUYSpLCMYD90IFVc3O1GmmgH1GIYq1N+AXCiZKKFknDQXlcjNcmBLOi/Y6tHjHJi7lNf1W diwPGFmkWs+M= X-Received: by 2002:a05:600c:4453:b0:3eb:1432:a78c with SMTP id v19-20020a05600c445300b003eb1432a78cmr11563156wmn.37.1678723469161; Mon, 13 Mar 2023 09:04:29 -0700 (PDT) X-Google-Smtp-Source: AK7set8//o209ILK+VZvcWRK74XZMCv7rPbsWwI1ZVQ9U2S8wa2pF/iZBIDNyfkXRmeD6xcZbfZ0oA== X-Received: by 2002:a05:600c:4453:b0:3eb:1432:a78c with SMTP id v19-20020a05600c445300b003eb1432a78cmr11563129wmn.37.1678723468840; Mon, 13 Mar 2023 09:04:28 -0700 (PDT) Received: from [192.168.3.108] (p5b0c6abf.dip0.t-ipconnect.de. [91.12.106.191]) by smtp.gmail.com with ESMTPSA id u6-20020a05600c210600b003dc42d48defsm200292wml.6.2023.03.13.09.04.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Mar 2023 09:04:28 -0700 (PDT) Message-ID: <267812a3-6576-33ce-4d41-054f6ecb812d@redhat.com> Date: Mon, 13 Mar 2023 17:04:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH v6 0/6] ksm: support tracking KSM-placed zero-pages To: Claudio Imbrenda Cc: yang.yang29@zte.com.cn, akpm@linux-foundation.org, jiang.xuexin@zte.com.cn, linux-kernel@vger.kernel.org, linux-mm@kvack.org, ran.xiaokai@zte.com.cn, xu.xin.sc@gmail.com, xu.xin16@zte.com.cn, Hugh Dickins References: <202302100915227721315@zte.com.cn> <9d7a8be3-ee9e-3492-841b-a0af9952ef36@redhat.com> <20230313151014.5e17fc19@p-imbrenda> From: David Hildenbrand Organization: Red Hat In-Reply-To: <20230313151014.5e17fc19@p-imbrenda> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: 53BA4A001F X-Rspamd-Server: rspam01 X-Stat-Signature: k7kh8s893xkdeaffzn53im1a3cokza14 X-HE-Tag: 1678723472-211779 X-HE-Meta: U2FsdGVkX18qkOmdp11ROm8T3zvHQkDpc/XpPOhECBu+jquYMu9vRy3M1F7TKVHzShPfGeYDP5KNhzm63b3ZVZoQx8P5KlN4SdCe9UuctQCmh1QEYzpL4bnn20nVPhY9N1Ya6Eva6rjPHXPs12eMPoxo75PRPnviX9pp02NsEWzt9FA64V2j0mBdz6yoYFENb2+/KufPCCVO0FnyQSW9XzuBFgVjC0a1HmtwB81EuGz24A44EVPFWTb2Wn7+nkwn8Ur6Q7sie58ZwvhDnQnbpH1TxeMlrDoAuYbpeJrW2KSDEIi707UrXT4d2zyEIxPQzGj5XxtmKXSWool3L0hGaWwYnSpdYfEeqopbwnPBmEXC+7O5XUxNQFVthwg78h4sovJOL044pjLvklxCO0x5iAwU3lanvjQqQrWffJ9zVhJhN7saAod8vq3d5QvyDakF+IP4/N2V/VZJ6Z9SvtUU4pDZEMx5SYx0REaMXhL/TWqjiZKfHzfCC1atH9N2rTNK1SX42fn3ziiRAl96yMMsx4XRtz5zpj5auko9i5fqE3O9HbcVY3VWeoBjKwj0TtD7aNcDVCN4UQyZOK6od2xyYa+cXEFjGJ+dShP7kntFgsYSBdwXuJakBbZfQOqT0rMNShn86ywpKPj9yKC756mFRMnbu4ceThTpbTNYdNCuCie1V7jAasiTmeDKYhKsOavGTPNgiG5r9Og+a/LZElY9Fhvhc2eEQtKXKHDHs3UhXTutf8Xt7OvK7BCRGhy/SLdzvrpp31eJsVuKTQlJfG/NPMVKGLqVMJ8OePvhQYTCxRwB57Shi07M3eh4KQMxHQGnjb9rgzkzYt8V8dVEGfpFzsULLxl2/TcFkQH/D1W2UKsqpfmeKmdYKEw1AfUNbfCViQA1izmBZU9b/EJ0FhoqfktQUQHl6E1jlkuAiFdIqepAjLTxdKMRD2Xt8hje33PCNZBfIK2iq2ARr2B1x1d 7nrUHDio 5rwv2VrNuDaMp6p5ixScAzetIodJKtS4J8Bxowlaohz7gCM1tAPy+IMC09Ym+J4NDpEwZOA+zqTTN4IdPnkHcEsKfsbJNz66o2aR6psjcWhsMHfgF7CmkumdLWUHuZ9wm8LBZtNaB2ea5IdhlTK0AUkFtnw66v9zL/mQahOQgFfWRSTag2RZ8Y2If7OVc7gITDU8LZNmTqdkxJJqu/OQn0S0Xtx1YLFiCz7HP6GUu3y2klRK1luTxG/cAQjGYNZqUJzWEiVxLwa7/i9V3wU9GkseiYcEQJdYs13ZFql+Xrjiza5FI8IyLYBFDnt+OyC7MEgtMQvFBbZSJPaSAWVbkB09faHqJ7KF+AV6upjqFnG3Edfgkf1cDWKL8xhD3te7yai7UsVuirlvZm/iiyJQNXqDsdiokE7r2/H7B8lpBcf1bsCeczUck2UIBlkrFLUJ4qX4LT7gWBSQR/fWtOk//pLg97bCn44YF8XFpvdyRuNBqDXk= 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: >> If we'd really want to identify whether a zeropage was deduplciated by >> KSM, we could try storing that information inside the PTE instead of > > this is interesting, but needs caution, for the reason you mention below > >> inside the RMAP. Then, we could directly adjust the counter when zapping >> the shared zeropage or during MADV_DONTNEED/when unmerging. >> >> Eventually, we could simply say that >> * !pte_dirty(): zeropage placed during fault >> * pte_dirty(): zeropage placed by KSM >> >> Then it would also be easy to adjust counters and unmerge. We'd limit >> this handling to known-working architectures initially (spec64 still has ^ I meant sparc64 here. We can (and should) have a testcase that deduplicates the shared zeropage using KSM and makes sure that writes properly lead to a write fault. >> the issue that pte_mkdirty() will set a pte writable ... and my patch to >> fix that was not merged yet). We'd have to double-check all >> pte_mkdirty/pte_mkclean() callsites. > > this will be... interesting IIRC, most code that touches the dirty bit makes sure that it operates on a proper struct page (via vm_normal_folio()). madvise_free_pte_range() is one such user. But we have to double-check. -- Thanks, David / dhildenb