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=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 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 8B14CC433E0 for ; Thu, 21 Jan 2021 20:44:49 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 302B6239D1 for ; Thu, 21 Jan 2021 20:44:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 302B6239D1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C15BD6B0008; Thu, 21 Jan 2021 15:44:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B9D996B000A; Thu, 21 Jan 2021 15:44:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A40DF6B000C; Thu, 21 Jan 2021 15:44:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0223.hostedemail.com [216.40.44.223]) by kanga.kvack.org (Postfix) with ESMTP id 87F3D6B0008 for ; Thu, 21 Jan 2021 15:44:48 -0500 (EST) Received: from smtpin22.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 4A38A4DDF for ; Thu, 21 Jan 2021 20:44:48 +0000 (UTC) X-FDA: 77730961056.22.name12_1a10e1a27566 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin22.hostedemail.com (Postfix) with ESMTP id 23E8F1807D7FA for ; Thu, 21 Jan 2021 20:44:48 +0000 (UTC) X-HE-Tag: name12_1a10e1a27566 X-Filterd-Recvd-Size: 3652 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf15.hostedemail.com (Postfix) with ESMTP for ; Thu, 21 Jan 2021 20:44:46 +0000 (UTC) IronPort-SDR: KqqW98rbKQ5vxdNrNX4flnMMpj1VFrGtLFzQFRo/CWGttTsPW23/fK+FRZSVMM7N6By7h+DgFT EnxEFxZtBptg== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="158522087" X-IronPort-AV: E=Sophos;i="5.79,365,1602572400"; d="scan'208";a="158522087" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 12:44:42 -0800 IronPort-SDR: iWrkowc9lTVPGtp0BdOaORGEGvpEGVXhbQ55YISgflUo4A/le6q/fC8so1C94c4aKOjD+IHlFj 60JH6Cj0qe7w== X-IronPort-AV: E=Sophos;i="5.79,365,1602572400"; d="scan'208";a="385456191" Received: from yyu32-mobl1.amr.corp.intel.com (HELO [10.209.46.254]) ([10.209.46.254]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 12:44:40 -0800 Subject: Re: [PATCH v17 08/26] x86/mm: Introduce _PAGE_COW To: Dave Hansen , Borislav Petkov 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 , 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 , "Ravi V. Shankar" , Vedvyas Shanbhogue , Dave Martin , Weijiang Yang , Pengfei Xu References: <20201229213053.16395-1-yu-cheng.yu@intel.com> <20201229213053.16395-9-yu-cheng.yu@intel.com> <20210121184405.GE32060@zn.tnic> <28f56a51-b8e5-4f1f-1cda-036670c80a22@intel.com> From: "Yu, Yu-cheng" Message-ID: <6d696e26-4a08-b5bb-8ddf-6800ab98c49c@intel.com> Date: Thu, 21 Jan 2021 12:44:38 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <28f56a51-b8e5-4f1f-1cda-036670c80a22@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit 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: On 1/21/2021 12:26 PM, Dave Hansen wrote: >> Usually, the compiler is better at making code efficient than humans. I >> find that coding it in the most human-readable way is best unless I >> *know* the compiler is unable to generate god code. > > "good code", even. > > I really want a "god code" compiler, though. :) > With my version of GCC, the shifting implementation creates five instructions, all operate on registers only. The other implementation also creates five instructions, but introduces one jump and one memory access. But, you are right, being readable is also important. Maybe we can tweak it a little or create something similar to those in bitops. -- Yu-cheng