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 7BC99EB64D8 for ; Tue, 13 Jun 2023 17:59:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E55026B0074; Tue, 13 Jun 2023 13:59:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E04DB8E0003; Tue, 13 Jun 2023 13:59:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CA5678E0002; Tue, 13 Jun 2023 13:59:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B5CAA6B0074 for ; Tue, 13 Jun 2023 13:59:09 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8D8D9805CE for ; Tue, 13 Jun 2023 17:59:09 +0000 (UTC) X-FDA: 80898486018.09.393B376 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by imf20.hostedemail.com (Postfix) with ESMTP id 6FA081C001B for ; Tue, 13 Jun 2023 17:59:07 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=gpM7UDww; dmarc=none; spf=pass (imf20.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.47 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686679147; 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=u8Y88yptodPeuMRnHzLyyoqql+qi0tUT2B3rKlKiInQ=; b=OtVLVsw1o4FSFub6coAAu/iwoqc2AY11sSh3ewzJLybXJqg0DCExjrOxWtOXVqPbVj+XtB e+cbUHQMj2qLmabvXv0qfnryQ59NwnaLUwtF4pR1WbbYwbHOP20Hs1f3e2iJPMACvDhKk6 8tvtvpSM99thXU8K2LL7xAEwAzvmxGA= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=gpM7UDww; dmarc=none; spf=pass (imf20.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.47 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686679147; a=rsa-sha256; cv=none; b=Tb/irJlCR0yWHQ3GhNPZnOaEtamqkUfTsqMJAhRGljYBbua7XTRpdLItZc52DaWg2ke9za 32W/FIF3wW11VY0WD51YNCn68eat0wKerWS/CewzKAoQz+R+BV6LPHPqEJnwDwGvImvfMr CBGi/F3I9SEvvgQ/Wj2kPTg2eH33DQU= Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-4f640e48bc3so7235184e87.2 for ; Tue, 13 Jun 2023 10:59:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1686679145; x=1689271145; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=u8Y88yptodPeuMRnHzLyyoqql+qi0tUT2B3rKlKiInQ=; b=gpM7UDwwphh0cAiNxNFv4fvkQUOtmjf7tTpV6J7fjFzurNF2GG/MrNkNjKKCQLkALr 5qd0vbYU3KKbUu19B8+6rgP0XS1Aiw0NSwtMKsSlF8gz+fdNdDBnn70n0xd+ptiFXkuS JjnJRn488G/CVFRGptERY04jtvWA5cyiHad80= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686679145; x=1689271145; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u8Y88yptodPeuMRnHzLyyoqql+qi0tUT2B3rKlKiInQ=; b=j187Uc9O6PIU6bufxjQ8vYKM01SV+89jHHxRtqyx4fUuUlULEyt81Yzh2eLqXbKbPt pegxVU00B0xcWiS2MjiF0bQig+h9WMmKQ3WSQYRsGZfGvsfehkRYcYYtSgqDN+ZjqODs 1DlW+RNyyycY35zDOqmXD9QNd2IM7wRm06tmyc5gVqHI+uPhCZdSTiWsJGeFKHqmRh8W atx/pjOHmTQIwu+Kmo7SJBZmpMDlUBNmGguENpsyCOtJQG8j5x6Ne99x9k3I82Z1pTyM Zv6TK8stRhyrho4cRVo1w6elDvglqAEZc6FZH3Olx/5Z7ayd7LR16+6kNiLroeUHFblX MoFw== X-Gm-Message-State: AC+VfDzfZyBFHFZDk28YRHMnlY41yPplp1o2UmYOjf3vmMz5NOFro5Mb 614s+F0exXRlgwXzc+//7NCQoYXs5FDgLjUOQwVmEarU X-Google-Smtp-Source: ACHHUZ7rM8XONSKpg3VMJUlQ4yQWLesrp6HKM7+14V899cep3kAK66gM7rqcap/scUFVbCDZxmk+dg== X-Received: by 2002:a05:6512:457:b0:4dd:9fd8:3a36 with SMTP id y23-20020a056512045700b004dd9fd83a36mr5907365lfk.1.1686679145331; Tue, 13 Jun 2023 10:59:05 -0700 (PDT) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com. [209.85.221.44]) by smtp.gmail.com with ESMTPSA id rs15-20020a170907036f00b009823e62ca91sm1070314ejb.189.2023.06.13.10.59.03 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 13 Jun 2023 10:59:03 -0700 (PDT) Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-30c2bd52f82so5770255f8f.3 for ; Tue, 13 Jun 2023 10:59:03 -0700 (PDT) X-Received: by 2002:adf:e546:0:b0:306:41d3:fcb9 with SMTP id z6-20020adfe546000000b0030641d3fcb9mr8013110wrm.27.1686679143465; Tue, 13 Jun 2023 10:59:03 -0700 (PDT) MIME-Version: 1.0 References: <20230613001108.3040476-1-rick.p.edgecombe@intel.com> <20230613001108.3040476-11-rick.p.edgecombe@intel.com> In-Reply-To: <20230613001108.3040476-11-rick.p.edgecombe@intel.com> From: Linus Torvalds Date: Tue, 13 Jun 2023 10:58:46 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v9 10/42] x86/mm: Introduce _PAGE_SAVED_DIRTY To: Rick Edgecombe Cc: x86@kernel.org, "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , "H . J . Lu" , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , Weijiang Yang , "Kirill A . Shutemov" , John Allen , kcc@google.com, eranian@google.com, rppt@kernel.org, jamorris@linux.microsoft.com, dethoma@microsoft.com, akpm@linux-foundation.org, Andrew.Cooper3@citrix.com, christina.schimpe@intel.com, david@redhat.com, debug@rivosinc.com, szabolcs.nagy@arm.com, broonie@kernel.org, Yu-cheng Yu , Pengfei Xu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6FA081C001B X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: zigxhbfzdw1a9p3i3tbacizunmd8hycu X-HE-Tag: 1686679147-985447 X-HE-Meta: U2FsdGVkX18wWEokjlczu/q+olBr0GtPliGJE/8DQi6tfQ2krqTqOjanPE7FotRLn3v7nnl9zW8k8ZxZjmFiShzf6qFcPk3r6PhW0+3XEu503koDcXpv3lVm+UoY3XxCJDm6xdYSrnaBC1epfDcBW/WY6LqSklJoyMQssW9znPkDU55SJ7g6H5L5NflEndLxf2O/wzZaDWuWXooEj9Z0uy3UBoVS6h2czzB7DU+ClDQnJG4hgTXHTKE+WegC6yrFUDTdNbRBB0iQBJj0HBHAoJNVMVmYxa66Lc0MEDt1OksnbVTgPILc2hp5Mqe1MuHXkdXnk5ttn2f+KxxAS50oqDkfvlrGr8E9dQibWe1bmmqjxLxtBEjC6apvuGCMVf/FSqj0nbSJADtotzI6C8Q4K7XBhokhOYaxmM0UvBhRm+K3qz86GF7HKu1xZgZUYB3sFFMnoNliV6mycfF/GzHdkc3eBfj7hSl8SicXbfdBMX8NAqbw6N/qV5awR76SxD+lkg3g9PVmKTWhVHwdUvl2pDYXH7UPwaNPoaPoJDk2LBAZ+HEXNSPRPVoJlVMGvtId1FuY/qmOY2OKH1HQTXH8Qs5KfC0HfT5fiAqUP4yaXsr+7OUgXuNHYdFprdX0Vel/dEaH4TQ4u4xX18OPfVZwPCI7P06PxvLcosOjcWXG3WbRtAovyxOHxillVv5vTcv43wk97/eOH6VGFbtoHK58kBzdxhO7nAPLVAn0N7c2R4cHg9RW7o6Aw/vcqwrRSkBdNiR8Ps++7jel3DlvH3b5puEty155kcgsCMu/4PH2j02Lnrxuf7UgOY7iUrUu+aZ5GH6jFzHUjzEWcWk0PR7olGQTGltqKeJcL6FJf+QGcKQFpF80uRnTONyZUiEb9ZUvjsOjqK/DzZ8a8MIClqhWAHsoGPAswWeNUA/UB5rIVrQHINUWr4P/EZuqa/vrkqxEvZKVyio5OwR7QZGPoKd ubIZrWMc 3p6TuYQomKe4c0hz9+cX4KvCNC2mcsHbe4x7aVoDkFDLuz6Ka/JnLfHyf8jQg8ZGtQSNq9GUEJQ2adRYke4XgaG815mV/8vZsLbb3/4ct2BFd7c92g2Dg1OifgPBymhH7Jqa8d+ARn508aeq5K7wlyq3p4D0tmm44c/54WNNEGmqa+ZDbHMPcQxHq20HNscyWzs9Nt/cYN42TDg1dUhQvGYafV65JF8pv94sSxS3T2KZAIMOyCJl9OmLRDrV+RX25o/tacTRDYKnR/S6YCvJG0oJns4aHTRHrlPky4B+Wai4NOHbl1PmjlRd3scKXW7s7tFKyeAcQtWQBM/NNDK1/ona9smzVFoNlO62nJ5zy/ecXXpuViQio6Q9vuqgGjNJqk8+9URRW0BKOO7qx/vB8Wu7mEg8dV32r2BedtTBLmCjxz6KUN2BZbIYMREU5UJKZ5RvRmiBv6SGFF9p4jKAm7HDwo07Fi9AQAAxl6MyFVfZrbmPYBFejbdLMVOKf7wDGH6RXy5mAcihsTg5uoyXjjkCsVs0Ye3WOCvG4ZxLVgncOd+1Iaxga3NBKIQXvgSeu4+J+3IPLm74zVcRzzLhpgI6hCGK0gE6uv6E4AWv+SjalpkALtNvHbxXOB5put8DjQa8RmoeJ2k2epII= 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: Small nit. On Mon, Jun 12, 2023 at 5:14=E2=80=AFPM Rick Edgecombe wrote: > > +static inline unsigned long mksaveddirty_shift(unsigned long v) > +{ > + unsigned long cond =3D !(v & (1 << _PAGE_BIT_RW)); > + > + v |=3D ((v >> _PAGE_BIT_DIRTY) & cond) << _PAGE_BIT_SAVED_DIRTY; > + v &=3D ~(cond << _PAGE_BIT_DIRTY); I assume you checked that the compiler does the right thing here? Because the above is kind of an odd way to do things, I feel. You use boolean operators and then work with an "unsigned long" and then shift things by hand. So you're kind of mixing two different mental models. To me, it would be more natural to do that 'cond' calculation as unsigned long cond =3D (~v >> _PAGE_BIT_RW) & 1; and keep everything in the "bitops" domain. I suspect - and hope - that the compiler is smart enough to turn that boolean test into just the shift, but if that's the intent, why not just write it with that in mind and not have that "both ways" model? > +static inline unsigned long clear_saveddirty_shift(unsigned long v) > +{ > + unsigned long cond =3D !!(v & (1 << _PAGE_BIT_RW)); Same comment here. Linus