From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Michael Kerrisk <mtk.manpages@googlemail.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>,
Eugene Teo <eugeneteo@kernel.sg>,
linux-kernel@vger.kernel.org, Neil Horman <nhorman@tuxdriver.com>,
Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH] proc: Add RLIMIT_RTTIME to /proc/<pid>/limits
Date: Fri, 11 Apr 2008 09:45:30 +0200 [thread overview]
Message-ID: <1207899930.7074.23.camel@twins> (raw)
In-Reply-To: <cfd18e0f0804110038q3b7740c9q1a96858d9531ab92@mail.gmail.com>
On Fri, 2008-04-11 at 09:38 +0200, Michael Kerrisk wrote:
> On Thu, Feb 28, 2008 at 5:50 PM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> >
> > On Thu, 2008-02-28 at 16:44 +0100, Michael Kerrisk wrote:
> > > Peter,
> > >
> > > Thanks for the text.
> > >
> > > On Thu, Feb 28, 2008 at 4:21 PM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> > > >
> > > > On Thu, 2008-02-28 at 16:12 +0100, Michael Kerrisk wrote:
> > > > > Peter,
> > > > >
> > > > > Could you please provide some text describing RLIMIT_RTTIMEfor the
> > > > > getrlimit.2 man page.
> > > >
> > > > The rlimit sets a timeout in [us] for SCHED_RR and SCHED_FIFO tasks.
> > > > This time is measured between sleeps, so a schedule in RR or a
> > > > preemption in either is not a sleep - the task needs to be dequeued and
> > > > enqueued for the timer to reset.
> > >
> > > Just to clarify: sleep here means a call to some blocking syscall
> > > (e.g., nanosleep(), read(), select(), etc.), right? Is there anything
> > > else that falls under the category of "sleep"? What about a call to
> > > sched_yield() where the process explicitly lets go of the CPU?
> >
> > Yes, and yes, others would be blocking on futexes and the like.
>
> Peter,
>
> I've been testing this patch. Above you seemed to be saying that
> doing a sched_yield() would be equivalent to a sleep, causing the rt
> counter to be reset to zero. Howver, the results I'm seeing suggest
> that a sched_yield() does not cause the counter to be reset to zero
> (i.e., despite calling sched_yield() at frequent intervals, the
> process still encounters the RLIM_RTTIME soft limit and gets SIGXCPU).
> Can you comment?
It appears you are right. I must have been staring at something else
than code when I said that :-(, yield() will indeed _not_ reset the
counter.
Now, I think it makes some sense to reset it, because we do try to play
nice by calling yield. OTOH we don't actually block and become
unrunnable - we'll still be contending for CPU time.
next prev parent reply other threads:[~2008-04-11 7:45 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-08 14:59 [PATCH] proc: Add RLIMIT_RTTIME to /proc/<pid>/limits Eugene Teo
2008-02-08 15:10 ` Peter Zijlstra
2008-02-28 15:12 ` Michael Kerrisk
2008-02-28 15:21 ` Peter Zijlstra
2008-02-28 15:44 ` Michael Kerrisk
2008-02-28 15:50 ` Peter Zijlstra
2008-04-11 7:38 ` Michael Kerrisk
2008-04-11 7:45 ` Peter Zijlstra [this message]
2008-04-11 8:01 ` Michael Kerrisk
2008-02-29 12:32 ` Neil Horman
2008-04-11 8:56 ` Michael Kerrisk
2008-04-11 9:01 ` Peter Zijlstra
2008-04-11 9:16 ` Michael Kerrisk
2008-04-11 9:21 ` Peter Zijlstra
2008-04-11 9:27 ` Michael Kerrisk
2008-04-11 9:32 ` Peter Zijlstra
2008-04-11 9:38 ` Michael Kerrisk
2008-04-18 16:52 ` RLIMIT_RTTIME documentation for getrlimit.2 Michael Kerrisk
2008-04-28 11:44 ` Michael Kerrisk
2008-04-28 12:09 ` Peter Zijlstra
2008-04-28 12:14 ` Michael Kerrisk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1207899930.7074.23.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=eugeneteo@kernel.sg \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mtk.manpages@gmail.com \
--cc=mtk.manpages@googlemail.com \
--cc=nhorman@tuxdriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox