Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1741599pxu; Tue, 24 Nov 2020 07:53:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJzBcz5gfrGFVP454z9Q6DldGWU/SuUgJxnoYO6XL7iBJbRIo+sbpH5VVcAP3X713UqwcNs7 X-Received: by 2002:a17:906:f0c3:: with SMTP id dk3mr4697413ejb.366.1606233234355; Tue, 24 Nov 2020 07:53:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606233234; cv=none; d=google.com; s=arc-20160816; b=iB7K3VrIfROgTYL9sRmzZrafKeV+AE1XeG7c3GoAuEgymEg8KsukLrUuLzGRmeR01R HChetBg2hzvVGd0+Du3iAzOpKZaVl+/OWqi1vbLdUZiHEqPD5hwaQqJngI+LJXF+xR31 VUbEPanEs5nv1SHJQAPsDEs9zr8Ca89TtAQp1JZj8H38Hb0Ym6PGJ3TAltpWhkeHYC8X u6XWKi86tmdEdsuFOIk1c3x2UqdRaUi6xibBE4AKteiLVDkmxThlMJjTVYVmBasKXTtb d8WhkoxuIOGuN8vhH9b4OKLCL+ZZK+p+O2njyvovI6QsuHoxKvXKf1gSEG2CMRf/HdmX 9zYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=LPk1JwPaEmLSNXT5ekK3QTl89P0unxVqd8vKvrqxWBk=; b=kCJFsk44NH+pAAFdtMyh9iRs1mT4oRTmmPWyc5rQbihRCOOIQfOMttFMeZLocFKUbl MGo/CDVvGvh9ngVkENXVRsJU2+9j5TptNX1+cAdh7jztLBMSmw4cZcQ1GuLqVlnD15Xd SIuzacM+d/REj5JCI4V/GOTw/MOBN/VULdy+XF6Y8kaDzbiu8rMs//hIY8VNDnLahL9e EllHpa7YYLFmMnL7FYUdbt/lUmGbf+LGh+7TbMleu+yjpHM4bcnX92hip+D+snLjQogf TTLSjPTXH2U7InJIY43wWWOWW7eQo1bFiuljja3tM7ZtcjtoDLikSw0wFPCZSIJUXTVZ noyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sFK2P+nv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p25si9286115edq.230.2020.11.24.07.53.32; Tue, 24 Nov 2020 07:53:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sFK2P+nv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389927AbgKXPuv (ORCPT + 99 others); Tue, 24 Nov 2020 10:50:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:50088 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389441AbgKXPuu (ORCPT ); Tue, 24 Nov 2020 10:50:50 -0500 Received: from localhost.localdomain (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4E4FD206F7; Tue, 24 Nov 2020 15:50:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1606233049; bh=yoeRj4z5iLRdLbFu53ck1gIL1842BAqIhWtAD0VR2Tk=; h=From:To:Cc:Subject:Date:From; b=sFK2P+nvwsOkOCUTTAQWExKGMp1llBY1idSsHQR3G8+ZfsmDfDOydQWVQwNjODzpb xA1+lEG4+iwF3Q3WJGQNW5xFPiDEAMzNJyFHnT/Ruv5t1qU+YcEdJZlaaUKTOFRHZa B2BNV2WJReTFe0YYSyXcDYrPQhYSAWXgbPogpm8g= From: Will Deacon To: linux-arm-kernel@lists.infradead.org Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Will Deacon , Catalin Marinas , Marc Zyngier , Greg Kroah-Hartman , Peter Zijlstra , Morten Rasmussen , Qais Yousef , Suren Baghdasaryan , Quentin Perret , Tejun Heo , Li Zefan , Johannes Weiner , Ingo Molnar , Juri Lelli , Vincent Guittot , kernel-team@android.com Subject: [PATCH v4 00/14] An alternative series for asymmetric AArch32 systems Date: Tue, 24 Nov 2020 15:50:25 +0000 Message-Id: <20201124155039.13804-1-will@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello folks, Here's version four of the wonderful patches I previously posted here: v1: https://lore.kernel.org/r/20201027215118.27003-1-will@kernel.org v2: https://lore.kernel.org/r/20201109213023.15092-1-will@kernel.org v3: https://lore.kernel.org/r/20201113093720.21106-1-will@kernel.org and which started life as a reimplementation of some patches from Qais: https://lore.kernel.org/r/20201021104611.2744565-1-qais.yousef@arm.com The aim of this series is to allow 32-bit ARM applications to run on arm64 SoCs where not all of the CPUs support the 32-bit instruction set. Unfortunately, such SoCs are real and will continue to be productised over the next few years at least. Changes in v4 include: * Take into account the cpuset 'allowed' mask on exec * Print a warning if we forcefully override the affinity, like we do in select_fallback_rq() * Rename arch_cpu_allowed_mask() to arch_task_cpu_possible_mask() * Added a comment to adjust_compat_task_affinity() Cheers, Will Cc: Catalin Marinas Cc: Marc Zyngier Cc: Greg Kroah-Hartman Cc: Peter Zijlstra Cc: Morten Rasmussen Cc: Qais Yousef Cc: Suren Baghdasaryan Cc: Quentin Perret Cc: Tejun Heo Cc: Li Zefan Cc: Johannes Weiner Cc: Ingo Molnar Cc: Juri Lelli Cc: Vincent Guittot Cc: kernel-team@android.com --->8 Will Deacon (14): arm64: cpuinfo: Split AArch32 registers out into a separate struct arm64: Allow mismatched 32-bit EL0 support KVM: arm64: Kill 32-bit vCPUs on systems with mismatched EL0 support arm64: Kill 32-bit applications scheduled on 64-bit-only CPUs arm64: Advertise CPUs capable of running 32-bit applications in sysfs arm64: Hook up cmdline parameter to allow mismatched 32-bit EL0 sched: Introduce restrict_cpus_allowed_ptr() to limit task CPU affinity arm64: exec: Adjust affinity for compat tasks with mismatched 32-bit EL0 cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1 sched: Introduce arch_task_cpu_possible_mask() to limit fallback rq selection sched: Reject CPU affinity changes based on arch_task_cpu_possible_mask() arm64: Prevent offlining first CPU with 32-bit EL0 on mismatched system arm64: Implement arch_task_cpu_possible_mask() arm64: Remove logic to kill 32-bit tasks on 64-bit-only cores .../ABI/testing/sysfs-devices-system-cpu | 9 + .../admin-guide/kernel-parameters.txt | 7 + arch/arm64/include/asm/cpu.h | 44 ++-- arch/arm64/include/asm/cpucaps.h | 2 +- arch/arm64/include/asm/cpufeature.h | 8 +- arch/arm64/include/asm/mmu_context.h | 13 ++ arch/arm64/kernel/cpufeature.c | 219 ++++++++++++++---- arch/arm64/kernel/cpuinfo.c | 53 +++-- arch/arm64/kernel/process.c | 47 +++- arch/arm64/kvm/arm.c | 11 +- include/linux/sched.h | 1 + kernel/cgroup/cpuset.c | 6 +- kernel/sched/core.c | 90 +++++-- 13 files changed, 401 insertions(+), 109 deletions(-) -- 2.29.2.454.gaff20da3a2-goog