From patchwork Thu Sep 28 07:33:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Nazzareno Trimarchi X-Patchwork-Id: 9975419 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 421326034B for ; Thu, 28 Sep 2017 07:33:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 31E17294CD for ; Thu, 28 Sep 2017 07:33:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 267BD294CF; Thu, 28 Sep 2017 07:33:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.4 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3279C294CD for ; Thu, 28 Sep 2017 07:33:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751917AbdI1HdL (ORCPT ); Thu, 28 Sep 2017 03:33:11 -0400 Received: from mail-wr0-f176.google.com ([209.85.128.176]:53497 "EHLO mail-wr0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751916AbdI1HdK (ORCPT ); Thu, 28 Sep 2017 03:33:10 -0400 Received: by mail-wr0-f176.google.com with SMTP id 54so1030540wrz.10 for ; Thu, 28 Sep 2017 00:33:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=Vn6sce2OdyYHP+gdfKTY4wi3XWrbACiRjnHStAqpZ2s=; b=cwpNKvZrcFqgPJYvuRzzS9UKi9RiwzIK6Si+ubXjaYQGoMxXWQn+m7NXLFKh52QwWt Z1HV/o8nwI2zdwuhRF0YNr/8Zld49sIjH9etsFozqtgigQ/UUqGdeif8xwPDGn/w5EO/ KTEtGGGA0Jr4qU5Bjis9NgOOkr6uNUmr48yFNpJkm1OU08xyEad03nkP6pG8+ajiGFpl zSJC8/9gLiWuLbcL6v0fjE+OYg5FWmhQmUiF784NocUdGml3oYK5Ro0E8+wA1oj0tUKO 4SNJWY0VL3+xexrX4hF+fNqfLnDK9JZ5XSXxgDntyebhGvoIQ4smufv6EyJdhQ69KSTA fErQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Vn6sce2OdyYHP+gdfKTY4wi3XWrbACiRjnHStAqpZ2s=; b=PnFvTGUFyN4vGsrDARJm+Gde2XtyQdUnwi16MdzG+X3bzyagvoK9K2Nua1mcPAgH/A rQNv3v4ZfFq9w85DmWNJlzOx6f/Hd5untIopQ0IR4ksZqpPgdyrNfq/sHFQ2Ey+ZBgo+ qsHRAxpHypI0YcroytLXYUl+7OZQ99n0jGAt9d9b0FZ8u4r8dljHFz2NB3coVjljFwJe N1qu+WbCbRHcd+w8LvEYY08BZoZpuwBLp9Uf9prdDuA5m0n6K4gm4P1zax7QwaP1bntW VwDaUEARoy6Fm8DxIrSDibrGzxb4KGL3kGbqssh+p8+BFsXBRtkAcP8lq0fZi1K3H52a CNiw== X-Gm-Message-State: AHPjjUhOHzopaRNzIorSEEVq1TL80pKDGigKNP9QZVNXTXJpB8KzD/8W eSesMfvfT6rkPpZLfcdL03BwQAoYY1w= X-Google-Smtp-Source: AOwi7QBXRl7aTEBUelB2CIz9ifZu7R9jBU13TJmK/zrkMkd63rBHSgEfm2Oczpcio41DeRuLGgL2Qw== X-Received: by 10.223.161.212 with SMTP id v20mr3964294wrv.195.1506583988935; Thu, 28 Sep 2017 00:33:08 -0700 (PDT) Received: from panicking.homenet.telecomitalia.it (host211-95-static.0-79-b.business.telecomitalia.it. [79.0.95.211]) by smtp.gmail.com with ESMTPSA id u35sm1365507wrf.81.2017.09.28.00.33.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 28 Sep 2017 00:33:08 -0700 (PDT) From: Michael Trimarchi To: Sebastian Reichel Cc: linux-pm@vger.kernel.org, michael@amarulasolutions.com Subject: [RFC] power: supply: Use system freezable queue for power supply change event Date: Thu, 28 Sep 2017 09:33:06 +0200 Message-Id: <1506583986-4527-1-git-send-email-michael@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP I don't find so much change in power_supply_change work and even this happen in kernel 3.4 I don't find reason why we need to queue on a system_wq. <4>[13502.656095] [] (sbs_read_word_data+0x0/0x70) from [] (sbs_set_battery_mode+0x24/0x6c) <4>[13502.656095] r6:d79b0800 r5:d7123408 r4:00000001 r3:c04194ac <4>[13502.656125] [] (sbs_set_battery_mode+0x0/0x6c) from [] (sbs_get_property+0x180/0x6e4) <4>[13502.656125] r6:0000001b r5:d7123408 r4:d79b0800 r3:c04194ac <4>[13502.656156] [] (sbs_get_property+0x0/0x6e4) from [] (power_supply_show_property+0x4c/0x1c8) <4>[13502.656186] [] (power_supply_show_property+0x0/0x1c8) from [] (power_supply_uevent+0xa8/0x1d4) <4>[13502.656186] r8:ca4b1000 r7:0000001b r6:d7123408 r5:0000000e r4:c068d3dc <4>[13502.656217] [] (power_supply_uevent+0x0/0x1d4) from [] (dev_uevent+0xc8/0x18c) <4>[13502.656247] [] (dev_uevent+0x0/0x18c) from [] (kobject_uevent_env+0x1d4/0x4c4) <4>[13502.656247] r7:d7882880 r6:00000000 r5:c069cda4 r4:00000002 <4>[13502.656278] [] (kobject_uevent_env+0x0/0x4c4) from [] (kobject_uevent+0x14/0x18) <4>[13502.656308] [] (kobject_uevent+0x0/0x18) from [] (power_supply_changed_work+0x94/0xb8) <4>[13502.656308] [] (power_supply_changed_work+0x0/0xb8) from [] (process_one_work+0x158/0x474) <4>[13502.656339] r7:c1ae9e00 r6:c1ae4880 r5:cc480000 r4:ce655e00 <4>[13502.656369] [] (process_one_work+0x0/0x474) from [] (worker_thread+0x144/0x324) <4>[13502.656369] [] (worker_thread+0x0/0x324) from [] (kthread+0x98/0xa4) <4>[13502.656400] [] (kthread+0x0/0xa4) from [] (do_exit+0x0/0x7c4) Signed-off-by: Michael Trimarchi --- drivers/power/supply/power_supply_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c index 1e0960b..27a458f 100644 --- a/drivers/power/supply/power_supply_core.c +++ b/drivers/power/supply/power_supply_core.c @@ -119,7 +119,7 @@ void power_supply_changed(struct power_supply *psy) psy->changed = true; pm_stay_awake(&psy->dev); spin_unlock_irqrestore(&psy->changed_lock, flags); - schedule_work(&psy->changed_work); + queue_work(system_freezable_wq, &psy->chaged_work); } EXPORT_SYMBOL_GPL(power_supply_changed);