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 CCDA1C0015E for ; Mon, 10 Jul 2023 20:24:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 22DDA8E0001; Mon, 10 Jul 2023 16:24:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1DC7E8D0001; Mon, 10 Jul 2023 16:24:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0CCB68E0001; Mon, 10 Jul 2023 16:24:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id F1EB48D0001 for ; Mon, 10 Jul 2023 16:24:22 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B7135AFD0B for ; Mon, 10 Jul 2023 20:24:22 +0000 (UTC) X-FDA: 80996829564.19.1F7EAD8 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf16.hostedemail.com (Postfix) with ESMTP id 584CE180016 for ; Mon, 10 Jul 2023 20:24:19 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=FOqO3cdm; dmarc=none; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689020661; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=G0ut9Msx8avXgkOpqAa+A7Dar6d8OWfnht1FICkF8CU=; b=L07YAMcBVuffCBgllAKRRca0LDrA+zok9F/jS1xa9ScWl/wL5qMqROt69GnP+uC6NHnmQr TG2gjcXLLFc4YRjrmmSTe5/oFUE5Erwi7yoTefJISUk7yRkV8MsGVmBCcmk8egTOO6wc3U VEuIZXjRxtTQx7DHyc0FHp+bCAF6+zc= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=FOqO3cdm; dmarc=none; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689020661; a=rsa-sha256; cv=none; b=EMfLJP3wKcLXl3cfeqeZLElr/L/SQ99hz+8TkZBmNzwrmPsZ20hnQBkuZkI/aEcsDrsyUP 5NfEv0fvQLU5HWHdh2KQP1ns0XP1eBhXm6cCFsCFdj+HiTH111fs39KCqSDEIdUDvwBEZC xGYRoDAGy8l3omQ7kzkgQt95fWD37rg= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=G0ut9Msx8avXgkOpqAa+A7Dar6d8OWfnht1FICkF8CU=; b=FOqO3cdm12VAe6nUmn7GX8ljm1 IVWHYgztJseuOAdpb0Kl7UTesY1zGNKYMs5e5EBFqrZ0ooTqGXwH4QeLUQbdv8JXL7fENKqEe6VjM SQXo/iyUUboIV1vXsJOTyGvNvvsYwJ5gWy8hUjxBQylojeQqUVVDk4Ovc3cmoCOmdphg5mAVEP7Uf kRZ+dXmJA1uRht41tVmc5AzHGP5F+rFYYcIAo7BH8Z6T/u7Q9ThfhPZILyYI1SpBKAx3x4ScvmVJX IrVLMuAKMIcKwmG/6tZECnJSU/lD3HpvUDf7IhlthMI3jSUs6ymuZ6XM25REdQ3J2tYwnjueQOVet T7JE38Vg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qIxQd-00Etrn-OE; Mon, 10 Jul 2023 20:24:15 +0000 Date: Mon, 10 Jul 2023 21:24:15 +0100 From: Matthew Wilcox To: Christophe Leroy Cc: "linux-arch@vger.kernel.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Michael Ellerman , Nicholas Piggin , "linuxppc-dev@lists.ozlabs.org" Subject: Re: [PATCH v4 20/36] powerpc: Implement the new page table range API Message-ID: References: <20230315051444.3229621-1-willy@infradead.org> <20230315051444.3229621-21-willy@infradead.org> <1743d96f-8efe-0127-2cae-7368ce0eb2e6@csgroup.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 584CE180016 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: emszc4jew8jie6joruiqm8xgsm7t3odd X-HE-Tag: 1689020659-99133 X-HE-Meta: U2FsdGVkX19+4oohctoQ0OGRyW7m16fpdNPBY/oy2l/hBMZwAQeDcDh7HlLrWQ/NZnsuhMAY8+wIkAhy4dyhfUHvIoXx+TM5LjbZtkfewn0Amff970GTNJbm60t9Jm3Vs+Su6+N3W1GE1s+jzPoW2wwQn/+RWgkCCvsduJ/PhnpqP5uK0Q+8eUdOhaWEGRnYIn9Bk/b7k4m12mQJAHQxMgPd0zXhcbPTx2+JJY/pCvkTUzfCZVm7qkDKsqtzXsh057EfpZLB6B9Lx7SfT2OXTO5V/WopLafpvMMJY+eU9wbT8CYJVex3ET6smXEYeyAxtMYf89tt8DfBvxeTGocJ3BMUhXpXqZARmynHWqA6TplUhCCbeKF+S1e1d392fvuxGStZGnHk04vo/FXttPHl5qM/NZMDsbpqjceTG5C1gmyYFTOXyMzQ3sfABGpcBc3fli7K1SigGRTBeh75gA5DXA5ehdWFKOxmUInkXRBjSYzUKH72ruCClTqNZWX5dVsmiOHGLZEjbvXPdFiSNnx8IzHfe1ozq+U3FaPh+EGI3Fz3xpkmgxOcFIGje2/ZhviQj2gyAc7zY6kNrTtaEc1jBQYKBVqI+huCQBX/b8T3rw5xp+Pb6ScHHUXBybrW+yHKS0uIia/EYP8EmaUBKG/YoMoNDq1UVe9hNr3NL/YHZcpqmlexJdvtAC0Jr7/A06JvlTzN04RCqcZ3uN5dcg88QbfiPcJOhNre2i7jGuLdG/Mi6N5eGb0ZhTncVH4FVA235Z4jGf15W76v5a/kGFg5mPKFGp9IGZHs85OsAeOwdSiyw8ZBOVS8eDX+XEzLpe0Ksj6YILOZAODKmukuK1hyvPg/Mqe5z3BQWY09lPpUanmSdbPxnM6sFuyFMZ4tfvwqcnyppIKO5jDKd7U2sY5mGz8FhWO8fqaLnNclI0KR8c8FBVctPrhCCCDktAPgWhZqwoxw8S+BbyV6GDkkHiX b8nS6bHU NDjSkC63WAxnJBK8Kd6CW3LfocfEu82Zp1Bu61g1KuMmt7nyG0dMFgsIRH/ICUM4T2BG2Z2O5Jo09gQd8YYlyJfJpLl3g60CobeGCmzR53KOVFWHPI4sjk5FkncclOHqhAQQotCgGWu3Lhh1hbQ4xqZbyEr6NryWzmn6+VPwRskI/5osZW5PVULhbrg== 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 Sat, Mar 18, 2023 at 09:19:04AM +0000, Christophe Leroy wrote: > void set_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep, > pte_t pte, unsigned int nr) > { > pgprot_t prot; > unsigned long pfn; > /* > * Make sure hardware valid bit is not set. We don't do > * tlb flush for this update. > */ > VM_WARN_ON(pte_hw_valid(*ptep) && !pte_protnone(*ptep)); > > /* Note: mm->context.id might not yet have been assigned as > * this context might not have been activated yet when this > * is called. > */ > pte = set_pte_filter(pte); > > prot = pte_pgprot(pte); > pfn = pte_pfn(pte); > /* Perform the setting of the PTE */ > for (;;) { > __set_pte_at(mm, addr, ptep, pfn_pte(pfn, prot), 0); > if (--nr == 0) > break; > ptep++; > pfn++; > addr += PAGE_SIZE; > } > } I'd rather the per-arch code were as similar to each other and the generic implementation as possible. Fewer bugs that way and easier for other people to make changes that have to touch every architecture in the future.