Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp4370537pxb; Tue, 2 Mar 2021 13:26:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJyfaXHKdXRFu3978Oxlf/E24XORgP1+nZ6y0oS0+3p0jC98umyf8S2kydOLqXUVw4BgoQy6 X-Received: by 2002:a05:6402:9:: with SMTP id d9mr16297014edu.67.1614720388211; Tue, 02 Mar 2021 13:26:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614720388; cv=none; d=google.com; s=arc-20160816; b=NImHCmwYpf9gp2RM/cgMGM8rbWQGTPeTwRUfp5zHb70jYQr0uLYfonDFelhFURTKHn SGE8nbFizZCWdpFSo7qlNudfXcMYQ0EJKNbMu2UcGHDb+S53mK994iZkphwI7Di8XDOc Ueo5JSZrT81HG5G6ZbJA85E5foDhwxK2aVnrp3me2FByMhOWE59sTeU+ahONY2HbH+P9 8tHbwR9inOw14J2Io04ifjuJkGegrz9RlAzcw8+ee/xoVOyi44MO38a+510uo0fT3wdK IFp5HQ1jOdf0ilEWNKEVcGlaIa+btRRR3TXo7R8N+pQTGOCV8m0UnkPwpvJleHzix+0+ egrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:content-transfer-encoding:date :message-id:in-reply-to:cc:to:from:sender:reply-to:subject :mime-version:dkim-signature:dkim-filter; bh=O31FVF9w9jaxLxUzUwYA/nvnejdGzFszkeQF7lstuOI=; b=NPyep7B/l8Wui6p3r963Erqu29Y1ngMfh2TdpIgjguDJmMRjL/QQupWT37/O7yXyFG X7ASFzdNFBNYHvVsJ9MMRiB/ickbSbEJA2dDF3A9zYXLwfHZ/Ud6MbcN+8LJy9Bim6b5 cLUbE2GsiipdPKGn0kUUQj/zFi3fsPIHZvrnZrEjoHQBvBm5BltewojuN5vOUs5PPOA4 LZHD4UzaHGumqD8mcGmd4uAdBbiK6hIcoaiOW59lCi/961Gt98uAeIs7Oo3WPceRHsYU 439i3pcjkEoeJcyaomBN7IJtENEwDdeYuRsWOh5wBqfXt4aXvC2cPtSqpVBw0zMmK8MX PvWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=WC6zzbMV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v15si15396841ede.1.2021.03.02.13.26.05; Tue, 02 Mar 2021 13:26:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=WC6zzbMV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1379025AbhCBJi1 (ORCPT + 99 others); Tue, 2 Mar 2021 04:38:27 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:43872 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1837912AbhCBJKp (ORCPT ); Tue, 2 Mar 2021 04:10:45 -0500 Received: from epcas3p1.samsung.com (unknown [182.195.41.19]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20210302091002epoutp02fed549d4a6f1737ae9d49a1dcb5580e7~oe3N95Dth0378803788epoutp02- for ; Tue, 2 Mar 2021 09:10:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20210302091002epoutp02fed549d4a6f1737ae9d49a1dcb5580e7~oe3N95Dth0378803788epoutp02- DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1614676202; bh=O31FVF9w9jaxLxUzUwYA/nvnejdGzFszkeQF7lstuOI=; h=Subject:Reply-To:From:To:CC:In-Reply-To:Date:References:From; b=WC6zzbMVz131or/4bzIVJNDvdKGamYMGVFuXVCE68I+EcKEfdxs2aq+BrE+EV91bi QVTIxBdMWOm6E3hCb61lw0ea7iZGfVVsGNwGGh2io1g+wbTXW3si0MjPt95jAiv0SY 6RlVPYQpdRFy1w6zlBjJTQmCKTyaNKgVFS6pHIjo= Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas3p1.samsung.com (KnoxPortal) with ESMTP id 20210302091001epcas3p1c8d434a344e81ac45f34b96ab67e0f17~oe3NVbKVU3071630716epcas3p1F; Tue, 2 Mar 2021 09:10:01 +0000 (GMT) Received: from epcpadp3 (unknown [182.195.40.17]) by epsnrtp3.localdomain (Postfix) with ESMTP id 4DqWYP4gyhz4x9Q8; Tue, 2 Mar 2021 09:10:01 +0000 (GMT) Mime-Version: 1.0 Subject: RE: RE: [PATCH v4 7/9] scsi: ufshpb: Add "Cold" regions timer Reply-To: daejun7.park@samsung.com Sender: Daejun Park From: Daejun Park To: Avri Altman , Daejun Park , "James E . J . Bottomley" , "Martin K . Petersen" , "linux-scsi@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: "gregkh@linuxfoundation.org" , Bart Van Assche , yongmyung lee , ALIM AKHTAR , "asutoshd@codeaurora.org" , Zang Leigang , Avi Shchislowski , Bean Huo , "cang@codeaurora.org" , "stanley.chu@mediatek.com" X-Priority: 3 X-Content-Kind-Code: NORMAL In-Reply-To: X-CPGS-Detection: blocking_info_exchange X-Drm-Type: N,general X-Msg-Generator: Mail X-Msg-Type: PERSONAL X-Reply-Demand: N Message-ID: <2038148563.21614676201654.JavaMail.epsvc@epcpadp3> Date: Tue, 02 Mar 2021 18:04:29 +0900 X-CMS-MailID: 20210302090429epcms2p443de88c14298f707577122e6a91b9a82 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" X-Sendblock-Type: AUTO_CONFIDENTIAL X-CPGSPASS: Y X-CPGSPASS: Y X-Hop-Count: 3 X-CMS-RootMailID: 20210226083459epcas2p1862e3e2c18208074336cc9faf14a7139 References: <20210226083300.30934-8-avri.altman@wdc.com> <20210226083300.30934-1-avri.altman@wdc.com> <878274034.81614673683390.JavaMail.epsvc@epcpadp4> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Avri, > > > > Hi Avri, > > > > > +static void ufshpb_read_to_handler(struct work_struct *work) > > > +{ > > > + struct delayed_work *dwork = to_delayed_work(work); > > > + struct ufshpb_lu *hpb; > > > + struct victim_select_info *lru_info; > > > + struct ufshpb_region *rgn; > > > + unsigned long flags; > > > + LIST_HEAD(expired_list); > > > + > > > + hpb = container_of(dwork, struct ufshpb_lu, ufshpb_read_to_work); > > > + > > > + if (test_and_set_bit(TIMEOUT_WORK_PENDING, &hpb- > > >work_data_bits)) > > > + return; > > > + > > > + spin_lock_irqsave(&hpb->rgn_state_lock, flags); > > > + > > > + lru_info = &hpb->lru_info; > > > + > > > + list_for_each_entry(rgn, &lru_info->lh_lru_rgn, list_lru_rgn) { > > > + bool timedout = ktime_after(ktime_get(), rgn->read_timeout); > > > + > > > + if (timedout) { > > > > It is important not just to check the timeout, but how much time has passed. > > If the time exceeded is twice the threshold, the read_timeout_expiries > > value should be reduced by 2 instead of 1. > Theoretically this shouldn't happened. > Please note that POLLING_INTERVAL_MS << READ_TO_MS. > Better add appropriate check when making those configurable. OK, I agree. Thanks, Daejun > > Thanks, > Avri > > > > > + rgn->read_timeout_expiries--; > > > > Thanks, > > Daejun > > > >