All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Helge Deller <deller@gmx.de>,
	John Stultz <john.stultz@linaro.org>,
	linux-m68k@lists.linux-m68k.org, dhowells@redhat.com
Subject: [patch 2/4] timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper
Date: Thu, 14 Jan 2016 16:54:46 -0000	[thread overview]
Message-ID: <20160114164159.354500742__5810.64882358095$1452790579$gmane$org@linutronix.de> (raw)
In-Reply-To: 20160114163744.582215466@linutronix.de

[-- Attachment #1: timerfd--Handle-relative-timers-with-CONFIG_TIME_LOW_RES-proper.patch --]
[-- Type: text/plain, Size: 960 bytes --]

Helge reported that a relative timer can return a remaining time larger than
the programmed relative time on parisc and other architectures which have
CONFIG_TIME_LOW_RES set. This happens because we add a jiffie to the resulting
expiry time to prevent short timeouts.

Use the new function hrtimer_expires_remaining_adjusted() to calculate the
remaining time. It takes that extra added time into account for relative
timers.

Reported-by: Helge Deller <deller@gmx.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 fs/timerfd.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/timerfd.c
+++ b/fs/timerfd.c
@@ -153,7 +153,7 @@ static ktime_t timerfd_get_remaining(str
 	if (isalarm(ctx))
 		remaining = alarm_expires_remaining(&ctx->t.alarm);
 	else
-		remaining = hrtimer_expires_remaining(&ctx->t.tmr);
+		remaining = hrtimer_expires_remaining_adjusted(&ctx->t.tmr);
 
 	return remaining.tv64 < 0 ? ktime_set(0, 0): remaining;
 }

  parent reply	other threads:[~2016-01-14 16:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-14 16:54 [patch 0/4] hrtimers: Handle remaining time correctly for CONFIG_TIME_LOW_RES=y Thomas Gleixner
2016-01-14 16:54 ` Thomas Gleixner
2016-01-14 16:54 ` [patch 1/4] hrtimer: Handle remaining time proper for TIME_LOW_RES Thomas Gleixner
2016-01-14 16:54   ` Thomas Gleixner
2016-01-16 18:36   ` Helge Deller
2016-01-16 18:36     ` Helge Deller
2016-01-16 18:36   ` Helge Deller
2016-01-17 10:42   ` [tip:timers/urgent] " tip-bot for Thomas Gleixner
2016-01-14 16:54 ` [patch 2/4] timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper Thomas Gleixner
2016-01-17 10:43   ` [tip:timers/urgent] " tip-bot for Thomas Gleixner
2016-01-14 16:54 ` Thomas Gleixner [this message]
2016-01-14 16:54 ` [patch 3/4] posix-timers: " Thomas Gleixner
2016-01-14 16:54   ` Thomas Gleixner
2016-01-17 10:43   ` [tip:timers/urgent] " tip-bot for Thomas Gleixner
2016-01-14 16:54 ` [patch 4/4] itimers: " Thomas Gleixner
2016-01-14 16:54 ` Thomas Gleixner
2016-01-17 10:43   ` [tip:timers/urgent] " tip-bot for Thomas Gleixner

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='20160114164159.354500742__5810.64882358095$1452790579$gmane$org@linutronix.de' \
    --to=tglx@linutronix.de \
    --cc=deller@gmx.de \
    --cc=dhowells@redhat.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.