linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
@ 2019-07-01  0:40 Byungchul Park
  2019-07-01 20:12 ` Paul E. McKenney
  0 siblings, 1 reply; 5+ messages in thread
From: Byungchul Park @ 2019-07-01  0:40 UTC (permalink / raw)
  To: paulmck, josh, rostedt, mathieu.desnoyers, jiangshanlai, joel, rcu
  Cc: linux-kernel, kernel-team

Hello,

I tested again if the WARN_ON_ONCE() is fired with my box.

And it was OK.

Thanks,
Byungchul

Changes from v2
-. Port the patch to a1af11a24cb0 (Paul's request)
-. Add a few new lines for a better look

Changes from v1
-. WARN_ON_ONCE() on failing to create rcu_boost_kthread.
-. Changed title and commit message a bit.

---8<---
From 20c934c5657a7a0f13ebb050ffd350d4174965d0 Mon Sep 17 00:00:00 2001
From: Byungchul Park <byungchul.park@lge.com>
Date: Mon, 1 Jul 2019 09:27:15 +0900
Subject: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()

The return value of rcu_spawn_one_boost_kthread() is not used any
longer. Change return type of that function from int to void.

Signed-off-by: Byungchul Park <byungchul.park@lge.com>
---
 kernel/rcu/tree_plugin.h | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index c588ef9..b8eea22 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -1119,7 +1119,7 @@ static void rcu_preempt_boost_start_gp(struct rcu_node *rnp)
  * already exist.  We only create this kthread for preemptible RCU.
  * Returns zero if all is well, a negated errno otherwise.
  */
-static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
+static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
 {
 	int rnp_index = rnp - rcu_get_root();
 	unsigned long flags;
@@ -1127,25 +1127,27 @@ static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
 	struct task_struct *t;
 
 	if (!IS_ENABLED(CONFIG_PREEMPT_RCU))
-		return 0;
+		return;
 
 	if (!rcu_scheduler_fully_active || rcu_rnp_online_cpus(rnp) == 0)
-		return 0;
+		return;
 
 	rcu_state.boost = 1;
+
 	if (rnp->boost_kthread_task != NULL)
-		return 0;
+		return;
+
 	t = kthread_create(rcu_boost_kthread, (void *)rnp,
 			   "rcub/%d", rnp_index);
-	if (IS_ERR(t))
-		return PTR_ERR(t);
+	if (WARN_ON_ONCE(IS_ERR(t)))
+		return;
+
 	raw_spin_lock_irqsave_rcu_node(rnp, flags);
 	rnp->boost_kthread_task = t;
 	raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
 	sp.sched_priority = kthread_prio;
 	sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
 	wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */
-	return 0;
 }
 
 /*
@@ -1186,7 +1188,7 @@ static void __init rcu_spawn_boost_kthreads(void)
 	struct rcu_node *rnp;
 
 	rcu_for_each_leaf_node(rnp)
-		(void)rcu_spawn_one_boost_kthread(rnp);
+		rcu_spawn_one_boost_kthread(rnp);
 }
 
 static void rcu_prepare_kthreads(int cpu)
@@ -1196,7 +1198,7 @@ static void rcu_prepare_kthreads(int cpu)
 
 	/* Fire up the incoming CPU's kthread and leaf rcu_node kthread. */
 	if (rcu_scheduler_fully_active)
-		(void)rcu_spawn_one_boost_kthread(rnp);
+		rcu_spawn_one_boost_kthread(rnp);
 }
 
 #else /* #ifdef CONFIG_RCU_BOOST */
-- 
1.9.1


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

* Re: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
  2019-07-01  0:40 [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread() Byungchul Park
@ 2019-07-01 20:12 ` Paul E. McKenney
  2019-07-02  5:11   ` Byungchul Park
  0 siblings, 1 reply; 5+ messages in thread
From: Paul E. McKenney @ 2019-07-01 20:12 UTC (permalink / raw)
  To: Byungchul Park
  Cc: josh, rostedt, mathieu.desnoyers, jiangshanlai, joel, rcu,
	linux-kernel, kernel-team

On Mon, Jul 01, 2019 at 09:40:39AM +0900, Byungchul Park wrote:
> Hello,
> 
> I tested again if the WARN_ON_ONCE() is fired with my box.
> 
> And it was OK.
> 
> Thanks,
> Byungchul

And it now applies just fine, so I have queued it, thank you!

In the future, could you please use something like "git send-email"
to email a proper patch?  When you do it this way, after I do "git am",
I have to hand-edit the commit to remove this preamble.

But while I was doing the hand-editing, I updated the commit log as
follows:

	rcu: Change return type of rcu_spawn_one_boost_kthread()

	The return value of rcu_spawn_one_boost_kthread() is not used
	any longer.  This commit therefore changes its return type from
	int to void, and removes the cast to void from its callers.

Does that work for you?

						Thanx, Paul

> Changes from v2
> -. Port the patch to a1af11a24cb0 (Paul's request)
> -. Add a few new lines for a better look
> 
> Changes from v1
> -. WARN_ON_ONCE() on failing to create rcu_boost_kthread.
> -. Changed title and commit message a bit.
> 
> ---8<---
> >From 20c934c5657a7a0f13ebb050ffd350d4174965d0 Mon Sep 17 00:00:00 2001
> From: Byungchul Park <byungchul.park@lge.com>
> Date: Mon, 1 Jul 2019 09:27:15 +0900
> Subject: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
> 
> The return value of rcu_spawn_one_boost_kthread() is not used any
> longer. Change return type of that function from int to void.
> 
> Signed-off-by: Byungchul Park <byungchul.park@lge.com>
> ---
>  kernel/rcu/tree_plugin.h | 20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> index c588ef9..b8eea22 100644
> --- a/kernel/rcu/tree_plugin.h
> +++ b/kernel/rcu/tree_plugin.h
> @@ -1119,7 +1119,7 @@ static void rcu_preempt_boost_start_gp(struct rcu_node *rnp)
>   * already exist.  We only create this kthread for preemptible RCU.
>   * Returns zero if all is well, a negated errno otherwise.
>   */
> -static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> +static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
>  {
>  	int rnp_index = rnp - rcu_get_root();
>  	unsigned long flags;
> @@ -1127,25 +1127,27 @@ static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
>  	struct task_struct *t;
>  
>  	if (!IS_ENABLED(CONFIG_PREEMPT_RCU))
> -		return 0;
> +		return;
>  
>  	if (!rcu_scheduler_fully_active || rcu_rnp_online_cpus(rnp) == 0)
> -		return 0;
> +		return;
>  
>  	rcu_state.boost = 1;
> +
>  	if (rnp->boost_kthread_task != NULL)
> -		return 0;
> +		return;
> +
>  	t = kthread_create(rcu_boost_kthread, (void *)rnp,
>  			   "rcub/%d", rnp_index);
> -	if (IS_ERR(t))
> -		return PTR_ERR(t);
> +	if (WARN_ON_ONCE(IS_ERR(t)))
> +		return;
> +
>  	raw_spin_lock_irqsave_rcu_node(rnp, flags);
>  	rnp->boost_kthread_task = t;
>  	raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
>  	sp.sched_priority = kthread_prio;
>  	sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
>  	wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */
> -	return 0;
>  }
>  
>  /*
> @@ -1186,7 +1188,7 @@ static void __init rcu_spawn_boost_kthreads(void)
>  	struct rcu_node *rnp;
>  
>  	rcu_for_each_leaf_node(rnp)
> -		(void)rcu_spawn_one_boost_kthread(rnp);
> +		rcu_spawn_one_boost_kthread(rnp);
>  }
>  
>  static void rcu_prepare_kthreads(int cpu)
> @@ -1196,7 +1198,7 @@ static void rcu_prepare_kthreads(int cpu)
>  
>  	/* Fire up the incoming CPU's kthread and leaf rcu_node kthread. */
>  	if (rcu_scheduler_fully_active)
> -		(void)rcu_spawn_one_boost_kthread(rnp);
> +		rcu_spawn_one_boost_kthread(rnp);
>  }
>  
>  #else /* #ifdef CONFIG_RCU_BOOST */
> -- 
> 1.9.1
> 


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

* Re: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
  2019-07-01 20:12 ` Paul E. McKenney
