From: Cyrill Gorcunov <gorcunov@gmail.com>
To: Andrew Vagin <avagin@parallels.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
avagin@openvz.org, xemul@parallels.com, vdavydov@parallels.com,
Michael Kerrisk <mtk.manpages@gmail.com>
Subject: Re: [patch 3/3] timerfd: Implement write method
Date: Wed, 11 Jun 2014 16:43:48 +0400 [thread overview]
Message-ID: <20140611124348.GE15786@moon> (raw)
In-Reply-To: <20140611095246.GJ2243@moon>
On Wed, Jun 11, 2014 at 01:52:46PM +0400, Cyrill Gorcunov wrote:
> On Wed, Jun 11, 2014 at 01:09:15PM +0400, Andrew Vagin wrote:
> > On Wed, Jun 11, 2014 at 11:51:25AM +0400, Cyrill Gorcunov wrote:
> > > On Wed, Jun 11, 2014 at 11:27:43AM +0400, Andrew Vagin wrote:
> >
> > Setting ticks to zero is equivalent to timerfd_read(), isn't it?
> > So do we need to re-arme the timer, if it's periodic?
>
> I must admit I'm not really sure if we should rearm it in such
> case. In general @ticks are zeroified in case of timer-setup/cancel/read.
>
> - lets consider someone armed the timer it triggered but no read done
> yet, instead ioctl called and @ticks are set to zero, then call for
> read() and it returns zero to caller not rearming the timer (in
> current patch approach and non-block read)
>
> - in turn if we rearm timer on @ticks = 0 in ioctl this makes it
> close to behaviour of read() function (which in turn look to
> me as a duplication of read() interface).
>
> That said, I'm not sure yet...
What if we prohibit setting non-zero values here? @ticks are set to
zero on timerfd_setup thus there is always a way to create a timer
with fields zeroified. Something like
case TFD_IOC_SET_TICKS: {
u64 ticks;
if (get_user(ticks, (u64 __user *)arg))
return -EFAULT;
if (!ticks)
return -EINVAL;
spin_lock_irq(&ctx->wqh.lock);
if (!timerfd_canceled(ctx)) {
ctx->ticks = ticks;
if (ticks)
wake_up_locked(&ctx->wqh);
else
} else
ret = -ECANCELED;
spin_unlock_irq(&ctx->wqh.lock);
break;
}
?
next prev parent reply other threads:[~2014-06-11 12:43 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 21:25 [patch 0/3] timerfd -- implement missing parts to checkpoint and restore timerfd state, v3 Cyrill Gorcunov
2014-04-28 21:25 ` [patch 1/3] timerfd: Implement show_fdinfo method Cyrill Gorcunov
2014-05-21 21:41 ` Thomas Gleixner
2014-05-21 21:54 ` Cyrill Gorcunov
2014-04-28 21:25 ` [patch 2/3] docs: procfs -- Document timerfd output Cyrill Gorcunov
2014-04-28 21:25 ` [patch 3/3] timerfd: Implement write method Cyrill Gorcunov
2014-05-21 21:43 ` Thomas Gleixner
2014-05-21 21:57 ` Cyrill Gorcunov
2014-05-21 22:12 ` Thomas Gleixner
2014-05-21 22:35 ` Cyrill Gorcunov
2014-05-21 23:30 ` Thomas Gleixner
2014-05-22 5:31 ` Cyrill Gorcunov
2014-05-22 6:32 ` Michael Kerrisk
2014-05-22 7:03 ` Cyrill Gorcunov
[not found] ` <alpine.DEB.2.02.1405220643170.9695@ionos.tec.linutronix.de>
2014-05-21 21:58 ` Thomas Gleixner
2014-06-10 16:35 ` Cyrill Gorcunov
2014-06-10 20:03 ` Michael Kerrisk (man-pages)
2014-06-10 20:05 ` Andy Lutomirski
2014-06-10 20:22 ` Cyrill Gorcunov
2014-06-11 7:27 ` Andrew Vagin
2014-06-11 7:51 ` Cyrill Gorcunov
2014-06-11 9:09 ` Andrew Vagin
2014-06-11 9:52 ` Cyrill Gorcunov
2014-06-11 12:43 ` Cyrill Gorcunov [this message]
2014-05-21 10:03 ` [patch 0/3] timerfd -- implement missing parts to checkpoint and restore timerfd state, v3 Cyrill Gorcunov
-- strict thread matches above, loose matches on Subject: below --
2014-04-07 17:47 [patch 0/3] timerfd -- implement missing parts to checkpoint and restore timerfd state, v2 Cyrill Gorcunov
2014-04-07 17:47 ` [patch 3/3] timerfd: Implement write method Cyrill Gorcunov
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=20140611124348.GE15786@moon \
--to=gorcunov@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=avagin@openvz.org \
--cc=avagin@parallels.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
--cc=tglx@linutronix.de \
--cc=vdavydov@parallels.com \
--cc=xemul@parallels.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;
as well as URLs for NNTP newsgroup(s).