On Tuesday 18 May 2021 at 10:47:17 (+0100), Will Deacon wrote: > On asymmetric systems where the affinity of a task is restricted to > contain only the CPUs capable of running it, admission to the deadline > scheduler is likely to fail because the span of the sched domain > contains incompatible CPUs. Although this is arguably the right thing to > do, it is inconsistent with the case where the affinity of a task is > restricted after already having been admitted to the deadline scheduler. > > For example, on an arm64 system where not all CPUs support 32-bit > applications, a 64-bit deadline task can exec() a 32-bit image and have > its affinity forcefully restricted. So I guess the alternative would be to fail exec-ing into 32bit from a 64bit DL task, and then drop this patch? The nice thing about your approach is that existing applications won't really notice a difference (execve would still 'work'), but on the cons side it breaks admission control, which is sad. I don't expect this weird execve-to-32bit pattern from DL to be that common in practice (at the very least not in Android), so maybe we could start with the stricter version (fail the execve), and wait to see if folks complain? Making things stricter later will be harder. Thoughts? Thanks, Quentin