@ 2019-07-02  5:11   ` Byungchul Park
  2019-07-02  8:45     ` Paul E. McKenney
  0 siblings, 1 reply; 5+ messages in thread
From: Byungchul Park @ 2019-07-02  5:11 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: josh, rostedt, mathieu.desnoyers, jiangshanlai, joel, rcu,
	linux-kernel, kernel-team

On Mon, Jul 01, 2019 at 01:12:16PM -0700, Paul E. McKenney wrote:
> On Mon, Jul 01, 2019 at 09:40:39AM +0900, Byungchul Park wrote:
> > Hello,
> > 
> > I tested again if the WARN_ON_ONCE() is fired with my box.
> > 
> > And it was OK.
> > 
> > Thanks,
> > Byungchul
> 
> And it now applies just fine, so I have queued it, thank you!
> 
> In the future, could you please use something like "git send-email"
> to email a proper patch?  When you do it this way, after I do "git am",
> I have to hand-edit the commit to remove this preamble.

Oh! Sorry to hear that. I've been always using "git send-email" with
scissors in the body expecting you do "git am -c". Do you mean it's not
a good way, right? I won't use the scissors again.

> But while I was doing the hand-editing, I updated the commit log as
> follows:
> 
> 	rcu: Change return type of rcu_spawn_one_boost_kthread()
> 
> 	The return value of rcu_spawn_one_boost_kthread() is not used
> 	any longer.  This commit therefore changes its return type from
> 	int to void, and removes the cast to void from its callers.
> 
> Does that work for you?

