Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3705126ybi; Sun, 2 Jun 2019 21:32:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqxcBjFP4a3qeD+rN2yTcwD6zYPqWNv5FRj0ley1M8RnhpYkrQYHyB/5CL2x+NTrYim6BkvB X-Received: by 2002:a17:902:724:: with SMTP id 33mr26987212pli.49.1559536358987; Sun, 02 Jun 2019 21:32:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559536358; cv=none; d=google.com; s=arc-20160816; b=rtBuBAGh8BcIqvbeUn+kotYNZ+POnedvUlOroBTYbBNengQuz7r6QxKENn+mjTGtcg mk9yN2wWAFc6h8X05xqCTg+SYGClKkZrnHnVIwDDVTA677bwECZyiYRSNzKO7hObo0nb KAuGDeY5r7W/ULmaPpIh2nyApGmJ2PhJK0cxWgYYVDtHof79XYj1pOeatKHk/MX7oO4N D9RNRLRdOti03/SQgliY4vSyL1CX51f9ODxN3lMOT5lu1y2/KZWpKazVfKbf9B3lcysM PyKSQN4/Q6buQn0DlcBdnnK2ehqx0GBDarVPBsTw4BXCOlptId6DI2+IQc5E4fUcsy0A zbmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dmarc-filter:dkim-signature:dkim-signature; bh=+2a/+dxiJ0mkr/oKr44330ASjm4ft0YZos7H4N9747g=; b=VYRa57mSt/ZkPfbSk6ev6xty5oWleJ6BlVXUB1KFE4/3iZlEuqZSaiTp9f0jseHo7E 33dEyF41/rMcW4f6c1biRoQjAc+V9kmE3VUlqX1Y2YGK9rIzWfBqz+k7KcZ0nFuUL9E5 1zvUv1JuPdK32JQccB7Jsxxj3aeLFwOagwp3mckBYRijOSXxEdvh5garCct/6TgqMsIn MyCvu8pmMvD7rQQB40d4rsnEbpqUizg+HoGudN57Wrf2ZYxqnGP4yyiYYNAn2AmtjLjn KckPn9NZ4qOcLkqYJG9iTE80DIR+rfmzSgxEcHjh3ZKPXpkVQLqFfLTwPIa3belVWbvw 9c/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=gJtElrek; dkim=pass header.i=@codeaurora.org header.s=default header.b=gJtElrek; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j9si17810400pfr.277.2019.06.02.21.32.22; Sun, 02 Jun 2019 21:32:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=gJtElrek; dkim=pass header.i=@codeaurora.org header.s=default header.b=gJtElrek; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726830AbfFCEbQ (ORCPT + 99 others); Mon, 3 Jun 2019 00:31:16 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:56584 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726221AbfFCEbQ (ORCPT ); Mon, 3 Jun 2019 00:31:16 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id DFA0E60A05; Mon, 3 Jun 2019 04:31:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1559536275; bh=ua7F1K+amXXB1vX6cvhC8jKC0nlsfYbYU1UwwZBJmPM=; h=From:To:Cc:Subject:Date:From; b=gJtElrekmixPnR9K5ZhDlNVmZyRCPpGq4u4CjwHrFVC0zAF1GucZKySTVJaEAVRGn Mqn8Xzfq1Sitaq50/b2GpjXfgqXZu269wFoY/mgDpC+VFHzfmHh3/y/popLRYy9D0V W3ZF51OgdklmSNjAaxY2YSHg3CwJVNYKIX7z4KhQ= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED,SPF_NONE autolearn=no autolearn_force=no version=3.4.0 Received: from codeaurora.org (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: pkondeti@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4C1B26077A; Mon, 3 Jun 2019 04:31:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1559536275; bh=ua7F1K+amXXB1vX6cvhC8jKC0nlsfYbYU1UwwZBJmPM=; h=From:To:Cc:Subject:Date:From; b=gJtElrekmixPnR9K5ZhDlNVmZyRCPpGq4u4CjwHrFVC0zAF1GucZKySTVJaEAVRGn Mqn8Xzfq1Sitaq50/b2GpjXfgqXZu269wFoY/mgDpC+VFHzfmHh3/y/popLRYy9D0V W3ZF51OgdklmSNjAaxY2YSHg3CwJVNYKIX7z4KhQ= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 4C1B26077A Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=pkondeti@codeaurora.org From: Pavankumar Kondeti To: "Rafael J. Wysocki" , Len Brown , Pavel Machek , Thomas Gleixner , Ingo Molnar , Josh Poimboeuf , Peter Zijlstra , Konrad Rzeszutek Wilk , iri Kosina , Mukesh Ojha , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Pavankumar Kondeti Subject: [PATCH] cpu/hotplug: Abort disabling secondary CPUs if wakeup is pending Date: Mon, 3 Jun 2019 10:01:03 +0530 Message-Id: <1559536263-16472-1-git-send-email-pkondeti@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When "deep" suspend is enabled, all CPUs except the primary CPU are hotplugged out. Since CPU hotplug is a costly operation, check if we have to abort the suspend in between each CPU hotplug. This would improve the system suspend abort latency upon detecting a wakeup condition. Signed-off-by: Pavankumar Kondeti --- kernel/cpu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/cpu.c b/kernel/cpu.c index f2ef104..784b33d 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -1221,6 +1221,13 @@ int freeze_secondary_cpus(int primary) for_each_online_cpu(cpu) { if (cpu == primary) continue; + + if (pm_wakeup_pending()) { + pr_info("Aborting disabling non-boot CPUs..\n"); + error = -EBUSY; + break; + } + trace_suspend_resume(TPS("CPU_OFF"), cpu, true); error = _cpu_down(cpu, 1, CPUHP_OFFLINE); trace_suspend_resume(TPS("CPU_OFF"), cpu, false); -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.