Re: [PATCH] sched, autogroup: Fix failure when writing to cpu.rt_runtime_us

From: Peter Zijlstra
Date: Thu Feb 05 2015 - 09:25:37 EST


On Thu, Feb 05, 2015 at 04:33:24PM +0800, Zefan Li wrote:
> This is how to reproduce the bug:
>
> int main() {
> struct sched_param param = {.sched_priority=1};
>
> if (fork() > 0)
> exit(0);
>
> setsid();
>
> if (sched_setscheduler(0, SCHED_RR, &param) < 0){
> perror("failed to sched_setscheduler()");
> return -1;
> }
>
> while(1)
> ;
> }
>
> # ./test
> # mount -t cgroup -o cpu xxx /cgroup
> # cat /cgroup/cpu.rt_runtime_us
> 950000
> # echo 940000 > /cgroup/cpu.rt_runtime_us
> Device or Resource busy

That's -EBUSY, but you're changing an -EPERM condition. Neither your
patch nor explanation of the matter make sense.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/