From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9DBB7C61DB3 for ; Mon, 9 Jan 2023 03:34:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E6A990000E; Sun, 8 Jan 2023 22:34:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 41EE890000C; Sun, 8 Jan 2023 22:34:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 700CD900002; Sun, 8 Jan 2023 22:34:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4AB83900004 for ; Sun, 8 Jan 2023 22:33:58 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 19FE3801A6 for ; Mon, 9 Jan 2023 03:33:58 +0000 (UTC) X-FDA: 80333841756.07.6A25411 Received: from lgeamrelo11.lge.com (lgeamrelo11.lge.com [156.147.23.51]) by imf25.hostedemail.com (Postfix) with ESMTP id 1340DA000E for ; Mon, 9 Jan 2023 03:33:55 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf25.hostedemail.com: domain of byungchul.park@lge.com designates 156.147.23.51 as permitted sender) smtp.mailfrom=byungchul.park@lge.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673235236; a=rsa-sha256; cv=none; b=bgklioBENSbJPZ/ORz8lIhYRTHJ0y4KAqtiNbuAUbyMCKIa4O2wHj5iapUH/JlbOIKFOS6 KfcQciGwf9fmg6AdAIsE46m2ZkJMwgnZtiBnOb3GFrR98iSfDqi4YAemifmNGoONEC/q1F XvZS0Brjp7UdpCAOoAWBrwpQcXMGssc= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf25.hostedemail.com: domain of byungchul.park@lge.com designates 156.147.23.51 as permitted sender) smtp.mailfrom=byungchul.park@lge.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673235236; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references; bh=hop+8Cb2TKhkYHMGXre6eKhpq+NQ9XJo/jgM7qd/Kpc=; b=aB+n/Qy/kK8eTD+4ufe9Xv+2bpy2B70f2C12YBtPOk88mXXw5xRwlB1JHY6CIe+rZmtKem atXhk1t6DKfx4Qhd51KmxA+z2zGBB/56e6n90ULS7Wyhuo531gMGhEg1ipxv+vPhHULtF0 2K6F3u6zN+t48fnYglhBVOZm6g5mwQ8= Received: from unknown (HELO lgemrelse6q.lge.com) (156.147.1.121) by 156.147.23.51 with ESMTP; 9 Jan 2023 12:33:54 +0900 X-Original-SENDERIP: 156.147.1.121 X-Original-MAILFROM: byungchul.park@lge.com Received: from unknown (HELO localhost.localdomain) (10.177.244.38) by 156.147.1.121 with ESMTP; 9 Jan 2023 12:33:54 +0900 X-Original-SENDERIP: 10.177.244.38 X-Original-MAILFROM: byungchul.park@lge.com From: Byungchul Park To: linux-kernel@vger.kernel.org Cc: torvalds@linux-foundation.org, damien.lemoal@opensource.wdc.com, linux-ide@vger.kernel.org, adilger.kernel@dilger.ca, linux-ext4@vger.kernel.org, mingo@redhat.com, peterz@infradead.org, will@kernel.org, tglx@linutronix.de, rostedt@goodmis.org, joel@joelfernandes.org, sashal@kernel.org, daniel.vetter@ffwll.ch, duyuyang@gmail.com, johannes.berg@intel.com, tj@kernel.org, tytso@mit.edu, willy@infradead.org, david@fromorbit.com, amir73il@gmail.com, gregkh@linuxfoundation.org, kernel-team@lge.com, linux-mm@kvack.org, akpm@linux-foundation.org, mhocko@kernel.org, minchan@kernel.org, hannes@cmpxchg.org, vdavydov.dev@gmail.com, sj@kernel.org, jglisse@redhat.com, dennis@kernel.org, cl@linux.com, penberg@kernel.org, rientjes@google.com, vbabka@suse.cz, ngupta@vflare.org, linux-block@vger.kernel.org, paolo.valente@linaro.org, josef@toxicpanda.com, linux-fsdevel@vger.kernel.org, viro@zeniv.linux.org.uk, jack@suse.cz, jlayton@kernel.org, dan.j.williams@intel.com, hch@infradead.org, djwong@kernel.org, dri-devel@lists.freedesktop.org, rodrigosiqueiramelo@gmail.com, melissa.srw@gmail.com, hamohammed.sa@gmail.com, 42.hyeyoo@gmail.com, chris.p.wilson@intel.com, gwan-gyeong.mun@intel.com Subject: [PATCH RFC v7 23/23] dept: Record the latest one out of consecutive waits of the same class Date: Mon, 9 Jan 2023 12:33:51 +0900 Message-Id: <1673235231-30302-24-git-send-email-byungchul.park@lge.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1673235231-30302-1-git-send-email-byungchul.park@lge.com> References: <1673235231-30302-1-git-send-email-byungchul.park@lge.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 1340DA000E X-Stat-Signature: 333csxjrtaaoqwpoaojyobjhoad93x68 X-HE-Tag: 1673235235-5949 X-HE-Meta: U2FsdGVkX18rDJMfutjMWvuNmTLTvXi7ONbb4ovYVuO/MZgm0E45GwENHUALVhfgOGv3BHRK8Anc7czoTuqwXVH+rYMsmlPDaX/I8XL1KCieIfdBZuRlQBS/j2PXzBhHnR/OMZ0xGhi5j1RDz5By4My5zmCyLGcC+3msVxPLstqAuSx9Xmz0+7htAL9GwB/vL8dXNHhzrmVtWzTEXlth9xgj8Hc4Rgtz/nkZSGzXcNDQh6Bj7+YgeycOfieBifkFjmi7WAcY0k9YzOMI0OikAQo1rTKwpgkvlrJNHX2X3sXmEbr7GHeAhE/sGHEqNIQyH9WN+2CD8QNgeuMBQn90cq+a6uhVzRptxFPjypPkyvVEApBwmsqKZLp03MvQ/z3Uq9JBhCMZbFUCh2qqUEKSWGJm4Rc9usEJaSdBqobGgnalaUMsGD9vlizbsJwgMAUgGnc6ldjrZELppweueXO3B1VRvLPzf9OErf7c9nGchlZSju9DZOxFYjFkV/mnCIYRSXl0Kf41EtjiYCK/sSNwjuYnkM5/5Rjl3k6m5UJrS2QakIdK6NSN64LEBqD/M9sgmw+4dj7hsn1lHEpTvLHDJfhlcrHN7aQcJIibxt/lpgN1azuEEXRFlhwKFqmNGg0Q24xD8IoWUnV0LRsCOxFMn5a4SZDtU+AHwE9C0JjA4K/kUepRujJH7pGkmwyG/i8rnFWn4XEhsN3B2XU/30QVzYe9EGfzXSkGUqylrvfdi2yXxSMwaqN1CDgftr4BA7P4rtUCuYg1VawoWFlnCS8bqwBsG70/HaohP2lfhJwJAFomLoTPW/lu9RFuDjCRkEyz2W/x8bisA9FXtcu2r4SZ1A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: The current code records all the waits for later use to track relation between waits and events in each context. However, since the same class is handled the same way, it'd be okay to record only one on behalf of the others if they all have the same class. Even though it's the ideal to search the whole history buffer for that, since it'd cost too high, alternatively, let's keep the latest one at least when the same class'ed waits consecutively appear. Signed-off-by: Byungchul Park --- kernel/dependency/dept.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/kernel/dependency/dept.c b/kernel/dependency/dept.c index cd25995..9cd37b4 100644 --- a/kernel/dependency/dept.c +++ b/kernel/dependency/dept.c @@ -1521,9 +1521,28 @@ static inline struct dept_wait_hist *new_hist(void) return wh; } +static inline struct dept_wait_hist *last_hist(void) +{ + int pos_n = hist_pos_next(); + struct dept_wait_hist *wh_n = hist(pos_n); + + /* + * This is the first try. + */ + if (!pos_n && !wh_n->wait) + return NULL; + + return hist(pos_n + DEPT_MAX_WAIT_HIST - 1); +} + static void add_hist(struct dept_wait *w, unsigned int wg, unsigned int ctxt_id) { - struct dept_wait_hist *wh = new_hist(); + struct dept_wait_hist *wh; + + wh = last_hist(); + + if (!wh || wh->wait->class != w->class || wh->ctxt_id != ctxt_id) + wh = new_hist(); if (likely(wh->wait)) put_wait(wh->wait); -- 1.9.1