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 6604CC636D6 for ; Thu, 16 Feb 2023 22:03:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 024E36B0092; Thu, 16 Feb 2023 17:03:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F169D6B0093; Thu, 16 Feb 2023 17:03:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DDE4E6B0095; Thu, 16 Feb 2023 17:03:25 -0500 (EST) 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 CBC686B0092 for ; Thu, 16 Feb 2023 17:03:25 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 9E6EF1A0BAF for ; Thu, 16 Feb 2023 22:03:25 +0000 (UTC) X-FDA: 80474531970.06.44A395F Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf17.hostedemail.com (Postfix) with ESMTP id 8A65140015 for ; Thu, 16 Feb 2023 22:03:23 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="Cn/Z8dpt"; spf=pass (imf17.hostedemail.com: domain of schmitzmic@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=schmitzmic@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676585003; 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=Tk54cGH4LqQLVC9wacMRd+1/MbtH+DDbz5meeqWmlLg=; b=hcL/MJLhmJ1gW1juLk23WL0IDCk7Et2feU3c8EFL3jcqgc632ytvLiEXUsN8LDoJPrjl+5 sCFejEWzhNIsivmOrvcj8RfoOmtHW/cTkSGOPAx8AX3Jl/dAtBqE6ln2Ae5Xmo+s6+qBzC rvdXq41lLtP0tG8TUTBBQJ6Zwu9w28M= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="Cn/Z8dpt"; spf=pass (imf17.hostedemail.com: domain of schmitzmic@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=schmitzmic@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676585003; a=rsa-sha256; cv=none; b=f3qGZSDlfYlXCjSjNJfmT9IivVGf2/OOFKH5pv64Q/aHAnq0f2p9YBZBi5o9kHWS9Wp3si u6GqMW8rb626lY03BHLl1t4eXpN3gL8ngjSAvnqrTL/H8/zn1vIyDKRnGuOclIF3TmDhXX QDTUCzM6hqPy1tbw7Dv15BrWu0c65Js= Received: by mail-pl1-f170.google.com with SMTP id b5so3595575plz.5 for ; Thu, 16 Feb 2023 14:03:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Tk54cGH4LqQLVC9wacMRd+1/MbtH+DDbz5meeqWmlLg=; b=Cn/Z8dptlM1o5l8Qv2p3Oaokark0bEAl1MucuaCKlVeM+0nhegqv6XBQSJ7iLJkXtE cQpSFXJsZsnqKjyy1NVXcMCPM8yVsKLZIY1IXS7NLrGMbScUo5PmC6krigekwmd/lx2O pc1qgDKmO0d6YsxcPD/c6i18hhvWvWng7n9BRq2rs9lKMlp46D+6wCgng8wUOp7JUlS8 ITkvtg1QaQJCfndc1GwCoZx7zw3v3BljoOu33hQQQPv0Oae8m0Qi025g/G0ouXCDH0HB 8WoCU6zMHYKSuwklsq/FTsCnJ0F3o2zfMnQeNVO2j7SvoPxgwNoAlz9YqmsXkxCPhC7g Uw/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Tk54cGH4LqQLVC9wacMRd+1/MbtH+DDbz5meeqWmlLg=; b=6NgFTlrxTv01ZpikHrrGj2rhJOil4znvo+YSPK7cjJqo9hj1MCrosf1cbrCljczvHS LT2Et7aTO8PMkF6Rc2dOFjlkeW01tw5iePwyEaYt4YCtqBWS0CBz+EzLMv/+bZpwyVah D/TGXqfiI+0GN9MsPqW3Z080vvHSDTo3b1rQvEW7xo14gAe2mZdbbcClFZECsw45teP0 f9MCIL9psz3F8yhaF/BWvX7QlcV9IZQiAyGqOKliyfqlmy61JZANCifEZE7hN4zw6oix JQVc2LoGHL3+bW2dFFW7dlTsdzZmWGYoA8+D0/2rZ0SwHgzQPRcF86SKyjBybl+z27y+ hL0A== X-Gm-Message-State: AO0yUKWeV9box4kNEUHDOqVo+xuRDXJJXlp8S5sKox38Cq/D1rmPzUGZ 76howWyumLpfInNHEehq8QlEwgixQZg= X-Google-Smtp-Source: AK7set/O7mi33sTg65iC+16XhIxGTaiqxvui8Y6X+Ehn5Zki9wIVvuZcanngN2uUvi/EFQX18Bb5iA== X-Received: by 2002:a17:903:2844:b0:19a:9797:1631 with SMTP id kq4-20020a170903284400b0019a97971631mr5811307plb.3.1676585002264; Thu, 16 Feb 2023 14:03:22 -0800 (PST) Received: from ?IPV6:2001:df0:0:200c:8dff:a3c:def2:5826? ([2001:df0:0:200c:8dff:a3c:def2:5826]) by smtp.gmail.com with ESMTPSA id 13-20020a170902ee4d00b0019919b7e5b1sm1789528plo.168.2023.02.16.14.03.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Feb 2023 14:03:21 -0800 (PST) Message-ID: Date: Fri, 17 Feb 2023 11:03:16 +1300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH 15/17] m68k: Implement the new page table range API To: Matthew Wilcox Cc: linux-mm@kvack.org, linux-m68k@lists.linux-m68k.org, Geert Uytterhoeven , linux-arch@vger.kernel.org References: <20230215000446.1655635-1-willy@infradead.org> <20230215200920.1849567-1-willy@infradead.org> <20230215200920.1849567-2-willy@infradead.org> <84c923f7-c60b-068d-bb06-48aea1412f53@gmail.com> Content-Language: en-US From: Michael Schmitz In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 8z4ja67xzh5eru3y3fomfbw8bx8hpkc6 X-Rspamd-Queue-Id: 8A65140015 X-HE-Tag: 1676585003-887494 X-HE-Meta: U2FsdGVkX1+54MTVoztOtPkhcIIiISOiIqzNVSvB3Y2RV0MfalgTjg3bH5nA5E1Z+1kTZA6fpR/xwDe6hSCPuvl0xi9mPcxBITO+zHAqlIb7D8bw7kMTXz79FY3eAU4Z2NNSNEBqMkpms+w+HrojjIdjgzE1q08NeQXSvBPMsmixIh5hKP3hun6EqqBAMoEOCHxNOJvtRR8bxFuYJF/0KDg1xwwXt7lGxGARGkbx23k5QbHqLntMbqertN3e53oWFz0h5V1M9XGpu+FV1NF3G+sYkPNX/Qael/eYmMQlIMCfO9r+G7hWfGD69sdh9T+gTFRSQeUpjP+0HK70O0+NGIzuNZMLIlw15/scgRBSn97DMKtOc28chF5d5YuJicyNnXlqp8BnwOzo35ka6HvWC0c3vT/bqSomeOQVa2IIQ2QRasJTve5Cl1czuRP4mc351B8G/6bJ4qnaFxIXMvkUghuV1n9lzT/+7KrFq7/VfL4xcq7gGLjI8840hJMvsH9Mzt7Qi4V+X12ShuGqFi2FB63wTrTJ8ihUeMMqpqSsWb/LACwi0iyvUlfJ0i1IurwPmQsex+X6nsqLqP1/5rryDGKf9jKROzjTvNz7rkLV1M1YPnOac4VvCVtbwUYdbZyGNdLOm45Pypu3vf98D6IkQ/H2UDmOJSHa6PjPq1iUnB3HNw8RGX+hkI2YQA7HnHugj3NSVjW/3xCn8HZufQSzJkiAatMlNyNhuXnfg5WFEBrBVo7Ee8wyLWba2k+ein4kwfpuqWcsnkYYFy/mI4Foxxmkk8HKCu4pZ5nhFCmtHHcURf4KccHRSnS98x9peM/qpAgaQ9jDasNu4usOJaQJC0dht0hJ658yJZk8otw3pHHdlffBTVBBxRwoX0yZGHmF2CwfA502mAU6CotYEiRcb8qhI/v4i3Sxdj+f1KLjCuPpZS+Dtl5Uk8msobM5Q/mpancd0mL1Tq82b2YjEER guY5h5Bc s9IUNJiNQ0F0KOKLVDqQVIzr4TFoHYPsbiOrbGl3ak0DhAREYrnw0uRXu0rwlSVYfcmQSTJVvETM1hOWyZIBa4iYl0n5KCm6u2AqI/Omthsn2Zh3yQuOE2tloTb2rtE3YqnO4uTfgVpm+2wfIf9QQnyYRf1DcZ+ZqiwYqB6LXp0aZgCUUcWe9AeCaH9aPUTVsw7DLPLMkMXtCS2iJubSPUVVbgEBQJFY1vNAKDhPp7rIWsmC8nesXU8q1Qb2baKxTo2rBU0p8xSOX+tIBmS/eIe+uXKRGMyDr6Nzun0LM1OgZkvljtg6AYNTQ6Q5XyaHvx9eWbYr9oFjb2NH8bfZHYZxfcPSJRkWZigBHfncY8Zm4uD4KeE6ehc0hjMeBk/s2YVfd0m8KgzYhJnZaIrZCcZyLXGFkQGOkXT2/ASHS0FJPOWk= 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: Hi Matthew, On 16/02/23 17:26, Matthew Wilcox wrote: > On Thu, Feb 16, 2023 at 01:59:44PM +1300, Michael Schmitz wrote: >> Matthew, >> >> On 16/02/23 09:09, Matthew Wilcox (Oracle) wrote: >>> Add set_ptes(), update_mmu_cache_range(), flush_icache_pages() and >>> flush_dcache_folio(). I'm not entirely certain that the 040/060 case >>> in __flush_pages_to_ram() is correct. >> I'm pretty sure you need to iterate to hit each of the pages - the code as >> is will only push cache entries for the first page. >> >> Quoting the 040 UM: >> >> "Both instructions [cinv, cpush] allow operation on a single cache line, all >> cache lines in a specific page, or an entire cache, and can select one or >> both caches for the operation. For line and page operations, a physical >> address in an address register specifies the memory address." > I actually found that! What I didn't find was how to tell if this > cpush insn is the one which is operating on a single cache line, > a single page, or the entire cache. > > So I should do a loop around this asm and call it once for each page > we're flushing? Yes, that's the idea. I'm uncertain whether contiguous virtual pages are always guaranteed to have contiguous physical mappings, so no point in trying to 'optimize' and shift the loop into inline assembly. Cheers,     Michael >