Received: by 2002:ac0:8c8e:0:0:0:0:0 with SMTP id r14csp757918ima; Wed, 6 Feb 2019 07:55:36 -0800 (PST) X-Google-Smtp-Source: AHgI3IZKAEO1+znMTm9q4NmjW3NU8p2xyf8j4lKhlxqe1QVXM6PhIhbZMXIWicu0CU7SQYLssLqB X-Received: by 2002:a63:ce50:: with SMTP id r16mr9975804pgi.217.1549468536401; Wed, 06 Feb 2019 07:55:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549468536; cv=none; d=google.com; s=arc-20160816; b=WLJqfDyAv+OaLQbWV0n/cm7FDz4lzyKPa/pCat2LBvH3nudtKQzx/C0frd4XVFp38B ZFOiY5dGLai79HsC41QDaFaQFnPCDazbexa2BwjeD6Hh7WE75m0+JSGWzIoBlM+MusEP aCd+Ie7RDGD6yQlW+0etvnsbauDYHDDHqVkZ6XD9mx6B6vwktwzhQ9izvCSrbc0QqSyJ SY4O7Iy5ks4rd5id3ypL4PSSwgZVHWpb0n56e/zLSFSGGok39IoxQxX8NPcq2gWw74RD 3dtuNrGgoNRyKdMym5+O/h4Tx/Rp9QebLBTyXpZU7Gm/vBwD693AyNS6LcYAI44+4MlE 3VGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=vX1eTqhyISFwSh9E0t7KHKH91WZyswCPOokzwU1KVTI=; b=Bj+SO5hQnq/DxUMAJeUt/6ccP1BT4O/YvkIyY5fgjxBUh1iREPv4dyZOw9PfTxqFmU QLUE/ZhGMfQCxFOvXmzdv+8FeZohfNggQPTqL6468/Vu32BcXecLHQtMuIdEysrdmqnd RN+8Tth6yXkSn7b6WMkxDH28lPDHb0w/vb4ugXUPkLPZOwQqSLO+omBUy421Mx3jbZNn KXa0CdPQfIBm7zV42Gi30DEhYP6DDq+5Jg4gBX22e0AhxdLtFJGnxKIu8m52lrdVzepY oMW2KR09P5FA1XsybE0YYpRnuRBuCDMokL/MA8PxOpgZDO5c1Q4bnF7VnHlgi2QSpnPi wMrA== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g3si1396454pgq.61.2019.02.06.07.55.19; Wed, 06 Feb 2019 07:55:36 -0800 (PST) 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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730640AbfBFPmS (ORCPT + 99 others); Wed, 6 Feb 2019 10:42:18 -0500 Received: from 36-231-43-191.dynamic-ip.hinet.net ([36.231.43.191]:57372 "EHLO E6440.gar.corp.intel.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727082AbfBFPmS (ORCPT ); Wed, 6 Feb 2019 10:42:18 -0500 X-Greylist: delayed 3555 seconds by postgrey-1.27 at vger.kernel.org; Wed, 06 Feb 2019 10:42:17 EST Received: from E6440.gar.corp.intel.com (localhost [127.0.0.1]) by E6440.gar.corp.intel.com (Postfix) with ESMTP id 9B915C0559; Wed, 6 Feb 2019 23:42:16 +0800 (CST) From: Harry Pan To: LKML Cc: gs0622@gmail.com, Harry Pan , rjw@rjwysocki.net, len.brown@intel.com, pavel@ucw.cz, linux-pm@vger.kernel.org Subject: [PATCH v2] PM / suspend: measure the time of filesystem syncing Date: Wed, 6 Feb 2019 23:42:14 +0800 Message-Id: <20190206154214.576-1-harry.pan@intel.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20190203052007.27392-1-harry.pan@intel.com> References: <20190203052007.27392-1-harry.pan@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch gives the reader an intuitive metric of the time cost by the kernel issuing a filesystem sync during suspend; although developer can guess by the timestamp of next log or enable the ftrace power event for manual calculation, this manner is easier to read and benefits the automatic script. v2: simplify the variables, apply the simplest form of ktime API. Signed-off-by: Harry Pan --- kernel/power/suspend.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c index 0bd595a0b610..87c0073f0c9d 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -550,6 +550,8 @@ static void suspend_finish(void) static int enter_state(suspend_state_t state) { int error; + ktime_t start; + unsigned int elapsed_msecs; trace_suspend_resume(TPS("suspend_enter"), state, true); if (state == PM_SUSPEND_TO_IDLE) { @@ -570,9 +572,12 @@ static int enter_state(suspend_state_t state) #ifndef CONFIG_SUSPEND_SKIP_SYNC trace_suspend_resume(TPS("sync_filesystems"), 0, true); + start = ktime_get(); pr_info("Syncing filesystems ... "); ksys_sync(); - pr_cont("done.\n"); + elapsed_msecs = ktime_to_ms(ktime_sub(ktime_get(), start)); + pr_cont("(elapsed %d.%03d seconds) done.\n", elapsed_msecs / 1000, + elapsed_msecs % 1000); trace_suspend_resume(TPS("sync_filesystems"), 0, false); #endif -- 2.18.1