Messages in this thread | | | Date | Wed, 6 May 2015 10:49:06 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched: Relax a restriction in sched_rt_can_attach() |
| |
On Tue, May 05, 2015 at 03:06:03PM -0400, Tejun Heo wrote: > Hello, Peter. > > On Tue, May 05, 2015 at 09:00:57PM +0200, Peter Zijlstra wrote: > > On Tue, May 05, 2015 at 12:31:12PM -0400, Tejun Heo wrote: > > > What I don't want to happen is controllers failing migrations > > > willy-nilly for random reasons leaving users baffled, which we've > > > actually been doing unfortunately. Maybe we need to deal with this > > > fixed resource arbitration as a separate class and allow them to fail > > > migration w/ -EBUSY. > > > > Ah, _that_ was the problem. > > > > Which is something created by this co-mounting of controllers. > > Yeah, partly, but also that it's an extra failure mode which isn't > necessary for most controllers.
I can agree with reducing failure modes, but we should not do it at the cost of functionality.
> > You could of course store the ss-id of the failing operation in > > task_struct and have a file reporting the name of the ss-id. > > > > That way, there is a simple way to find out which controller failed the > > migrate. > > Given that the resources which can fail are very limited, I don't > think we need that right now as long as we limit and document the > possible failure cases clearly. Hopefully, this won't devolve into > collection of arbitrary failures.
Right, but something like that would be fairly trivial to implement and would give immediate resolution.
For example:
$ echo 123 > /cgroups/monkey/business/tasks -EBUSY $ cat /cgroups/monkey/business/errno cpu:-EBUSY
(in fact, for a trivial implementation it doesn't matter which cgroup/errno you cat)
| |