From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1E78F322A1D for ; Fri, 12 Dec 2025 12:12:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765541531; cv=none; b=hGmiiWVMiffcI0BzPjaxrhj9kgDoYRhVQeCJzKLlrG/sW4jh+BIoU84BddSZGEBEt07lf9xVi2r7WbgcrdqPJn+db9dZw42kVrAcJ6Y2yoUmefX5lQdAFElqwlsXLW83JAzNbf/5q0ynxDNSyVrD2WH6JMD7H/P+5QqWvJ04Diw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765541531; c=relaxed/simple; bh=ZKb0SacNU3NwE5WvPt+EJQHWyPljgHc/U9uAFA1xnpo=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=YmRL3IP9KZ2WgRuG38yEi+bgdNZsT2QAGIGe+6GDPRMkhRX2Hpa8tcso5pzRqT0qXyXQUxFIR1lLBgZebTWrUegS0JOE6C3vEnSo4OGtfx7++0Fc7Dbjq+mKigYkwr9NAtui1wKL0TPViudDGkJVVwcslx5DILSfjapDSgUuUyo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D55C91063; Fri, 12 Dec 2025 04:12:01 -0800 (PST) Received: from [10.57.90.205] (unknown [10.57.90.205]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 72FC53F762; Fri, 12 Dec 2025 04:12:07 -0800 (PST) Message-ID: Date: Fri, 12 Dec 2025 12:12:05 +0000 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 00/10] arm64: Replace TLB invalidation preprocessor macros with C functions Content-Language: en-GB From: Ryan Roberts To: Will Deacon , linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel , Catalin Marinas , Mark Rutland , Linus Torvalds , Oliver Upton , Marc Zyngier References: <20250711161732.384-1-will@kernel.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 10/12/2025 12:29, Ryan Roberts wrote: > On 11/07/2025 17:17, Will Deacon wrote: >> Hi all, >> >> I cooked this series following a complaint from Linus back in March >> about our range-based TLB invalidation macro after we fixed an >> over-invalidation bug thanks to incorrect handling of its arguments: >> >> https://lore.kernel.org/all/CAHk-=wgiX0q0WCL+SFwVCYtG7JR3=2Rshse-5J3AO2Y4AgT7Jw@mail.gmail.com/ >> >> Once I started trying to rework the range macro into a C function, I >> spotted a few other opportunities for cleanup and so I've ended up with >> this series. >> >> Testing and feedback welcome. > > Hi Will, > > Did this go anywhere/are you planning to post a new version? There are a couple > of other cleanups I'd like to do in this area, and also I'd like to add tlbip > support. But I don't want to spend time on it if the baseline is going to > drastically change. > > If you're not planning a v2, perhaps I could have a go then extend for the > extras I want to do? Since I didn't hear back, I've reworked the series to include Linus's suggestion and am currently testing. Plan to post against -rc1. > > Thanks, > Ryan > > >> >> Cheers, >> >> Will >> >> Cc: Ard Biesheuvel >> Cc: Catalin Marinas >> Cc: Ryan Roberts >> Cc: Mark Rutland >> Cc: Linus Torvalds >> Cc: Oliver Upton >> Cc: Marc Zyngier >> >> --->8 >> >> Will Deacon (10): >> arm64: mm: Introduce a C wrapper for by-level TLB invalidation helpers >> arm64: mm: Introduce a C wrapper for by-range TLB invalidation helpers >> arm64: mm: Implicitly invalidate user ASID based on TLBI operation >> arm64: mm: Remove unused 'tlbi_user' argument from >> __flush_tlb_range_op() >> arm64: mm: Re-implement the __tlbi_level macro in C >> arm64: mm: Simplify __TLBI_RANGE_NUM() macro >> arm64: mm: Push __TLBI_VADDR() into __tlbi_level() >> arm64: mm: Inline __TLBI_VADDR_RANGE() into __tlbi_range() >> arm64: mm: Simplify __flush_tlb_range_limit_excess() >> arm64: mm: Re-implement the __flush_tlb_range_op macro in C >> >> arch/arm64/include/asm/tlbflush.h | 230 ++++++++++++++++++------------ >> arch/arm64/kernel/sys_compat.c | 2 +- >> arch/arm64/kvm/hyp/nvhe/mm.c | 2 +- >> arch/arm64/kvm/hyp/pgtable.c | 4 +- >> 4 files changed, 140 insertions(+), 98 deletions(-) >> >