Re: [PATCH v7 07/11] arch/x86: enable task isolation functionality
From: Thomas Gleixner
Date: Thu Oct 01 2015 - 04:13:29 EST
On Wed, 30 Sep 2015, Andy Lutomirski wrote:
> On Wed, Sep 30, 2015 at 3:02 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> > On Wed, 30 Sep 2015, Chris Metcalf wrote:
> >> So for now, if a task-isolation thread sets up a timer,
> >> they're screwed: so, don't do that. And it's really not part of
> >> the typical programming model for these kinds of userspace
> >> drivers anyway, so it's pretty reasonable to forbid it.
> >
> > There is a difference between forbidding it and looping for 10 minutes
> > in the kernel.
>
> I don't even like forbidding it. Setting timers seems like an
> entirely reasonable thing for even highly RT or isolated programs to
> do, although admittedly they can do it on a non-RT thread and then
> kick the RT thread when they're ready.
>
> Heck, even without the TSC deadline timer, the kernel could, in
> principle, support that use case by having whatever core is doing
> housekeeping keep kicking the can forward until it's time to IPI the
> isolated core because it needs to wake up.
That's simple. Just arm the timer on the other core. It's not rocket
science to do that.
But the whole problem with this isolation stuff is, that it tries to
push half baken duct tape concepts into the tree.
That would be the same if we'd brute force merge the RT stuff and then
let everyone deal with the fallout. There is a really good reason, why
the remaining - hard to solve - pieces of RT are still out of tree.
And I really want to see a proper engineering for that isolation
stuff, which can be done with an out of tree patch set in the first
place. But sure, it's more convenient to push crap into mainline and
let everyone else deal with the fallouts.
Thanks,
tglx
--
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/