Sure. Thank you.

Thanks,
Byungchul

> 						Thanx, Paul
> 
> > Changes from v2
> > -. Port the patch to a1af11a24cb0 (Paul's request)
> > -. Add a few new lines for a better look
> > 
> > Changes from v1
> > -. WARN_ON_ONCE() on failing to create rcu_boost_kthread.
> > -. Changed title and commit message a bit.
> > 
> > ---8<---
> > >From 20c934c5657a7a0f13ebb050ffd350d4174965d0 Mon Sep 17 00:00:00 2001
> > From: Byungchul Park <byungchul.park@lge.com>
> > Date: Mon, 1 Jul 2019 09:27:15 +0900
> > Subject: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
> > 
> > The return value of rcu_spawn_one_boost_kthread() is not used any
> > longer. Change return type of that function from int to void.
> > 
> > Signed-off-by: Byungchul Park <byungchul.park@lge.com>
> > ---
> >  kernel/rcu/tree_plugin.h | 20 +++++++++++---------
> >  1 file changed, 11 insertions(+), 9 deletions(-)
> > 
> > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> > index c588ef9..b8eea22 100644
> > --- a/kernel/rcu/tree_plugin.h
> > +++ b/kernel/rcu/tree_plugin.h
> > @@ -1119,7 +1119,7 @@ static void rcu_preempt_boost_start_gp(struct rcu_node *rnp)
> >   * already exist.  We only create this kthread for preemptible RCU.
> >   * Returns zero if all is well, a negated errno otherwise.
> >   */
> > -static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> > +static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> >  {
> >  	int rnp_index = rnp - rcu_get_root();
> >  	unsigned long flags;
> > @@ -1127,25 +1127,27 @@ static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> >  	struct task_struct *t;
> >  
> >  	if (!IS_ENABLED(CONFIG_PREEMPT_RCU))
> > -		return 0;
> > +		return;
> >  
> >  	if (!rcu_scheduler_fully_active || rcu_rnp_online_cpus(rnp) == 0)
> > -		return 0;
> > +		return;
> >  
> >  	rcu_state.boost = 1;
> > +
> >  	if (rnp->boost_kthread_task != NULL)
> > -		return 0;
> > +		return;
> > +
> >  	t = kthread_create(rcu_boost_kthread, (void *)rnp,
> >  			   "rcub/%d", rnp_index);
> > -	if (IS_ERR(t))
> > -		return PTR_ERR(t);
> > +	if (WARN_ON_ONCE(IS_ERR(t)))
> > +		return;
> > +
> >  	raw_spin_lock_irqsave_rcu_node(rnp, flags);
> >  	rnp->boost_kthread_task = t;
> >  	raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
> >  	sp.sched_priority = kthread_prio;
> >  	sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
> >  	wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */
> > -	return 0;
> >  }
> >  
> >  /*
> > @@ -1186,7 +1188,7 @@ static void __init rcu_spawn_boost_kthreads(void)
> >  	struct rcu_node *rnp;
> >  
> >  	rcu_for_each_leaf_node(rnp)
> > -		(void)rcu_spawn_one_boost_kthread(rnp);
> > +		rcu_spawn_one_boost_kthread(rnp);
> >  }
> >  
> >  static void rcu_prepare_kthreads(int cpu)
> > @@ -1196,7 +1198,7 @@ static void rcu_prepare_kthreads(int cpu)
> >  
> >  	/* Fire up the incoming CPU's kthread and leaf rcu_node kthread. */
> >  	if (rcu_scheduler_fully_active)
> > -		(void)rcu_spawn_one_boost_kthread(rnp);
> > +		rcu_spawn_one_boost_kthread(rnp);
> >  }
> >  
> >  #else /* #ifdef CONFIG_RCU_BOOST */
> > -- 
> > 1.9.1
> > 

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

* Re: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
  2019-07-02  5:11   ` Byungchul Park
@ 2019-07-02  8:45     ` Paul E. McKenney
  2019-07-02  8:55       ` Byungchul Park
  0 siblings, 1 reply; 5+ messages in thread
From: Paul E. McKenney @ 2019-07-02  8:45 UTC (permalink / raw)
  To: Byungchul Park
  Cc: josh, rostedt, mathieu.desnoyers, jiangshanlai, joel, rcu,
	linux-kernel, kernel-team

On Tue, Jul 02, 2019 at 02:11:03PM +0900, Byungchul Park wrote:
> On Mon, Jul 01, 2019 at 01:12:16PM -0700, Paul E. McKenney wrote:
> > On Mon, Jul 01, 2019 at 09:40:39AM +0900, Byungchul Park wrote:
> > > Hello,
> > > 
> > > I tested again if the WARN_ON_ONCE() is fired with my box.
> > > 
> > > And it was OK.
> > > 
> > > Thanks,
> > > Byungchul
> > 
> > And it now applies just fine, so I have queued it, thank you!
> > 
> > In the future, could you please use something like "git send-email"
> > to email a proper patch?  When you do it this way, after I do "git am",
> > I have to hand-edit the commit to remove this preamble.
> 
> Oh! Sorry to hear that. I've been always using "git send-email" with
> scissors in the body expecting you do "git am -c". Do you mean it's not
> a good way, right? I won't use the scissors again.

Ah.  First I have heard of the "-c" argument to "git am".  OK, now that
I know, feel free to continue sending me scissored patches, and thank
you for calling my attention to this feature!

Actually, I just updated my git config to make "-c" the default.  That
way I don't have to remember.  ;-)

							Thanx, Paul

> > But while I was doing the hand-editing, I updated the commit log as
> > follows:
> > 
> > 	rcu: Change return type of rcu_spawn_one_boost_kthread()
> > 
> > 	The return value of rcu_spawn_one_boost_kthread() is not used
> > 	any longer.  This commit therefore changes its return type from
> > 	int to void, and removes the cast to void from its callers.
> > 
> > Does that work for you?
> 
> Sure. Thank you.
> 
> Thanks,
> Byungchul
> 
> > 						Thanx, Paul
> > 
> > > Changes from v2
> > > -. Port the patch to a1af11a24cb0 (Paul's request)
> > > -. Add a few new lines for a better look
> > > 
> > > Changes from v1
> > > -. WARN_ON_ONCE() on failing to create rcu_boost_kthread.
> > > -. Changed title and commit message a bit.
> > > 
> > > ---8<---
> > > >From 20c934c5657a7a0f13ebb050ffd350d4174965d0 Mon Sep 17 00:00:00 2001
> > > From: Byungchul Park <byungchul.park@lge.com>
> > > Date: Mon, 1 Jul 2019 09:27:15 +0900
> > > Subject: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
> > > 
> > > The return value of rcu_spawn_one_boost_kthread() is not used any
> > > longer. Change return type of that function from int to void.
> > > 
> > > Signed-off-by: Byungchul Park <byungchul.park@lge.com>
> > > ---
> > >  kernel/rcu/tree_plugin.h | 20 +++++++++++---------
> > >  1 file changed, 11 insertions(+), 9 deletions(-)
> > > 
> > > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> > > index c588ef9..b8eea22 100644
> > > --- a/kernel/rcu/tree_plugin.h
> > > +++ b/kernel/rcu/tree_plugin.h
> > > @@ -1119,7 +1119,7 @@ static void rcu_preempt_boost_start_gp(struct rcu_node *rnp)
> > >   * already exist.  We only create this kthread for preemptible RCU.
> > >   * Returns zero if all is well, a negated errno otherwise.
> > >   */
> > > -static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> > > +static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> > >  {
> > >  	int rnp_index = rnp - rcu_get_root();
> > >  	unsigned long flags;
> > > @@ -1127,25 +1127,27 @@ static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> > >  	struct task_struct *t;
> > >  
> > >  	if (!IS_ENABLED(CONFIG_PREEMPT_RCU))
> > > -		return 0;
> > > +		return;
> > >  
> > >  	if (!rcu_scheduler_fully_active || rcu_rnp_online_cpus(rnp) == 0)
> > > -		return 0;
> > > +		return;
> > >  
> > >  	rcu_state.boost = 1;
> > > +
> > >  	if (rnp->boost_kthread_task != NULL)
> > > -		return 0;
> > > +		return;
> > > +
> > >  	t = kthread_create(rcu_boost_kthread, (void *)rnp,
> > >  			   "rcub/%d", rnp_index);
> > > -	if (IS_ERR(t))
> > > -		return PTR_ERR(t);
> > > +	if (WARN_ON_ONCE(IS_ERR(t)))
> > > +		return;
> > > +
> > >  	raw_spin_lock_irqsave_rcu_node(rnp, flags);
> > >  	rnp->boost_kthread_task = t;
> > >  	raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
> > >  	sp.sched_priority = kthread_prio;
> > >  	sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
> > >  	wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */
> > > -	return 0;
> > >  }
> > >  
> > >  /*
> > > @@ -1186,7 +1188,7 @@ static void __init rcu_spawn_boost_kthreads(void)
> > >  	struct rcu_node *rnp;
> > >  
> > >  	rcu_for_each_leaf_node(rnp)
> > > -		(void)rcu_spawn_one_boost_kthread(rnp);
> > > +		rcu_spawn_one_boost_kthread(rnp);
> > >  }
> > >  
> > >  static void rcu_prepare_kthreads(int cpu)
> > > @@ -1196,7 +1198,7 @@ static void rcu_prepare_kthreads(int cpu)
> > >  
> > >  	/* Fire up the incoming CPU's kthread and leaf rcu_node kthread. */
> > >  	if (rcu_scheduler_fully_active)
> > > -		(void)rcu_spawn_one_boost_kthread(rnp);
> > > +		rcu_spawn_one_boost_kthread(rnp);
> > >  }
> > >  
> > >  #else /* #ifdef CONFIG_RCU_BOOST */
> > > -- 
> > > 1.9.1
> > > 
> 

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

* Re: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
  2019-07-02  8:45     ` Paul E. McKenney
@ 2019-07-02  8:55       ` Byungchul Park
  0 siblings, 0 replies; 5+ messages in thread
From: Byungchul Park @ 2019-07-02  8:55 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: josh, rostedt, mathieu.desnoyers, jiangshanlai, joel, rcu,
	linux-kernel, kernel-team

On Tue, Jul 02, 2019 at 01:45:02AM -0700, Paul E. McKenney wrote:
> On Tue, Jul 02, 2019 at 02:11:03PM +0900, Byungchul Park wrote:
> > On Mon, Jul 01, 2019 at 01:12:16PM -0700, Paul E. McKenney wrote:
> > > On Mon, Jul 01, 2019 at 09:40:39AM +0900, Byungchul Park wrote:
> > > > Hello,
> > > > 
> > > > I tested again if the WARN_ON_ONCE() is fired with my box.
> > > > 
> > > > And it was OK.
> > > > 
> > > > Thanks,
> > > > Byungchul
> > > 
> > > And it now applies just fine, so I have queued it, thank you!
> > > 
> > > In the future, could you please use something like "git send-email"
> > > to email a proper patch?  When you do it this way, after I do "git am",
> > > I have to hand-edit the commit to remove this preamble.
> > 
> > Oh! Sorry to hear that. I've been always using "git send-email" with
> > scissors in the body expecting you do "git am -c". Do you mean it's not
> > a good way, right? I won't use the scissors again.
> 
> Ah.  First I have heard of the "-c" argument to "git am".  OK, now that
> I know, feel free to continue sending me scissored patches, and thank
> you for calling my attention to this feature!
> 
> Actually, I just updated my git config to make "-c" the default.  That
> way I don't have to remember.  ;-)

OK! Haha~ Thank you!

Thanks,
Byungchul

> 
> 							Thanx, Paul
> 
> > > But while I was doing the hand-editing, I updated the commit log as
> > > follows:
> > > 
> > > 	rcu: Change return type of rcu_spawn_one_boost_kthread()
> > > 
> > > 	The return value of rcu_spawn_one_boost_kthread() is not used
> > > 	any longer.  This commit therefore changes its return type from
> > > 	int to void, and removes the cast to void from its callers.
> > > 
> > > Does that work for you?
> > 
> > Sure. Thank you.
> > 
> > Thanks,
> > Byungchul
> > 
> > > 						Thanx, Paul
> > > 
> > > > Changes from v2
> > > > -. Port the patch to a1af11a24cb0 (Paul's request)
> > > > -. Add a few new lines for a better look
> > > > 
> > > > Changes from v1
> > > > -. WARN_ON_ONCE() on failing to create rcu_boost_kthread.
> > > > -. Changed title and commit message a bit.
> > > > 
> > > > ---8<---
> > > > >From 20c934c5657a7a0f13ebb050ffd350d4174965d0 Mon Sep 17 00:00:00 2001
> > > > From: Byungchul Park <byungchul.park@lge.com>
> > > > Date: Mon, 1 Jul 2019 09:27:15 +0900
> > > > Subject: [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread()
> > > > 
> > > > The return value of rcu_spawn_one_boost_kthread() is not used any
> > > > longer. Change return type of that function from int to void.
> > > > 
> > > > Signed-off-by: Byungchul Park <byungchul.park@lge.com>
> > > > ---
> > > >  kernel/rcu/tree_plugin.h | 20 +++++++++++---------
> > > >  1 file changed, 11 insertions(+), 9 deletions(-)
> > > > 
> > > > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> > > > index c588ef9..b8eea22 100644
> > > > --- a/kernel/rcu/tree_plugin.h
> > > > +++ b/kernel/rcu/tree_plugin.h
> > > > @@ -1119,7 +1119,7 @@ static void rcu_preempt_boost_start_gp(struct rcu_node *rnp)
> > > >   * already exist.  We only create this kthread for preemptible RCU.
> > > >   * Returns zero if all is well, a negated errno otherwise.
> > > >   */
> > > > -static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> > > > +static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> > > >  {
> > > >  	int rnp_index = rnp - rcu_get_root();
> > > >  	unsigned long flags;
> > > > @@ -1127,25 +1127,27 @@ static int rcu_spawn_one_boost_kthread(struct rcu_node *rnp)
> > > >  	struct task_struct *t;
> > > >  
> > > >  	if (!IS_ENABLED(CONFIG_PREEMPT_RCU))
> > > > -		return 0;
> > > > +		return;
> > > >  
> > > >  	if (!rcu_scheduler_fully_active || rcu_rnp_online_cpus(rnp) == 0)
> > > > -		return 0;
> > > > +		return;
> > > >  
> > > >  	rcu_state.boost = 1;
> > > > +
> > > >  	if (rnp->boost_kthread_task != NULL)
> > > > -		return 0;
> > > > +		return;
> > > > +
> > > >  	t = kthread_create(rcu_boost_kthread, (void *)rnp,
> > > >  			   "rcub/%d", rnp_index);
> > > > -	if (IS_ERR(t))
> > > > -		return PTR_ERR(t);
> > > > +	if (WARN_ON_ONCE(IS_ERR(t)))
> > > > +		return;
> > > > +
> > > >  	raw_spin_lock_irqsave_rcu_node(rnp, flags);
> > > >  	rnp->boost_kthread_task = t;
> > > >  	raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
> > > >  	sp.sched_priority = kthread_prio;
> > > >  	sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
> > > >  	wake_up_process(t); /* get to TASK_INTERRUPTIBLE quickly. */
> > > > -	return 0;
> > > >  }
> > > >  
> > > >  /*
> > > > @@ -1186,7 +1188,7 @@ static void __init rcu_spawn_boost_kthreads(void)
> > > >  	struct rcu_node *rnp;
> > > >  
> > > >  	rcu_for_each_leaf_node(rnp)
> > > > -		(void)rcu_spawn_one_boost_kthread(rnp);
> > > > +		rcu_spawn_one_boost_kthread(rnp);
> > > >  }
> > > >  
> > > >  static void rcu_prepare_kthreads(int cpu)
> > > > @@ -1196,7 +1198,7 @@ static void rcu_prepare_kthreads(int cpu)
> > > >  
> > > >  	/* Fire up the incoming CPU's kthread and leaf rcu_node kthread. */
> > > >  	if (rcu_scheduler_fully_active)
> > > > -		(void)rcu_spawn_one_boost_kthread(rnp);
> > > > +		rcu_spawn_one_boost_kthread(rnp);
> > > >  }
> > > >  
> > > >  #else /* #ifdef CONFIG_RCU_BOOST */
> > > > -- 
> > > > 1.9.1
> > > > 
> > 

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

end of thread, other threads:[~2019-07-02  8:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-01  0:40 [PATCH v3] rcu: Change return type of rcu_spawn_one_boost_kthread() Byungchul Park
2019-07-01 20:12 ` Paul E. McKenney
2019-07-02  5:11   ` Byungchul Park
2019-07-02  8:45     ` Paul E. McKenney
2019-07-02  8:55       ` Byungchul Park

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).