Commit 53bf837b authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Ingo Molnar

timers: Remove set_timer_slack() leftovers

We now have implicit batching in the timer wheel. The slack API is no longer
used, so remove it.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Andrew F. Davis <afd@ti.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Chris Mason <clm@fb.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: George Spelvin <linux@sciencehorizons.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mathias Nyman <mathias.nyman@intel.com>
Cc: Pali Rohár <pali.rohar@gmail.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-block@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mmc@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: linux-usb@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160704094342.189813118@linutronix.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 500462a9
...@@ -1523,12 +1523,7 @@ static void __disk_unblock_events(struct gendisk *disk, bool check_now) ...@@ -1523,12 +1523,7 @@ static void __disk_unblock_events(struct gendisk *disk, bool check_now)
if (--ev->block) if (--ev->block)
goto out_unlock; goto out_unlock;
/*
* Not exactly a latency critical operation, set poll timer
* slack to 25% and kick event check.
*/
intv = disk_events_poll_jiffies(disk); intv = disk_events_poll_jiffies(disk);
set_timer_slack(&ev->dwork.timer, intv / 4);
if (check_now) if (check_now)
queue_delayed_work(system_freezable_power_efficient_wq, queue_delayed_work(system_freezable_power_efficient_wq,
&ev->dwork, 0); &ev->dwork, 0);
......
...@@ -1068,8 +1068,6 @@ static int jz4740_mmc_probe(struct platform_device* pdev) ...@@ -1068,8 +1068,6 @@ static int jz4740_mmc_probe(struct platform_device* pdev)
jz4740_mmc_clock_disable(host); jz4740_mmc_clock_disable(host);
setup_timer(&host->timeout_timer, jz4740_mmc_timeout, setup_timer(&host->timeout_timer, jz4740_mmc_timeout,
(unsigned long)host); (unsigned long)host);
/* It is not important when it times out, it just needs to timeout. */
set_timer_slack(&host->timeout_timer, HZ);
host->use_dma = true; host->use_dma = true;
if (host->use_dma && jz4740_mmc_acquire_dma_channels(host) != 0) if (host->use_dma && jz4740_mmc_acquire_dma_channels(host) != 0)
......
...@@ -735,11 +735,8 @@ static void bq27xxx_battery_poll(struct work_struct *work) ...@@ -735,11 +735,8 @@ static void bq27xxx_battery_poll(struct work_struct *work)
bq27xxx_battery_update(di); bq27xxx_battery_update(di);
if (poll_interval > 0) { if (poll_interval > 0)
/* The timer does not have to be accurate. */
set_timer_slack(&di->work.timer, poll_interval * HZ / 4);
schedule_delayed_work(&di->work, poll_interval * HZ); schedule_delayed_work(&di->work, poll_interval * HZ);
}
} }
/* /*
......
...@@ -500,7 +500,6 @@ static int ohci_init (struct ohci_hcd *ohci) ...@@ -500,7 +500,6 @@ static int ohci_init (struct ohci_hcd *ohci)
setup_timer(&ohci->io_watchdog, io_watchdog_func, setup_timer(&ohci->io_watchdog, io_watchdog_func,
(unsigned long) ohci); (unsigned long) ohci);
set_timer_slack(&ohci->io_watchdog, msecs_to_jiffies(20));
ohci->hcca = dma_alloc_coherent (hcd->self.controller, ohci->hcca = dma_alloc_coherent (hcd->self.controller,
sizeof(*ohci->hcca), &ohci->hcca_dma, GFP_KERNEL); sizeof(*ohci->hcca), &ohci->hcca_dma, GFP_KERNEL);
......
...@@ -490,8 +490,6 @@ static void compliance_mode_recovery_timer_init(struct xhci_hcd *xhci) ...@@ -490,8 +490,6 @@ static void compliance_mode_recovery_timer_init(struct xhci_hcd *xhci)
xhci->comp_mode_recovery_timer.expires = jiffies + xhci->comp_mode_recovery_timer.expires = jiffies +
msecs_to_jiffies(COMP_MODE_RCVRY_MSECS); msecs_to_jiffies(COMP_MODE_RCVRY_MSECS);
set_timer_slack(&xhci->comp_mode_recovery_timer,
msecs_to_jiffies(COMP_MODE_RCVRY_MSECS));
add_timer(&xhci->comp_mode_recovery_timer); add_timer(&xhci->comp_mode_recovery_timer);
xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
"Compliance mode recovery timer initialized"); "Compliance mode recovery timer initialized");
......
...@@ -19,7 +19,6 @@ struct timer_list { ...@@ -19,7 +19,6 @@ struct timer_list {
void (*function)(unsigned long); void (*function)(unsigned long);
unsigned long data; unsigned long data;
u32 flags; u32 flags;
int slack;
#ifdef CONFIG_TIMER_STATS #ifdef CONFIG_TIMER_STATS
int start_pid; int start_pid;
...@@ -73,7 +72,6 @@ struct timer_list { ...@@ -73,7 +72,6 @@ struct timer_list {
.expires = (_expires), \ .expires = (_expires), \
.data = (_data), \ .data = (_data), \
.flags = (_flags), \ .flags = (_flags), \
.slack = -1, \
__TIMER_LOCKDEP_MAP_INITIALIZER( \ __TIMER_LOCKDEP_MAP_INITIALIZER( \
__FILE__ ":" __stringify(__LINE__)) \ __FILE__ ":" __stringify(__LINE__)) \
} }
...@@ -193,8 +191,6 @@ extern int del_timer(struct timer_list * timer); ...@@ -193,8 +191,6 @@ extern int del_timer(struct timer_list * timer);
extern int mod_timer(struct timer_list *timer, unsigned long expires); extern int mod_timer(struct timer_list *timer, unsigned long expires);
extern int mod_timer_pending(struct timer_list *timer, unsigned long expires); extern int mod_timer_pending(struct timer_list *timer, unsigned long expires);
extern void set_timer_slack(struct timer_list *time, int slack_hz);
/* /*
* The jiffies value which is added to now, when there is no timer * The jiffies value which is added to now, when there is no timer
* in the timer wheel: * in the timer wheel:
......
...@@ -447,24 +447,6 @@ unsigned long round_jiffies_up_relative(unsigned long j) ...@@ -447,24 +447,6 @@ unsigned long round_jiffies_up_relative(unsigned long j)
} }
EXPORT_SYMBOL_GPL(round_jiffies_up_relative); EXPORT_SYMBOL_GPL(round_jiffies_up_relative);
/**
* set_timer_slack - set the allowed slack for a timer
* @timer: the timer to be modified
* @slack_hz: the amount of time (in jiffies) allowed for rounding
*
* Set the amount of time, in jiffies, that a certain timer has
* in terms of slack. By setting this value, the timer subsystem
* will schedule the actual timer somewhere between
* the time mod_timer() asks for, and that time plus the slack.
*
* By setting the slack to -1, a percentage of the delay is used
* instead.
*/
void set_timer_slack(struct timer_list *timer, int slack_hz)
{
timer->slack = slack_hz;
}
EXPORT_SYMBOL_GPL(set_timer_slack);
static inline unsigned int timer_get_idx(struct timer_list *timer) static inline unsigned int timer_get_idx(struct timer_list *timer)
{ {
...@@ -775,7 +757,6 @@ static void do_init_timer(struct timer_list *timer, unsigned int flags, ...@@ -775,7 +757,6 @@ static void do_init_timer(struct timer_list *timer, unsigned int flags,
{ {
timer->entry.pprev = NULL; timer->entry.pprev = NULL;
timer->flags = flags | raw_smp_processor_id(); timer->flags = flags | raw_smp_processor_id();
timer->slack = -1;
#ifdef CONFIG_TIMER_STATS #ifdef CONFIG_TIMER_STATS
timer->start_site = NULL; timer->start_site = NULL;
timer->start_pid = -1; timer->start_pid = -1;
......
...@@ -233,7 +233,6 @@ static void __prandom_timer(unsigned long dontcare) ...@@ -233,7 +233,6 @@ static void __prandom_timer(unsigned long dontcare)
static void __init __prandom_start_seed_timer(void) static void __init __prandom_start_seed_timer(void)
{ {
set_timer_slack(&seed_timer, HZ);
seed_timer.expires = jiffies + msecs_to_jiffies(40 * MSEC_PER_SEC); seed_timer.expires = jiffies + msecs_to_jiffies(40 * MSEC_PER_SEC);
add_timer(&seed_timer); add_timer(&seed_timer);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment