Message ID | 20250313104111.24196-2-miko.lenczewski@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | Initial BBML2 support for contpte_convert() | expand |
Hi Miko, On 13/03/2025 10:41, Mikołaj Lenczewski wrote: > Hi All, > > This patch series adds adding initial support for eliding > break-before-make requirements on systems that support BBML2 and > additionally guarantee to never raise a conflict abort. > > This support elides a TLB invalidation in contpte_convert(). This > leads to a 12% improvement when executing a microbenchmark designed > to force the pathological path where contpte_convert() gets called. > This represents an 80% reduction in the cost of calling > contpte_convert(). > > This series is based on v6.14-rc4 (d082ecbc71e9). > > Patch 1 implements an allow-list of cpus that support BBML2, but with > the additional constraint of never causing TLB conflict aborts. We > settled on this constraint because we will use the feature for kernel > mappings in the future, for which we cannot handle conflict aborts > safely. > > Yang Shi has a series at [1] that aims to use BBML2 to enable splitting > the linear map at runtime. This series partially overlaps with it to add > the cpu feature. We believe this series is fully compatible with Yang's > requirements and could go first. > Nothing about the patch functionality, but : Minor nit: Generally it is a good idea to add "What changed" from the previous posting. That gives the reviewers an idea of what to look for in the new version. Something like: Changes since V2: {Adding a link to the posting is an added bonus, as we can look up the discussions easily} - blah blah - .. Cheers Suzuki > [1]: > https://lore.kernel.org/linux-arm-kernel/20250304222018.615808-1-yang@os.amperecomputing.com/ > > Mikołaj Lenczewski (3): > arm64: Add BBM Level 2 cpu feature > iommu/arm: Add BBM Level 2 smmu feature > arm64/mm: Elide tlbi in contpte_convert() under BBML2 > > .../admin-guide/kernel-parameters.txt | 3 + > arch/arm64/Kconfig | 11 +++ > arch/arm64/include/asm/cpucaps.h | 2 + > arch/arm64/include/asm/cpufeature.h | 6 ++ > arch/arm64/kernel/cpufeature.c | 76 +++++++++++++++++++ > arch/arm64/kernel/pi/idreg-override.c | 2 + > arch/arm64/mm/contpte.c | 3 +- > arch/arm64/tools/cpucaps | 1 + > .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 3 + > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 3 + > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 4 + > 11 files changed, 113 insertions(+), 1 deletion(-) >
On Thu, Mar 13, 2025 at 11:22:07AM +0000, Suzuki K Poulose wrote: > Hi Miko, > > On 13/03/2025 10:41, Mikołaj Lenczewski wrote: > > Hi All, > > > Nothing about the patch functionality, but : > > Minor nit: Generally it is a good idea to add "What changed" from the > previous posting. That gives the reviewers an idea of what to look for > in the new version. Something like: > > Changes since V2: > {Adding a link to the posting is an added bonus, as we can look up the > discussions easily} > - blah blah > - .. > > > Cheers > Suzuki Ah, yes. My apologies. Will make sure to include such a changelog with links to previous versions in future. I do not know why I did not include it here, other than it not crossing my mind...