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 DB18FCDB482 for ; Thu, 12 Oct 2023 19:47:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4DF948D013D; Thu, 12 Oct 2023 15:47:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 48CDB8D0002; Thu, 12 Oct 2023 15:47:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 354FD8D013D; Thu, 12 Oct 2023 15:47:25 -0400 (EDT) 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 25BF38D0002 for ; Thu, 12 Oct 2023 15:47:25 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C7069408DE for ; Thu, 12 Oct 2023 19:47:24 +0000 (UTC) X-FDA: 81337843608.06.2D7C164 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) by imf24.hostedemail.com (Postfix) with ESMTP id 062E018002C for ; Thu, 12 Oct 2023 19:47:22 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LKajDTxB; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of jim.cromie@gmail.com designates 209.85.166.43 as permitted sender) smtp.mailfrom=jim.cromie@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697140043; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZM5rYwdrlUHJ3qGgxecEnebBAR86FDciuES39cltGkM=; b=p/BPj5gawzfk9t1+ITswVcZMeX1VMjY+5wc9Ov9x5daFeCaLElX6+hQjy0JF37gHehVHmA zx5m3zKc9n+jC8c1vixlpxXG6/lUGWXdQPHEFY9C1HT1KHV6lLDfvCl1/LCdXPUZaXloYW e1kBQIkNa2/e4vuG4iH+bWrNMCWu+AU= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LKajDTxB; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of jim.cromie@gmail.com designates 209.85.166.43 as permitted sender) smtp.mailfrom=jim.cromie@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697140043; a=rsa-sha256; cv=none; b=x/dGieMbNWe9PV5dvyXPYKa17AilEK49vmLPdnvJNwq+oDfjBhTnweG+MeJnUBuUTt6l/o jJytBve8PcFlHJKll09bsDqtPSEKPgHF7Vhwnau9QUgR++BX7sdTx2jk57idpMlhyjzQtp 6jsffwDwrQm+1Rk6jqBBVvwxmAL66Gs= Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-79f8e4108c3so56661139f.3 for ; Thu, 12 Oct 2023 12:47:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697140042; x=1697744842; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZM5rYwdrlUHJ3qGgxecEnebBAR86FDciuES39cltGkM=; b=LKajDTxBoRhQExaHsjZ9ir7Y9INU0K/YhI2/lCHuQePoByGR2JciF5zzFinOJPunR3 yKxd2aMr/HMnZc2kQE2Wf3Rt81bQVv+eu0GcxzOtPZaNAXvhpr1KcoN2LAewATSo8Gk5 +z/phpwGLZywMoTgap/CgxhGo2EsmGww1/qMNYBMafmMgZ02rcvINfgrW0Sd4lyBn4Wx lX4fuCR7kpFP0ee3rs5IGW6Wy9KrAo+CEwS1j98lqpiTtjYVJ9SstbNpmAG0/lfglxKb icoEuHnQSH7C8QqjBFXNcwTarzqfzrqW+CuWLSbrcHC3FxxorkhOeYhzMgDTnx3AnyAq mkWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697140042; x=1697744842; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZM5rYwdrlUHJ3qGgxecEnebBAR86FDciuES39cltGkM=; b=C6dkLT7OPg9Rteb3f6ORMN1Vo8aYhWD0k5GwSQ2RwAmHaE33imOXUaCH0HlwETQQGu BJbGAdswhP9ZJ2WGd6/t9Y1QxAKH9vHwJNXBshsCXV3mgbBbp3fCY14A6UzA5nZlSWQo jTRZpwx5jli43mA7zYcRN321CFvA7jQyoTrugHQCrtkQLANyX5xK6JzyV74IAxMOFgYB GiHidlkKpaojJWWRhO1BFRAnN6rPQx7u3dNXJU8IovZeOM8W/KG0TkqorKzycsnkPeWl hi/xW5vLvvdxjXqEgSYRXAeaFHE3lxmtEzGphA20qARa7W0gntCSFk0wGa/kb5a7S1Hb DhqQ== X-Gm-Message-State: AOJu0YzHCNqhEPORuFSMZbB9Si/N6IwCyMorz7xQkkAzJBh67vfPM/MD mnx3qNr36P6wczCu/0zvpzWZFpQrJh2fJA== X-Google-Smtp-Source: AGHT+IGceM5gIpg13Xxjob+QcvLQXenti4VC6/T4P9oMFLg7p3XFso04Nihjee/j89Bz47ENyasfaw== X-Received: by 2002:a6b:fd01:0:b0:790:c3d0:8f87 with SMTP id c1-20020a6bfd01000000b00790c3d08f87mr26611201ioi.19.1697140042119; Thu, 12 Oct 2023 12:47:22 -0700 (PDT) Received: from frodo.. (c-73-78-62-130.hsd1.co.comcast.net. [73.78.62.130]) by smtp.googlemail.com with ESMTPSA id z7-20020a5ec907000000b0079fbb834232sm4351002iol.19.2023.10.12.12.47.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Oct 2023 12:47:21 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org Cc: david@redhat.com, Liam.Howlett@Oracle.com, linux-mm@kvack.org, Jim Cromie Subject: [RFC PATCH 01/10] dyndbg: prep to isolate 3 repetetive fields Date: Thu, 12 Oct 2023 13:47:02 -0600 Message-ID: <20231012194711.3288031-2-jim.cromie@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231012194711.3288031-1-jim.cromie@gmail.com> References: <20231012194711.3288031-1-jim.cromie@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 062E018002C X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: uzayni93n37e4fftnrm3cy8ppy7q69p5 X-HE-Tag: 1697140042-43394 X-HE-Meta: U2FsdGVkX1/7an3JTj/I9e8L0MCHbtK466BdcP6poClF3IoPPXnmi3/fWEj7Wuo49ZybaivfYL6hQNLwr+t61UvzznOvjlQGrsek8l+PNblWkPNR967jBQyWTd7GpYnaDACLAdeBohxJ2bJYk3839qP2feQGM2/T6r45cJySYtEKcgMWrOG8w6t/Hr3asPf1mlWcE4hVdba97h1wEHGT7bmGq5CA8nKIvtr6nZgHkaVKGri1PWx0+B/Tl/cKjXzLv2AyST+ANvphJwORY2CLw3pjb3RGHtqqA8Fk77C9C4pfL8IAj6DlHuwQ9vJyCCu+v2q+IbctfpZFe5SFniNA2QFY/QhVbCd8rLxcU2yM8uhfludduzo904OuJHN+y1nfOi4zWl7ELjDH2gd6Y5SqCFYuIRpdZW8OwB1X9/uf0svpIEJ/l0Xr9HtL6YEsZGVIfgXRPjm/idI6AwruYMSP+shd2x0Pj4koiiwVVHVStQGZc3GQq6HgX4fbtjC3hpiUAMmq/mpBjjVXua/c/y33AgtFHSt7/KSGfD+8DyZUpaqSrCVa2DwAwJpejQzmOyx5xbxYd3wrUnQPctH2LIOnxkU9zLx5/BfokSJsJxq9Ep4QKt3hmnDALYQHwocgQYE/YLy9dXDo5F0I8J6alUbgQPXUOhzkCm8U7pm5ITj+5F+Q0D15y736x7JggFkzxx0q33F+tayWc7+O99Dd4iU7bgYyhJdffnr44cwt1ynZmSwcaIIF9oC3suSvzjegUHDaYqMdBHAXvaxkzO62duIEMnIB24mabF67p1O5oIs+LZ+T+s8asmCpHLUwZ3jmOqPl6K2yTu1m4dt+iLbxehX/20lVTGdYl25KrOTvHfw9SC8H07Heccfsamy/NPLYI0KAipvEENrFr0Y+k5pM39Y89vwNTqn7IzQg5dTLzzYEBUoe3hTVm1Debj473ALhwBxqObv0fOLNfNdx5cNwyGA JbMqICua na+uQWFfSA3o3EaxloY3t+B0emgjh3wwq3pRSC2rMuJLanLcAtRndg+L3Kl16MTdNrDT+qTMqJPREDq84gsyrf03TJsoWv8mhxRysqSqABAi9L3WDoj/mief4aq1dC/S8oaUAAPA3gIkDGy3rbm5MTJ6zNdruNSArqvfVwegqWorzklOoGPESdCdpKj6CeZXQqCzou8ChR4fpkba16k91w+B/bbhxH+1vBQF2LEiPgxKBLy3Dg+nKgadc3wE9rpOKL7eNqP+Di/jei5Zq65+W0jh6H5X7aDYo/w2OFIu2hP+CZKLkBRJ1m0OQej/t/rK3QZRHIPAoT7ndKZEoCHo3LKSZWEDW4Bg/4oSSOpPaXOnHLQ5mSDf0XOcJxkVlUTaEJ0BtFew/3XBdCFa6R+gxdM9q0Wb/IC9oo6y5TO3aDkF4HN5+z1unWY4DUDqhpAisZGRvcHSKLyBylWAM55SMUDopHa1hpdsxJ9r5TttYWuSGIPEuFWjIZZf8UJ5YKsZuzUK7pDGE6I3fDeDXcFjQT80ooa1d3JLpF260 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: Move 3 fields: modname, filename, function into an anonymous struct, and rename with '_' prefix to catch stale uses. Add 3 desc_*() macros to abstract the field refs. Add DYNAMIC_DEBUG_SITE_INIT() to initialize the fields. no functional change. Signed-off-by: Jim Cromie --- include/linux/dynamic_debug.h | 22 ++++++++++++++++------ lib/dynamic_debug.c | 28 ++++++++++++++-------------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 2237d454bc19..aacfafc466c0 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -13,14 +13,17 @@ * ELF section at every dynamic debug callsite. At runtime, * the special section is treated as an array of these. */ + struct _ddebug { /* * These fields are used to drive the user interface * for selecting and displaying debug callsites. */ - const char *modname; - const char *function; - const char *filename; + struct /* _ddebug_site */ { + const char *_modname; + const char *_function; + const char *_filename; + }; const char *format; unsigned int lineno:18; #define CLS_BITS 6 @@ -61,6 +64,10 @@ struct _ddebug { #endif } __attribute__((aligned(8))); +#define desc_modname(d) (d)->modname +#define desc_filename(d) (d)->filename +#define desc_function(d) (d)->function + enum ddebug_class_map_type { DD_CLASS_TYPE_DISJOINT_BITS, /** @@ -213,12 +220,15 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor, const struct ib_device *ibdev, const char *fmt, ...); +#define DYNAMIC_DEBUG_SITE_INIT() \ + ._modname = KBUILD_MODNAME, \ + ._function = __func__, \ + ._filename = __FILE__ + #define DEFINE_DYNAMIC_DEBUG_METADATA_CLS(name, cls, fmt) \ static struct _ddebug __aligned(8) \ __section("__dyndbg") name = { \ - .modname = KBUILD_MODNAME, \ - .function = __func__, \ - .filename = __FILE__, \ + DYNAMIC_DEBUG_SITE_INIT(), \ .format = (fmt), \ .lineno = __LINE__, \ .flags = _DPRINTK_FLAGS_DEFAULT, \ diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 3dc512fb1d66..c0e595483cb9 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -235,16 +235,16 @@ static int ddebug_change(const struct ddebug_query *query, /* match against the source filename */ if (query->filename && - !match_wildcard(query->filename, dp->filename) && + !match_wildcard(query->filename, desc_filename(dp)) && !match_wildcard(query->filename, - kbasename(dp->filename)) && + kbasename(desc_filename(dp))) && !match_wildcard(query->filename, - trim_prefix(dp->filename))) + trim_prefix(desc_filename(dp)))) continue; /* match against the function */ if (query->function && - !match_wildcard(query->function, dp->function)) + !match_wildcard(query->function, desc_function(dp))) continue; /* match against the format */ @@ -281,8 +281,8 @@ static int ddebug_change(const struct ddebug_query *query, } #endif v4pr_info("changed %s:%d [%s]%s %s => %s\n", - trim_prefix(dp->filename), dp->lineno, - dt->mod_name, dp->function, + trim_prefix(desc_filename(dp)), dp->lineno, + dt->mod_name, desc_function(dp), ddebug_describe_flags(dp->flags, &fbuf), ddebug_describe_flags(newflags, &nbuf)); dp->flags = newflags; @@ -781,13 +781,13 @@ static int __dynamic_emit_prefix(const struct _ddebug *desc, char *buf, int pos) { if (desc->flags & _DPRINTK_FLAGS_INCL_MODNAME) pos += snprintf(buf + pos, remaining(pos), "%s:", - desc->modname); + desc_modname(desc)); if (desc->flags & _DPRINTK_FLAGS_INCL_FUNCNAME) pos += snprintf(buf + pos, remaining(pos), "%s:", - desc->function); + desc_function(desc)); if (desc->flags & _DPRINTK_FLAGS_INCL_SOURCENAME) pos += snprintf(buf + pos, remaining(pos), "%s:", - trim_prefix(desc->filename)); + trim_prefix(desc_filename(desc))); return pos; } @@ -1110,8 +1110,8 @@ static int ddebug_proc_show(struct seq_file *m, void *p) } seq_printf(m, "%s:%u [%s]%s =%s \"", - trim_prefix(dp->filename), dp->lineno, - iter->table->mod_name, dp->function, + trim_prefix(desc_filename(dp)), dp->lineno, + iter->table->mod_name, desc_function(dp), ddebug_describe_flags(dp->flags, &flags)); seq_escape_str(m, dp->format, ESCAPE_SPACE, "\t\r\n\""); seq_puts(m, "\""); @@ -1528,12 +1528,12 @@ static int __init dynamic_debug_init(void) } iter = iter_mod_start = __start___dyndbg; - modname = iter->modname; + modname = desc_modname(iter); i = mod_sites = mod_ct = 0; for (; iter < __stop___dyndbg; iter++, i++, mod_sites++) { - if (strcmp(modname, iter->modname)) { + if (strcmp(modname, desc_modname(iter))) { mod_ct++; di.num_descs = mod_sites; di.descs = iter_mod_start; @@ -1542,7 +1542,7 @@ static int __init dynamic_debug_init(void) goto out_err; mod_sites = 0; - modname = iter->modname; + modname = desc_modname(iter); iter_mod_start = iter; } } -- 2.41.0