Message ID | 1674782358-25542-24-git-send-email-max.byungchul.park@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 0EB20C54EAA for <linux-mm@archiver.kernel.org>; Fri, 27 Jan 2023 01:20:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 83533900005; Thu, 26 Jan 2023 20:19:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 509AA900008; Thu, 26 Jan 2023 20:19:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 557AC900009; Thu, 26 Jan 2023 20:19:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C05738E000D for <linux-mm@kvack.org>; Thu, 26 Jan 2023 20:19:47 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 92780160F46 for <linux-mm@kvack.org>; Fri, 27 Jan 2023 01:19:47 +0000 (UTC) X-FDA: 80398822014.21.65A77A3 Received: from lgeamrelo11.lge.com (lgeamrelo12.lge.com [156.147.23.52]) by imf06.hostedemail.com (Postfix) with ESMTP id 6163B18000B for <linux-mm@kvack.org>; Fri, 27 Jan 2023 01:19:45 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (imf06.hostedemail.com: 156.147.23.52 is neither permitted nor denied by domain of max.byungchul.park@gmail.com) smtp.mailfrom=max.byungchul.park@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674782385; 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=bgVpouDb4TvlOw0rpCdA5ohk4KWVsFG9SU4SUCWkNCA=; b=ErhYgbFec/nu/mRWeCPoEOKhZpqXNRmvIvNPZBKvXdXlRK1tuENC+DYWTzwKZ6jZyTi2m9 2N9Qsm/8lngySjNHkiT4IRXfibeTIWnkVuhwOBXwm+N4jl+VrICpLlx3eD8ZYb3UF7l94f xxFLv1gZOpCEwUjs8Y8rXHhUwaT5E2g= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (imf06.hostedemail.com: 156.147.23.52 is neither permitted nor denied by domain of max.byungchul.park@gmail.com) smtp.mailfrom=max.byungchul.park@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674782386; a=rsa-sha256; cv=none; b=m5BGiVDUgxMePdNyDuYF6TCWwoJe+3dwtDvKkyYr74bZIQEC3+VPMBY0SvYxniq2EduWjC ulBDpUGA/mmMSmDZOmWnrf+VSlm6edBReQhnyz/MFzfBTQa7wEWkPQY4nunPyyNukMRow2 7InZCLHi2K8e80ueQFVp7/+h/eY8fO8= Received: from unknown (HELO lgemrelse7q.lge.com) (156.147.1.151) by 156.147.23.52 with ESMTP; 27 Jan 2023 10:19:44 +0900 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: max.byungchul.park@gmail.com Received: from unknown (HELO localhost.localdomain) (10.177.244.38) by 156.147.1.151 with ESMTP; 27 Jan 2023 10:19:44 +0900 X-Original-SENDERIP: 10.177.244.38 X-Original-MAILFROM: max.byungchul.park@gmail.com From: Byungchul Park <max.byungchul.park@gmail.com> 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, max.byungchul.park@gmail.com, boqun.feng@gmail.com, longman@redhat.com, hdanton@sina.com Subject: [PATCH v8 23/25] dept: Record the latest one out of consecutive waits of the same class Date: Fri, 27 Jan 2023 10:19:16 +0900 Message-Id: <1674782358-25542-24-git-send-email-max.byungchul.park@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1674782358-25542-1-git-send-email-max.byungchul.park@gmail.com> References: <1674782358-25542-1-git-send-email-max.byungchul.park@gmail.com> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 6163B18000B X-Stat-Signature: 1k8y38k5xcipipdbqefzub835yz97qc4 X-Rspam-User: X-HE-Tag: 1674782385-741921 X-HE-Meta: U2FsdGVkX188J72mE6N96rR5JF9/M7QZ2Kebwl31Raet8Pb9Z7Ot0dFXUnUNc7PSF2/G6zOR4f08kOeVVWA+1nLXX6kqIDinvTKahP2X6kk1HKoVpax1KRkRm7AFOBhs6kMAzclTuyDzhxeeAKlgd/AHrtxZ9jV6qw6wh+c0NJ0JqPDJPKilw3laKJ41L1NPQXnurUm3RI+LRQ44Klst1Mk5odXu4tX4LZFhVN3+8udxd+Sjn/V2jRSx+9f84PZdIbFDkPvwjIFGKt2YqrO5WAOZVLalwgBxHMeeW6lPo7KhJ7bTbheMplN5dX4QW4l2H/kzJ9WsvHskUenbrXXckmokIhg60RWcjAOIQSfO/6kwuOuPZCpYMtHdqUzJTsVaB3o4rWHmZ56qHFFaLBZpuDG0hJ8DN+BXSYvX5jvfJnwFBWIlBu6x3zTkZB3SgSSCRBuOKfpNEAZrbpTHZeNk9pKYF5L8tdmyA9qeJBAARSWpxIvTM+LvLRl3Mp4JmrlHDn3G3qf8FAtVeVZg0gRXH1hvpXp8H2Oz3jKVd4Jv3nH3q/RHxgtCYFuQsQ98Fv8ZcvOeHShkUXg95j3d7AJe7su1cYjzYf9ESMB2dUCgKW4AvdDazvg4PFC92VoyK8x+tD+fJrT//J7wy6NGJ5eKnlktaYp0VV7ab0f5LDEbp/oKA6XqbqkVX3yr12v2E5F1p1mh/qk4jVmXKWvX2BWGCE/B2ee9vu1D/Qxno7j8DZjslW1tBkw+8B2Xbo9l9trpUP1H4Q0X0+uwp14BSu1AHKziN/Z2SW6lMyt3N1UiNld7pJGUvLHNK5osrjj/i3s+dDm2P4sNJkSmjB+G/tJbW12VUnY1dxKK6Uzv2r/WGgtxQQBSj95o1/bfODmaeoSCMUyP4PonVW+1Tg5A0cJ/uzslPPjwwUCsmC6nwDptMpikYqRwGQrJkl200qTbhInEDA5PQiX+Uz5hsp0uQTp M9BiV04Y tLF619Lc83o5exfYl3XRHOU3xl29IZ7agNRdwBKGxzoahwKApLdngerbqFLsif8rHublikNlc37kHBHKzS1bNtnnQiexg/WMf5csHmixvhnoZth1KUkc5J6WwWrxuce0H9DrFKwxzQJjLHwCPQxYr1tsLe50C6dXmCznXbUHRlnAyO7WXS1KriXcpiZV9EeD+0n66k9AkO+TSO0R7hY14mXXnVLQGaJpKRjUkaMmWE4LYSbp6ZTLXpfX111kOP5UZAf9MqeDmShGLl78igNk5wo/BqVUFraG0VCPGJ5ricfjgCIaGgTN+YmDrqfpcvn2pt/qeleTVbO0Z0OUAH7ojh+QJnruBu7OsTf1wU/b/oHged61O+lE85Ig6kWUoUKv7mMdc 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: <linux-mm.kvack.org> |
Series |
DEPT(Dependency Tracker)
|
expand
|
diff --git a/kernel/dependency/dept.c b/kernel/dependency/dept.c index 4f66c7f..d84a9b0 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);
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 <max.byungchul.park@gmail.com> --- kernel/dependency/dept.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-)