From: Will Deacon <will@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
Will Deacon <will@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Marc Zyngier <maz@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Morten Rasmussen <morten.rasmussen@arm.com>,
Qais Yousef <qais.yousef@arm.com>,
Suren Baghdasaryan <surenb@google.com>,
Quentin Perret <qperret@google.com>, Tejun Heo <tj@kernel.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Ingo Molnar <mingo@redhat.com>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Valentin Schneider <valentin.schneider@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
kernel-team@android.com
Subject: [PATCH v11 00/16] Add support for 32-bit tasks on asymmetric AArch32 systems
Date: Fri, 30 Jul 2021 12:24:27 +0100 [thread overview]
Message-ID: <20210730112443.23245-1-will@kernel.org> (raw)
Hi everyone,
This is version eleven of the patches 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
v4: https://lore.kernel.org/r/20201124155039.13804-1-will@kernel.org
v5: https://lore.kernel.org/r/20201208132835.6151-1-will@kernel.org
v6: https://lore.kernel.org/r/20210518094725.7701-1-will@kernel.org
v7: https://lore.kernel.org/r/20210525151432.16875-1-will@kernel.org
v8: https://lore.kernel.org/r/20210602164719.31777-1-will@kernel.org
v9: https://lore.kernel.org/r/20210608180313.11502-1-will@kernel.org
v10: https://lore.kernel.org/r/20210623173848.318-1-will@kernel.org
The main changes since v10 are:
* Now based on v5.14-rc1
* Fixed a lockup found during testing where select_fallback_rq()
could return an invalid CPU when trying to prioritise a destination
on the same NUMA node
Greg kindly pointed out a potential issue with the new 'aarch32_el0'
file in sysfs, where the contents will be truncated if we need to
display more than a PAGE_SIZE of data. However, I have elected not to
address this for now as (a) I do not think we'll ever have hardware in
that configuration (yeah, I know...) and (b) It is useful for scripts
if the file behaves the same as the other files in the same directory
(e.g. 'online'). Should a solution to this problem emerge for the other
files, I will be happy to adopt it here as well.
This series is now mostly scheduler stuff, but the last few patches are
arm64 and so I would suggest a shared branch in -tip for merging.
Cheers,
Will
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Morten Rasmussen <morten.rasmussen@arm.com>
Cc: Qais Yousef <qais.yousef@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Quentin Perret <qperret@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: kernel-team@android.com
--->8
Will Deacon (16):
sched: Introduce task_cpu_possible_mask() to limit fallback rq
selection
cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1
cpuset: Honour task_cpu_possible_mask() in guarantee_online_cpus()
cpuset: Cleanup cpuset_cpus_allowed_fallback() use in
select_fallback_rq()
sched: Reject CPU affinity changes based on task_cpu_possible_mask()
sched: Introduce task_struct::user_cpus_ptr to track requested
affinity
sched: Split the guts of sched_setaffinity() into a helper function
sched: Allow task CPU affinity to be restricted on asymmetric systems
sched: Introduce dl_task_check_affinity() to check proposed affinity
arm64: Implement task_cpu_possible_mask()
arm64: exec: Adjust affinity for compat tasks with mismatched 32-bit
EL0
arm64: Prevent offlining first CPU with 32-bit EL0 on mismatched
system
arm64: Advertise CPUs capable of running 32-bit applications in sysfs
arm64: Hook up cmdline parameter to allow mismatched 32-bit EL0
arm64: Remove logic to kill 32-bit tasks on 64-bit-only cores
Documentation: arm64: describe asymmetric 32-bit support
.../ABI/testing/sysfs-devices-system-cpu | 9 +
.../admin-guide/kernel-parameters.txt | 11 +
Documentation/arm64/asymmetric-32bit.rst | 155 ++++++++
Documentation/arm64/index.rst | 1 +
arch/arm64/include/asm/elf.h | 6 +-
arch/arm64/include/asm/mmu_context.h | 13 +
arch/arm64/kernel/cpufeature.c | 51 ++-
arch/arm64/kernel/process.c | 47 ++-
arch/arm64/kernel/signal.c | 26 --
include/linux/cpuset.h | 8 +-
include/linux/mmu_context.h | 14 +
include/linux/sched.h | 21 ++
init/init_task.c | 1 +
kernel/cgroup/cpuset.c | 59 ++-
kernel/fork.c | 2 +
kernel/sched/core.c | 344 ++++++++++++++----
kernel/sched/sched.h | 1 +
17 files changed, 628 insertions(+), 141 deletions(-)
create mode 100644 Documentation/arm64/asymmetric-32bit.rst
--
2.32.0.402.g57bb445576-goog
WARNING: multiple messages have this Message-ID (diff)
From: Will Deacon <will@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
Will Deacon <will@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Marc Zyngier <maz@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Morten Rasmussen <morten.rasmussen@arm.com>,
Qais Yousef <qais.yousef@arm.com>,
Suren Baghdasaryan <surenb@google.com>,
Quentin Perret <qperret@google.com>, Tejun Heo <tj@kernel.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Ingo Molnar <mingo@redhat.com>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Valentin Schneider <valentin.schneider@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
kernel-team@android.com
Subject: [PATCH v11 00/16] Add support for 32-bit tasks on asymmetric AArch32 systems
Date: Fri, 30 Jul 2021 12:24:27 +0100 [thread overview]
Message-ID: <20210730112443.23245-1-will@kernel.org> (raw)
Hi everyone,
This is version eleven of the patches 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
v4: https://lore.kernel.org/r/20201124155039.13804-1-will@kernel.org
v5: https://lore.kernel.org/r/20201208132835.6151-1-will@kernel.org
v6: https://lore.kernel.org/r/20210518094725.7701-1-will@kernel.org
v7: https://lore.kernel.org/r/20210525151432.16875-1-will@kernel.org
v8: https://lore.kernel.org/r/20210602164719.31777-1-will@kernel.org
v9: https://lore.kernel.org/r/20210608180313.11502-1-will@kernel.org
v10: https://lore.kernel.org/r/20210623173848.318-1-will@kernel.org
The main changes since v10 are:
* Now based on v5.14-rc1
* Fixed a lockup found during testing where select_fallback_rq()
could return an invalid CPU when trying to prioritise a destination
on the same NUMA node
Greg kindly pointed out a potential issue with the new 'aarch32_el0'
file in sysfs, where the contents will be truncated if we need to
display more than a PAGE_SIZE of data. However, I have elected not to
address this for now as (a) I do not think we'll ever have hardware in
that configuration (yeah, I know...) and (b) It is useful for scripts
if the file behaves the same as the other files in the same directory
(e.g. 'online'). Should a solution to this problem emerge for the other
files, I will be happy to adopt it here as well.
This series is now mostly scheduler stuff, but the last few patches are
arm64 and so I would suggest a shared branch in -tip for merging.
Cheers,
Will
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Morten Rasmussen <morten.rasmussen@arm.com>
Cc: Qais Yousef <qais.yousef@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Quentin Perret <qperret@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: kernel-team@android.com
--->8
Will Deacon (16):
sched: Introduce task_cpu_possible_mask() to limit fallback rq
selection
cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1
cpuset: Honour task_cpu_possible_mask() in guarantee_online_cpus()
cpuset: Cleanup cpuset_cpus_allowed_fallback() use in
select_fallback_rq()
sched: Reject CPU affinity changes based on task_cpu_possible_mask()
sched: Introduce task_struct::user_cpus_ptr to track requested
affinity
sched: Split the guts of sched_setaffinity() into a helper function
sched: Allow task CPU affinity to be restricted on asymmetric systems
sched: Introduce dl_task_check_affinity() to check proposed affinity
arm64: Implement task_cpu_possible_mask()
arm64: exec: Adjust affinity for compat tasks with mismatched 32-bit
EL0
arm64: Prevent offlining first CPU with 32-bit EL0 on mismatched
system
arm64: Advertise CPUs capable of running 32-bit applications in sysfs
arm64: Hook up cmdline parameter to allow mismatched 32-bit EL0
arm64: Remove logic to kill 32-bit tasks on 64-bit-only cores
Documentation: arm64: describe asymmetric 32-bit support
.../ABI/testing/sysfs-devices-system-cpu | 9 +
.../admin-guide/kernel-parameters.txt | 11 +
Documentation/arm64/asymmetric-32bit.rst | 155 ++++++++
Documentation/arm64/index.rst | 1 +
arch/arm64/include/asm/elf.h | 6 +-
arch/arm64/include/asm/mmu_context.h | 13 +
arch/arm64/kernel/cpufeature.c | 51 ++-
arch/arm64/kernel/process.c | 47 ++-
arch/arm64/kernel/signal.c | 26 --
include/linux/cpuset.h | 8 +-
include/linux/mmu_context.h | 14 +
include/linux/sched.h | 21 ++
init/init_task.c | 1 +
kernel/cgroup/cpuset.c | 59 ++-
kernel/fork.c | 2 +
kernel/sched/core.c | 344 ++++++++++++++----
kernel/sched/sched.h | 1 +
17 files changed, 628 insertions(+), 141 deletions(-)
create mode 100644 Documentation/arm64/asymmetric-32bit.rst
--
2.32.0.402.g57bb445576-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-07-30 11:24 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-30 11:24 Will Deacon [this message]
2021-07-30 11:24 ` [PATCH v11 00/16] Add support for 32-bit tasks on asymmetric AArch32 systems Will Deacon
2021-07-30 11:24 ` [PATCH v11 01/16] sched: Introduce task_cpu_possible_mask() to limit fallback rq selection Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 02/16] cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1 Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 03/16] cpuset: Honour task_cpu_possible_mask() in guarantee_online_cpus() Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 04/16] cpuset: Cleanup cpuset_cpus_allowed_fallback() use in select_fallback_rq() Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 05/16] sched: Reject CPU affinity changes based on task_cpu_possible_mask() Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 06/16] sched: Introduce task_struct::user_cpus_ptr to track requested affinity Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 07/16] sched: Split the guts of sched_setaffinity() into a helper function Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-17 15:40 ` Peter Zijlstra
2021-08-17 15:40 ` Peter Zijlstra
2021-08-18 10:50 ` Will Deacon
2021-08-18 10:50 ` Will Deacon
2021-08-18 10:56 ` Peter Zijlstra
2021-08-18 10:56 ` Peter Zijlstra
2021-08-18 11:11 ` Will Deacon
2021-08-18 11:11 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 08/16] sched: Allow task CPU affinity to be restricted on asymmetric systems Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-17 15:10 ` Peter Zijlstra
2021-08-17 15:10 ` Peter Zijlstra
2021-08-18 10:42 ` Will Deacon
2021-08-18 10:42 ` Will Deacon
2021-08-18 10:56 ` Peter Zijlstra
2021-08-18 10:56 ` Peter Zijlstra
2021-08-18 11:53 ` Peter Zijlstra
2021-08-18 11:53 ` Peter Zijlstra
2021-08-18 12:19 ` Will Deacon
2021-08-18 12:19 ` Will Deacon
2021-08-18 11:06 ` Peter Zijlstra
2021-08-18 11:06 ` Peter Zijlstra
2021-08-17 15:41 ` Peter Zijlstra
2021-08-17 15:41 ` Peter Zijlstra
2021-08-18 10:43 ` Will Deacon
2021-08-18 10:43 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 09/16] sched: Introduce dl_task_check_affinity() to check proposed affinity Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-08-23 9:26 ` [tip: sched/core] " tip-bot2 for Will Deacon
2021-07-30 11:24 ` [PATCH v11 10/16] arm64: Implement task_cpu_possible_mask() Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-07-30 11:24 ` [PATCH v11 11/16] arm64: exec: Adjust affinity for compat tasks with mismatched 32-bit EL0 Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-07-30 11:24 ` [PATCH v11 12/16] arm64: Prevent offlining first CPU with 32-bit EL0 on mismatched system Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-07-30 11:24 ` [PATCH v11 13/16] arm64: Advertise CPUs capable of running 32-bit applications in sysfs Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-07-30 11:24 ` [PATCH v11 14/16] arm64: Hook up cmdline parameter to allow mismatched 32-bit EL0 Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-07-30 11:24 ` [PATCH v11 15/16] arm64: Remove logic to kill 32-bit tasks on 64-bit-only cores Will Deacon
2021-07-30 11:24 ` Will Deacon
2021-07-30 11:24 ` [PATCH v11 16/16] Documentation: arm64: describe asymmetric 32-bit support Will Deacon
2021-07-30 11:24 ` Will Deacon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210730112443.23245-1-will@kernel.org \
--to=will@kernel.org \
--cc=bristot@redhat.com \
--cc=catalin.marinas@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=gregkh@linuxfoundation.org \
--cc=hannes@cmpxchg.org \
--cc=juri.lelli@redhat.com \
--cc=kernel-team@android.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mingo@redhat.com \
--cc=morten.rasmussen@arm.com \
--cc=peterz@infradead.org \
--cc=qais.yousef@arm.com \
--cc=qperret@google.com \
--cc=rjw@rjwysocki.net \
--cc=surenb@google.com \
--cc=tj@kernel.org \
--cc=valentin.schneider@arm.com \
--cc=vincent.guittot@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.