Hi Dietmar, On Thu, May 20, 2021 at 07:55:27PM +0200, Dietmar Eggemann wrote: > On 20/05/2021 18:00, Daniel Bristot de Oliveira wrote: > > On 5/20/21 5:06 PM, Dietmar Eggemann wrote: > >> (1) # chrt -d -T 5000000 -P 16666666 0 ./32bit_app > >> > >> (2) # ./32bit_app & > >> > >> # chrt -d -T 5000000 -P 16666666 -p 0 pid_of(32bit_app) > >> > >> > >> Wouldn't the behaviour of (1) and (2) be different w/o this patch? > >> > >> In (1) __sched_setscheduler() happens before execve so it operates on > >> p->cpus_ptr equal span. > >> > >> In (2) span != p->cpus_ptr so DL AC will fail. > >> > > > > As far as I got, the case (1) would be spitted in two steps: > > > > - __sched_setscheduler() will work, then > > - execv() would fail because (span != p->cpus_ptr) > > > > So... at the end, both (1) and (2) would result in a failure... > > > > am I missing something? > > Not sure. Reading this thread I was under the assumption that the only > change would be the drop of this patch. But I assume there is also this > 'if DL AC is on then let sched_setattr() fail for this 32bit task'. > > IMHO, the current patch-stack w/o this patch should let (1) succeed with > DL AC. That's what I'm proposing, yes, but others (including Daniel) prefer to fail the execve(). See my other reply just now for a summary [1]. Thanks! Will [1] https://lore.kernel.org/lkml/20210520180138.GA10523@willie-the-truck/T/#u