Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752821AbbGADvx (ORCPT ); Tue, 30 Jun 2015 23:51:53 -0400 Received: from mail-vn0-f43.google.com ([209.85.216.43]:40562 "EHLO mail-vn0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751643AbbGADvs (ORCPT ); Tue, 30 Jun 2015 23:51:48 -0400 MIME-Version: 1.0 In-Reply-To: <1435718938-19088-1-git-send-email-cleaneye.kim@lge.com> References: <1435718938-19088-1-git-send-email-cleaneye.kim@lge.com> Date: Wed, 1 Jul 2015 12:51:47 +0900 X-Google-Sender-Auth: uyjdcXXe4Pcp6sbQCDta9-gxiqs Message-ID: Subject: Re: [PATCH] PM / Sleep: Use workqueue for user space wakeup sources garbage collector From: Krzysztof Kozlowski To: SungEun Kim Cc: rjw@rjwysocki.net, pavel@ucw.cz, len.brown@intel.com, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2728 Lines: 82 2015-07-01 11:48 GMT+09:00 SungEun Kim : > From: "cleaeye.kim" > > The synchronous synchronize_rcu in wakeup_source_remove makes user process > which writes to /sys/kernel/wake_unlock blocked sometimes. > > For example, when android eventhub tries to release wakelock, > this blocking process can occur, and eventhub can't get input event > for a while. > > Using workqueue instead of direct function call at pm_wake_unlock > can prevent this unnecessary delay of an user space process. > > Signed-off-by: cleaeye.kim Hi, You send this patch for third time, without changelog and any versioning. The signed-off and from fields look incorrect (no real name?). What is more important I have doubts that it even compiles (see below). Could you follow the Documentation/SubmittingPatches? > --- > kernel/power/wakelock.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/kernel/power/wakelock.c b/kernel/power/wakelock.c > index 019069c..ea10baa 100644 > --- a/kernel/power/wakelock.c > +++ b/kernel/power/wakelock.c > @@ -17,6 +17,7 @@ > #include > #include > #include > +#include > > #include "power.h" > > @@ -96,7 +97,7 @@ static inline void wakelocks_lru_most_recent(struct wakelock *wl) > list_move(&wl->lru, &wakelocks_lru_list); > } > > -static void wakelocks_gc(void) > +static void wakelocks_gc(struct work_struct *work) > { > struct wakelock *wl, *aux; > ktime_t now; > @@ -105,6 +106,7 @@ static void wakelocks_gc(void) > return; > > now = ktime_get(); > + mutex_lock(&wakelocks_lock); > list_for_each_entry_safe_reverse(wl, aux, &wakelocks_lru_list, lru) { > u64 idle_time_ns; > bool active; > @@ -126,12 +128,15 @@ static void wakelocks_gc(void) > decrement_wakelocks_number(); > } > } > + mutex_unlock(&wakelocks_lock); > wakelocks_gc_count = 0; > } > + > +static DECLARE_WORK(wakelock_work, wakelocks_gc); > #else /* !CONFIG_PM_WAKELOCKS_GC */ > static inline void wakelocks_lru_add(struct wakelock *wl) {} > static inline void wakelocks_lru_most_recent(struct wakelock *wl) {} > -static inline void wakelocks_gc(void) {} > +static void wakelocks_gc(struct worksturct) {} worksturct? Does it compile? Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/