Re: [PATCH 6/6] sched: disabled rt-bandwidth by default

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Nick Piggin
Date: Wednesday, August 27, 2008 - 3:04 am

On Wednesday 27 August 2008 07:37, Thomas Gleixner wrote:

I don't understand the fixation on declaring a system frozen. I repeat:
how do you know "rt task code that hogs the CPU for 10s is broken"? This
still hasn't been adequately explained to me, and from responses to this
post, it seems that others have a different view than you do.



What customer use case are you talking about? I never mentioned one and
have none. Are you confusing me with someone else?

But OK, so if someone else has a customer use case that breaks, what
makes you think you can just declare it is crap and we don't care about
it? For that matter, what has closed source got to do with it? We don't
break kernel userspace API regardless of closed source or open source.




This is just handwaving and ignoring the issue at hand. SCHED_FIFO and
SCHED_RT are exactly about being able to hog the CPU. That is exactly
how they are defined.



Huh? Again, I don't have a use case, and even ignoring the several posts
of people who do, I would still make the same argument because it is
plain for me to see that breaking the API by default is the wrong thing
to do.



Umm... yeah. That's exactly one of the important properties of SCHED_FIFO
and SCHED_RR. Why do you think it is OK to change this?



Get my brain together? You're the one with faulty reasoning on this issue.



I don't deny that the runaway task thing is a *small* advantage. But
it is the only one, and weighed against lots of negatives.



You have it completely backwards. If someone wants to change a userspace API,
it is *they* who must not handwave about why "anybody who wants to do that is
broken anyway so we don't care about them".

I, on the other hand, opposing the API change, sure can handwave or find one
or two counter examples as to why we might have users relying on the old
behaviour.

The replies you got might convince you that your view of the rt world is not
the complete and only picture. But if not, then consider that rt tasks need
not have a fixed amount of work to be done per unit of time but they may
scale work according to the available CPU power. Or it may be something
that runs a polling loop I guess.



I didn't tell you, I asked you. Do you develop without a watchdog? Do
you think the majority of RT developers do?

Because if so, then I certianly will tell you to use a watchdog to get
the debuggability you ask for, rather than break the kernel interface
for everyone else.. If not, then the RT developers debuggability
argument is false.



Enough with this strawman, please. I never argued in the context of having
a specific broken application. It is the concept of changing this interface
which is what I am arguing against.

However, assuming I did have some customer application, I would know why
you think it is OK that it has been broken "because it must be crap anyway".



Making arguments with metaphores like this is useless. How are we supposed
to have a sane technical argument otherwise?

So: root can shoot themselves in the foot, easily, in many ways. Lots of
ways do not have safeguards. This has never been considered a problem before.



It is not some green table specification. It is really widely accepted
and implemented behaviour, and perhaps most importantly it has existed
that way in Linux for a long time.

I can't believe I have to argue so hard against this change to the API.

If you and your users or developers want a different scheduling policy
that throttles, WTF not just create a new SCHED_ policy? People that
ask for SCHED_FIFO are expecting to get what SCHED_FIFO gives in other
operating systems, in older Linux versions, and in specifications. You
can't tell me that *I'm* wrong for advocating that we implement this
correctly -- you have to tell all users of this API that they're wrong
for asking for it, and then you can provide a SCHED_FIFO_THROTTLED or
something for them to use.

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 6/6] sched: disabled rt-bandwidth by default, Peter Zijlstra, (Tue Aug 19, 3:33 am)
[PATCH] sched: extract walk_tg_tree(), fix, Ingo Molnar, (Tue Aug 19, 4:42 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Max Krasnyansky, (Tue Aug 19, 11:15 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Thomas Gleixner, (Tue Aug 26, 4:09 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Theodore Tso, (Tue Aug 26, 5:50 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Stefani Seibold, (Tue Aug 26, 6:31 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Mark Hounschell, (Tue Aug 26, 6:47 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Theodore Tso, (Tue Aug 26, 10:55 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Thomas Gleixner, (Tue Aug 26, 2:37 pm)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Steven Rostedt, (Tue Aug 26, 4:00 pm)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Nick Piggin, (Wed Aug 27, 3:04 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Chris Friesen, (Wed Aug 27, 11:55 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Peter Zijlstra, (Thu Aug 28, 4:19 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Peter Zijlstra, (Thu Aug 28, 5:00 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Steven Rostedt, (Thu Aug 28, 7:15 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Steven Rostedt, (Thu Aug 28, 8:12 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Steven Rostedt, (Thu Aug 28, 8:50 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Peter Zijlstra, (Thu Aug 28, 9:05 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Steven Rostedt, (Thu Aug 28, 9:15 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Max Krasnyansky, (Thu Aug 28, 9:19 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Peter Zijlstra, (Thu Aug 28, 9:29 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Max Krasnyansky, (Thu Aug 28, 9:33 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Linus Torvalds, (Thu Aug 28, 10:26 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Steven Rostedt, (Thu Aug 28, 11:04 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Darren Hart, (Thu Aug 28, 11:10 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Mark Hounschell, (Thu Aug 28, 11:16 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Linus Torvalds, (Thu Aug 28, 11:42 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Steven Rostedt, (Thu Aug 28, 11:53 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Stefani Seibold, (Thu Aug 28, 12:39 pm)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Mike Galbraith, (Fri Aug 29, 12:56 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Peter Zijlstra, (Fri Aug 29, 1:06 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Mike Galbraith, (Fri Aug 29, 1:47 am)
Re: [PATCH 6/6] sched: disabled rt-bandwidth by default, Nick Piggin, (Fri Aug 29, 11:33 pm)