Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp369761imm; Fri, 31 Aug 2018 02:41:21 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdb2lbmfU8Zasi7ws83isJWtYFkCpCvZV7AD1Sc3pooab0K+JE+oSpx0GiTNG38YY9mO8QMl X-Received: by 2002:a65:650f:: with SMTP id x15-v6mr13817873pgv.127.1535708481502; Fri, 31 Aug 2018 02:41:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535708481; cv=none; d=google.com; s=arc-20160816; b=NL97u6LVrCSunJxbejtfeK2awbWxtZvvjo7fRaWSTOUvvbuVTQToiJkJKZO/IIeO7G OP18x+rO8XkSwN1VrN5WYF4eWl17NT8/LUfwYws6zazdfCxB/O+DwWSM6nOWYshU4xGH uyiD9e2HRGqtLiBAUjb1rKDJOo2qh1gWyal3JA8+9t3j6DCdsScixsMYCbuW02F5Uckr LoznhVMYRiPBfMOm4Jp+X8bcxfH1lLMH54IX8VyBjyk0qjXgrIDbdE+9r4yMVin7LRVe oW1QxiF6i9XrJ/7Ma757xJ5ynYiHrAAt8tWlf2MT3qZytCtqsWb55Ek+4qOpDD4C+3AD vqHA== 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 :arc-authentication-results; bh=lauxyg8q3/eu8EYTUreJyABhg4EyeMuZSFYsnXI6XSU=; b=L2lU4/EFhudIaMFrWwZ+pFeLnseD/DF8D0JQnUcfZn2OIo+e4pj3x9IMPDC6Q36mzu CZIuQETJqUeq1kV1rwKBAmPgAh5WTOqhPzWS6ZR1Sh7KSIxJovb1G5ZHQuIBll5RsNv8 VyYbX9QAEbyAzhzdzKaz6vlQCw6WrsrAi5OjpX4O65xymvS3opWQ9CsPUlsPB5IV/odG NuG48ewFmPVWxtVT3kLUVPxeBHuaTZDROlHyst7DeUz5DLMJ4bXLU/KjeIUjBjL4bDMv OTgHqISK+L5fDjva47k0Gq1aFcNefuUZf7Pvr1K3+sTMvlZ+segOa5snaP1m2+JZ4Pbk Prxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=TGZkydbK; dkim=pass header.i=@codeaurora.org header.s=default header.b=TGZkydbK; 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 b7-v6si3576653plm.250.2018.08.31.02.41.06; Fri, 31 Aug 2018 02:41:21 -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=TGZkydbK; dkim=pass header.i=@codeaurora.org header.s=default header.b=TGZkydbK; 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 S1727540AbeHaNqe (ORCPT + 99 others); Fri, 31 Aug 2018 09:46:34 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:38144 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726990AbeHaNqe (ORCPT ); Fri, 31 Aug 2018 09:46:34 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id B104C606DB; Fri, 31 Aug 2018 09:39:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1535708395; bh=vLdNAC02QhWz4QbSaCGU9JBeEd92DAajnnaw9KyWz+U=; h=From:To:Cc:Subject:Date:From; b=TGZkydbKEaQsvffdi2Z0adL3axEfN/vw8ujKHxLvYTRIYV3Hgd9Hwe3FiyK7VNH4z cojwh/zSuT66z1wiVqu+abLqOSyPffEF3389UsR5IFR6zM20iRY4QU/xgolgvvD8h0 YeRc+8n2PupY0R/OnQwfGdLwFeBxJkBb8btCQHm8= 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 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: stummala@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 3822960445; Fri, 31 Aug 2018 09:39:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1535708395; bh=vLdNAC02QhWz4QbSaCGU9JBeEd92DAajnnaw9KyWz+U=; h=From:To:Cc:Subject:Date:From; b=TGZkydbKEaQsvffdi2Z0adL3axEfN/vw8ujKHxLvYTRIYV3Hgd9Hwe3FiyK7VNH4z cojwh/zSuT66z1wiVqu+abLqOSyPffEF3389UsR5IFR6zM20iRY4QU/xgolgvvD8h0 YeRc+8n2PupY0R/OnQwfGdLwFeBxJkBb8btCQHm8= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 3822960445 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=stummala@codeaurora.org From: Sahitya Tummala To: Jaegeuk Kim , Chao Yu , linux-f2fs-devel@lists.sourceforge.net Cc: linux-kernel@vger.kernel.org, Sahitya Tummala Subject: [PATCH] f2fs: fix unnecessary periodic wakeup of discard thread when dev is busy Date: Fri, 31 Aug 2018 15:09:26 +0530 Message-Id: <1535708366-11318-1-git-send-email-stummala@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 dev is busy, discard thread wake up timeout can be aligned with the exact time that it needs to wait for dev to come out of busy. This helps to avoid unnecessary periodic wakeups and thus save some power. Signed-off-by: Sahitya Tummala --- fs/f2fs/segment.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 8bcbb50..df14030 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1379,6 +1379,8 @@ static int issue_discard_thread(void *data) struct discard_policy dpolicy; unsigned int wait_ms = DEF_MIN_DISCARD_ISSUE_TIME; int issued; + unsigned long interval = sbi->interval_time[REQ_TIME] * HZ; + long delta; set_freezable(); @@ -1410,7 +1412,11 @@ static int issue_discard_thread(void *data) __wait_all_discard_cmd(sbi, &dpolicy); wait_ms = dpolicy.min_interval; } else if (issued == -1){ - wait_ms = dpolicy.mid_interval; + delta = (sbi->last_time[REQ_TIME] + interval) - jiffies; + if (delta > 0) + wait_ms = jiffies_to_msecs(delta); + else + wait_ms = dpolicy.mid_interval; } else { wait_ms = dpolicy.max_interval; } -- 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.