All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] writeback: Convert timers to use timer_setup()
@ 2017-10-16 22:59 ` Kees Cook
  0 siblings, 0 replies; 4+ messages in thread
From: Kees Cook @ 2017-10-16 22:59 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Jan Kara, Johannes Weiner, Vladimir Davydov, Matthew Wilcox,
	Jeff Layton, linux-mm, linux-kernel

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@linux-foundation.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Jeff Layton <jlayton@redhat.com>
Cc: linux-mm@kvack.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] writeback: Convert timers to use timer_setup()
@ 2017-10-16 22:59 ` Kees Cook
  0 siblings, 0 replies; 4+ messages in thread
From: Kees Cook @ 2017-10-16 22:59 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Jan Kara, Johannes Weiner, Vladimir Davydov, Matthew Wilcox,
	Jeff Layton, linux-mm, linux-kernel

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@linux-foundation.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Jeff Layton <jlayton@redhat.com>
Cc: linux-mm@kvack.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] writeback: Convert timers to use timer_setup()
  2017-10-16 22:59 ` Kees Cook
@ 2017-10-17  9:44   ` Jan Kara
  -1 siblings, 0 replies; 4+ messages in thread
From: Jan Kara @ 2017-10-17  9:44 UTC (permalink / raw)
  To: Kees Cook
  Cc: Andrew Morton, Jan Kara, Johannes Weiner, Vladimir Davydov,
	Matthew Wilcox, Jeff Layton, linux-mm, linux-kernel

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@linux-foundation.org>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
> Cc: Matthew Wilcox <mawilcox@microsoft.com>
> Cc: Jeff Layton <jlayton@redhat.com>
> Cc: linux-mm@kvack.org
> Signed-off-by: Kees Cook <keescook@chromium.org>

The patch looks good. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

								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@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] writeback: Convert timers to use timer_setup()
@ 2017-10-17  9:44   ` Jan Kara
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Kara @ 2017-10-17  9:44 UTC (permalink / raw)
  To: Kees Cook
  Cc: Andrew Morton, Jan Kara, Johannes Weiner, Vladimir Davydov,
	Matthew Wilcox, Jeff Layton, linux-mm, linux-kernel

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@linux-foundation.org>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
> Cc: Matthew Wilcox <mawilcox@microsoft.com>
> Cc: Jeff Layton <jlayton@redhat.com>
> Cc: linux-mm@kvack.org
> Signed-off-by: Kees Cook <keescook@chromium.org>

The patch looks good. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

								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@suse.com>
SUSE Labs, CR

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-10-17  9:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-16 22:59 [PATCH] writeback: Convert timers to use timer_setup() Kees Cook
2017-10-16 22:59 ` Kees Cook
2017-10-17  9:44 ` Jan Kara
2017-10-17  9:44   ` Jan Kara

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.