* [PATCH] bcache: Use setup_timer and mod_timer
@ 2016-06-30 11:45 Amitoj Kaur Chawla
2016-06-30 12:11 ` Coly Li
0 siblings, 1 reply; 2+ messages in thread
From: Amitoj Kaur Chawla @ 2016-06-30 11:45 UTC (permalink / raw)
To: kent.overstreet, shli, linux-bcache, linux-raid, linux-kernel
Cc: julia.lawall
Convert a call to init_timer and accompanying intializations of
the timer's data and function fields to a call to setup_timer.
The Coccinelle semantic patch that fixes one part of this issue
is as follows:
@@
expression t,d,f,e1;
identifier x1;
statement S1;
@@
(
-t.data = d;
|
-t.function = f;
|
-init_timer(&t);
+setup_timer(&t,f,d);
|
-init_timer_on_stack(&t);
+setup_timer_on_stack(&t,f,d);
)
<... when != S1
t.x1 = e1;
...>
Also convert calls to add_timer and intialisation of timer's expire
field to a call to mod_timer which is more compact.
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
---
drivers/md/bcache/stats.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/md/bcache/stats.c b/drivers/md/bcache/stats.c
index 0ca072c..094d6d6 100644
--- a/drivers/md/bcache/stats.c
+++ b/drivers/md/bcache/stats.c
@@ -233,9 +233,6 @@ void bch_cache_accounting_init(struct cache_accounting *acc,
kobject_init(&acc->day.kobj, &bch_stats_ktype);
closure_init(&acc->cl, parent);
- init_timer(&acc->timer);
- acc->timer.expires = jiffies + accounting_delay;
- acc->timer.data = (unsigned long) acc;
- acc->timer.function = scale_accounting;
- add_timer(&acc->timer);
+ setup_timer(&acc->timer, scale_accounting, (unsigned long) acc);
+ mod_timer(&acc->timer, jiffies + accounting_delay);
}
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] bcache: Use setup_timer and mod_timer
2016-06-30 11:45 [PATCH] bcache: Use setup_timer and mod_timer Amitoj Kaur Chawla
@ 2016-06-30 12:11 ` Coly Li
0 siblings, 0 replies; 2+ messages in thread
From: Coly Li @ 2016-06-30 12:11 UTC (permalink / raw)
To: Amitoj Kaur Chawla, kent.overstreet, shli, linux-bcache,
linux-raid, linux-kernel
Cc: julia.lawall
在 16/6/30 下午7:45, Amitoj Kaur Chawla 写道:
> Convert a call to init_timer and accompanying intializations of
> the timer's data and function fields to a call to setup_timer.
>
> The Coccinelle semantic patch that fixes one part of this issue
> is as follows:
> @@
> expression t,d,f,e1;
> identifier x1;
> statement S1;
> @@
>
> (
> -t.data = d;
> |
> -t.function = f;
> |
> -init_timer(&t);
> +setup_timer(&t,f,d);
> |
> -init_timer_on_stack(&t);
> +setup_timer_on_stack(&t,f,d);
> )
> <... when != S1
> t.x1 = e1;
> ...>
>
> Also convert calls to add_timer and intialisation of timer's expire
> field to a call to mod_timer which is more compact.
>
> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
> ---
> drivers/md/bcache/stats.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/md/bcache/stats.c b/drivers/md/bcache/stats.c
> index 0ca072c..094d6d6 100644
> --- a/drivers/md/bcache/stats.c
> +++ b/drivers/md/bcache/stats.c
> @@ -233,9 +233,6 @@ void bch_cache_accounting_init(struct cache_accounting *acc,
> kobject_init(&acc->day.kobj, &bch_stats_ktype);
>
> closure_init(&acc->cl, parent);
> - init_timer(&acc->timer);
> - acc->timer.expires = jiffies + accounting_delay;
> - acc->timer.data = (unsigned long) acc;
> - acc->timer.function = scale_accounting;
> - add_timer(&acc->timer);
> + setup_timer(&acc->timer, scale_accounting, (unsigned long) acc);
> + mod_timer(&acc->timer, jiffies + accounting_delay);
> }
>
This patch uses new setup_timer() and mod_timer() interface to
initialize acc->timer. No change in functionality. It is OK to me.
Reviewed-by: Coly Li <colyli@suse.de>
Coly
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-06-30 12:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-30 11:45 [PATCH] bcache: Use setup_timer and mod_timer Amitoj Kaur Chawla
2016-06-30 12:11 ` Coly Li
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).