Re: [PATCH] writeback: Convert timers to use timer_setup()

From: Jan Kara
Date: Tue Oct 17 2017 - 05:44:52 EST


On Mon 16-10-17 15:59:13, Kees Cook wrote:
> In preparation for unconditionally passing the struct timer_list pointer to
> all timer callbacks, switch to using the new timer_setup() and from_timer()
> to pass the timer pointer explicitly.
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Jan Kara <jack@xxxxxxx>
> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> Cc: Vladimir Davydov <vdavydov.dev@xxxxxxxxx>
> Cc: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
> Cc: Jeff Layton <jlayton@xxxxxxxxxx>
> Cc: linux-mm@xxxxxxxxx
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>

The patch looks good. You can add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> mm/page-writeback.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 94854e243b11..65ba42c7c7da 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -628,9 +628,9 @@ EXPORT_SYMBOL_GPL(wb_writeout_inc);
> * On idle system, we can be called long after we scheduled because we use
> * deferred timers so count with missed periods.
> */
> -static void writeout_period(unsigned long t)
> +static void writeout_period(struct timer_list *t)
> {
> - struct wb_domain *dom = (void *)t;
> + struct wb_domain *dom = from_timer(dom, t, period_timer);
> int miss_periods = (jiffies - dom->period_time) /
> VM_COMPLETIONS_PERIOD_LEN;
>
> @@ -653,8 +653,7 @@ int wb_domain_init(struct wb_domain *dom, gfp_t gfp)
>
> spin_lock_init(&dom->lock);
>
> - setup_deferrable_timer(&dom->period_timer, writeout_period,
> - (unsigned long)dom);
> + timer_setup(&dom->period_timer, writeout_period, TIMER_DEFERRABLE);
>
> dom->dirty_limit_tstamp = jiffies;
>
> --
> 2.7.4
>
>
> --
> Kees Cook
> Pixel Security
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR