Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1484490 > unrolled thread

[PATCH 4/7] power, workqueue: remove keventd_up() usage

Started byTejun Heo <tj@kernel.org>
First post2016-09-15 21:40 +0200
Last post2016-09-16 02:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 4/7] power, workqueue: remove keventd_up() usage Tejun Heo <tj@kernel.org> - 2016-09-15 21:40 +0200
    Re: [PATCH 4/7] power, workqueue: remove keventd_up() usage "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> - 2016-09-16 02:00 +0200

#1484490 — [PATCH 4/7] power, workqueue: remove keventd_up() usage

FromTejun Heo <tj@kernel.org>
Date2016-09-15 21:40 +0200
Subject[PATCH 4/7] power, workqueue: remove keventd_up() usage
Message-ID<shKFP-2IM-3@gated-at.bofh.it>
Now that workqueue can handle work item queueing/cancelling from very
early during boot, there is no need to gate cancel_delayed_work_sync()
while !keventd_up().  Remove it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Qiao Zhou <qiaozhou@asrmicro.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
Hello,

This change depends on an earlier workqueue patch and is followed by a
patch to remove keventd_up().  It'd be great if it can be routed
through the wq/for-4.9 branch.

Thanks.

 kernel/power/qos.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/kernel/power/qos.c b/kernel/power/qos.c
index 168ff44..97b0df7 100644
--- a/kernel/power/qos.c
+++ b/kernel/power/qos.c
@@ -482,16 +482,7 @@ void pm_qos_update_request(struct pm_qos_request *req,
 		return;
 	}
 
-	/*
-	 * This function may be called very early during boot, for example,
-	 * from of_clk_init(), where irq needs to stay disabled.
-	 * cancel_delayed_work_sync() assumes that irq is enabled on
-	 * invocation and re-enables it on return.  Avoid calling it until
-	 * workqueue is initialized.
-	 */
-	if (keventd_up())
-		cancel_delayed_work_sync(&req->work);
-
+	cancel_delayed_work_sync(&req->work);
 	__pm_qos_update_request(req, new_value);
 }
 EXPORT_SYMBOL_GPL(pm_qos_update_request);
-- 
2.7.4

[toc] | [next] | [standalone]


#1484626

From"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Date2016-09-16 02:00 +0200
Message-ID<shOJs-5d5-5@gated-at.bofh.it>
In reply to#1484490
On 9/15/2016 9:30 PM, Tejun Heo wrote:
> Now that workqueue can handle work item queueing/cancelling from very
> early during boot, there is no need to gate cancel_delayed_work_sync()
> while !keventd_up().  Remove it.
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Cc: Qiao Zhou <qiaozhou@asrmicro.com>
> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
> Hello,
>
> This change depends on an earlier workqueue patch and is followed by a
> patch to remove keventd_up().  It'd be great if it can be routed
> through the wq/for-4.9 branch.

I don't see any problems with that.

Please feel free to add my ACK to the patch if necessary/useful.

Thanks,
Rafael


>   kernel/power/qos.c | 11 +----------
>   1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/kernel/power/qos.c b/kernel/power/qos.c
> index 168ff44..97b0df7 100644
> --- a/kernel/power/qos.c
> +++ b/kernel/power/qos.c
> @@ -482,16 +482,7 @@ void pm_qos_update_request(struct pm_qos_request *req,
>   		return;
>   	}
>   
> -	/*
> -	 * This function may be called very early during boot, for example,
> -	 * from of_clk_init(), where irq needs to stay disabled.
> -	 * cancel_delayed_work_sync() assumes that irq is enabled on
> -	 * invocation and re-enables it on return.  Avoid calling it until
> -	 * workqueue is initialized.
> -	 */
> -	if (keventd_up())
> -		cancel_delayed_work_sync(&req->work);
> -
> +	cancel_delayed_work_sync(&req->work);
>   	__pm_qos_update_request(req, new_value);
>   }
>   EXPORT_SYMBOL_GPL(pm_qos_update_request);

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web