Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3159617imm; Mon, 16 Jul 2018 23:21:11 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdoHgxfMmJqDgyHCNdNLxsbxzRxt5XHRYZbOHof9nQGCGAMGjDfVOaMixUtY/QUjhAfTNOY X-Received: by 2002:aa7:86d7:: with SMTP id h23-v6mr351403pfo.132.1531808471626; Mon, 16 Jul 2018 23:21:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531808471; cv=none; d=google.com; s=arc-20160816; b=c4AeT3NZ21hXKpjLBGP4zw2CerA4ZJgVCjH6HI7AxfCK4krh0jNjXnz3W0V7XuyeEK /GML3ft15jnuHrCngSBCoilguUf9VGVEsFXX+sK/AGhxHL2NT4ZIkUlpajjR7Ap5r75M AR4YO+tl6tzm/sMJu3y4jBiiOadbQvZUgzN7o4ozhpyHUSxoQnMcz6nGbHudbicPexhD 5U+EwcPrlPzVlAvYtUthbm8rxNh3stQW03yQ0Yuqa6X0FaF2TXesj6DDjvonOS4uQz7H dyiSYJhOMNvL4lXEKg9wNLnCiF+3W5yVy5vNTJKAyoj59UYiJyQgTIfZtRQHs70gHkAQ 3PQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dmarc-filter :dkim-signature:dkim-signature:arc-authentication-results; bh=asm16/SzbKp/vO2jCdxWzMYlDkOF6zVyHMujVSYJQa0=; b=iDyMnRTap3SeKofyq+5oZcnr1u35jmFGWQe+pjFMA5GsIUFtQhWWFWaaK5dyr7Hbpw h0UFGkRBSVnwVb5ySgpitaL8ShjCtcJU4O4PChNFQCUpVOOHe4Wr1ggJTKxC93VqmCWz QyTriOn09htvCmAcgLCpmweVux2VYczLSWMILUJAKVMZM1kdHzEwXLZgvl5ovxcsHtoD XnlMUYbIeHiiVuUQwZ5RPdb9vQrHwbwF4WOoE8BTC0qmIz2x98ZGBgTq8GnZDfkh2D7D DIjaTYKt7w+BupOeJ4d+ePSjAiPuHX7UzbETutlqu7j/qWau4t6uo37RiKtWhT/9hFP6 O1HQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=REIrGeFF; dkim=pass header.i=@codeaurora.org header.s=default header.b=JNGNrMM7; 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 u11-v6si129885pgg.683.2018.07.16.23.20.56; Mon, 16 Jul 2018 23:21:11 -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=REIrGeFF; dkim=pass header.i=@codeaurora.org header.s=default header.b=JNGNrMM7; 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 S1728422AbeGQGuu (ORCPT + 99 others); Tue, 17 Jul 2018 02:50:50 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:34918 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727490AbeGQGuu (ORCPT ); Tue, 17 Jul 2018 02:50:50 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 7493A60116; Tue, 17 Jul 2018 06:19:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1531808393; bh=AFXgLPMvokrSKHyGzY1KVDnoowsGnOWZ9wANdY1Dt2g=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=REIrGeFFSqXS0QA5Z5HDNbl2DwVMmXG0Z7qR9EHtQjt63K1m+Qr/6uZG8bX3VPAEV u6V6MiSutOT4ohfjIWsg887lD9irsmXdde2r6/bN2yh72Sn0riIIjPSH+p5GwZ67u0 w7XnIc2sk7AisBuRs+RFRJsWoRiMOh0LRqoexFFk= 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.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from [10.204.79.100] (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mojha@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4A8B060116; Tue, 17 Jul 2018 06:19:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1531808392; bh=AFXgLPMvokrSKHyGzY1KVDnoowsGnOWZ9wANdY1Dt2g=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=JNGNrMM7oqUq19SM1QDCcf92wJaMY59CJFfTjpfzv7Y1pcXfkUhePBGngCEgj88AL tWwPX0kaaOaV1RCvlmUNvEyA0SJiIghgPWAp67V/0MJLTPwl/VXy1a+AujLoeO7XmT M7yjZDlsdPNCKQZa38cBtYs9j99NQb1sZqsfItew= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 4A8B060116 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=mojha@codeaurora.org Subject: Re: [PATCH v4] time: Fix extra sleeptime injection when suspend fails To: Thomas Gleixner Cc: john.stultz@linaro.org, linux-kernel@vger.kernel.org, gkohli@codeaurora.org, cpandya@codeaurora.org, neeraju@codeaurora.org References: <1531773650-30424-1-git-send-email-mojha@codeaurora.org> From: Mukesh Ojha Message-ID: <6d6dbd5e-0fad-736e-197d-2c4546dda232@codeaurora.org> Date: Tue, 17 Jul 2018 11:49:46 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/17/2018 2:20 AM, Thomas Gleixner wrote: > On Tue, 17 Jul 2018, Mukesh Ojha wrote: >> @@ -102,7 +102,7 @@ static int rtc_resume(struct device *dev) >> struct timespec64 sleep_time; >> int err; >> >> - if (timekeeping_rtc_skipresume()) >> + if (!timekeeping_rtc_skipresume()) >> return 0; > That does not make any sense at all, really. > >> /* Flag for if there is a persistent clock on this platform */ >> static bool persistent_clock_exists; >> @@ -1610,7 +1622,7 @@ static void __timekeeping_inject_sleeptime(struct timekeeper *tk, >> */ >> bool timekeeping_rtc_skipresume(void) >> { >> - return sleeptime_injected; >> + return suspend_timing_needed; > Just make this !suspend_timing_needed and the function name and its return > value still makes sense. > >> @@ -1701,13 +1714,13 @@ void timekeeping_resume(void) >> tk->tkr_mono.mask); >> nsec = mul_u64_u32_shr(cyc_delta, clock->mult, clock->shift); >> ts_delta = ns_to_timespec64(nsec); >> - sleeptime_injected = true; >> + suspend_timing_needed = false; >> } else if (timespec64_compare(&ts_new, &timekeeping_suspend_time) > 0) { >> ts_delta = timespec64_sub(ts_new, timekeeping_suspend_time); >> - sleeptime_injected = true; >> + suspend_timing_needed = false; >> } >> >> - if (sleeptime_injected) >> + if (!suspend_timing_needed) >> __timekeeping_inject_sleeptime(tk, &ts_delta); > This reads odd as well. I'd rather keep a local variable inject_sleeptime > or such and set that in the code pathes above. > > if (...) { > ... > inject_sleeptime = true; > } else if (...) { > ... > inject_sleeptime = true; > } > > if (inject_sleeptime) { > suspend_timing_needed = false; > __timekeeping_inject_sleeptime(); > } Will do suggested change and send in v5. Thanks. > > Hmm? Just blindly converting everything results in functional, but > nonsensical code. Think about what happens when you look at that stuff 6 > month from now... > > Thanks, > > tglx >