All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jim Cromie <jim.cromie@gmail.com>
To: jbaron@akamai.com, linux-kernel@vger.kernel.org,
	akpm@linuxfoundation.org, gregkh@linuxfoundation.org
Cc: linux@rasmusvillemoes.dk, Jim Cromie <jim.cromie@gmail.com>
Subject: [PATCH 12/16] dyndbg: add filter parameter to ddebug_parse_flags
Date: Fri,  5 Jun 2020 10:26:41 -0600	[thread overview]
Message-ID: <20200605162645.289174-13-jim.cromie@gmail.com> (raw)
In-Reply-To: <20200605162645.289174-1-jim.cromie@gmail.com>

Add a new *filter param to ddebug_parse_flags(), allowing it to
communicate optional filter flags back to its caller: ddebug_change()

Also, ddebug_change doesn't alter any of its arguments, including its 2
new ones; mods, filter.  Say so by adding const modifier to them.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
 lib/dynamic_debug.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index 2ecabfd3f432..32eb7d9545c7 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -146,7 +146,8 @@ static void vpr_info_dq(const struct ddebug_query *query, const char *msg)
  * logs the changes.  Takes ddebug_lock.
  */
 static int ddebug_change(const struct ddebug_query *query,
-			 struct flagsettings *mods)
+			 const struct flagsettings *mods,
+			 const struct flagsettings *filter)
 {
 	int i;
 	struct ddebug_table *dt;
@@ -444,7 +445,10 @@ static int ddebug_read_flags(const char *str, struct flagsettings *f)
  * flags fields of matched _ddebug's.  Returns 0 on success
  * or <0 on error.
  */
-static int ddebug_parse_flags(const char *str, struct flagsettings *mods)
+
+static int ddebug_parse_flags(const char *str,
+			      struct flagsettings *mods,
+			      struct flagsettings *filter)
 {
 	int op;
 
@@ -476,7 +480,9 @@ static int ddebug_parse_flags(const char *str, struct flagsettings *mods)
 		mods->flags = 0;
 		break;
 	}
-	vpr_info("*flagsp=0x%x *maskp=0x%x\n", mods->flags, mods->mask);
+
+	vpr_info("mods:flags=0x%x,mask=0x%x filter:flags=0x%x,mask=0x%x\n",
+		 mods->flags, mods->mask, filter->flags, filter->mask);
 
 	return 0;
 }
@@ -484,6 +490,7 @@ static int ddebug_parse_flags(const char *str, struct flagsettings *mods)
 static int ddebug_exec_query(char *query_string, const char *modname)
 {
 	struct flagsettings mods = {};
+	struct flagsettings filter = {};
 	struct ddebug_query query;
 #define MAXWORDS 9
 	int nwords, nfound;
@@ -495,7 +502,7 @@ static int ddebug_exec_query(char *query_string, const char *modname)
 		return -EINVAL;
 	}
 	/* check flags 1st (last arg) so query is pairs of spec,val */
-	if (ddebug_parse_flags(words[nwords-1], &mods)) {
+	if (ddebug_parse_flags(words[nwords-1], &mods, &filter)) {
 		pr_err("flags parse failed\n");
 		return -EINVAL;
 	}
@@ -504,7 +511,7 @@ static int ddebug_exec_query(char *query_string, const char *modname)
 		return -EINVAL;
 	}
 	/* actually go and implement the change */
-	nfound = ddebug_change(&query, &mods);
+	nfound = ddebug_change(&query, &mods, &filter);
 	vpr_info_dq(&query, nfound ? "applied" : "no-match");
 
 	return nfound;
-- 
2.26.2


  parent reply	other threads:[~2020-06-05 16:28 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-05 16:26 [PATCH 00/16] dynamic_debug: cleanups, 2 features Jim Cromie
2020-06-05 16:26 ` [PATCH 01/16] dyndbg-docs: eschew file /full/path query in docs Jim Cromie
2020-06-05 16:26 ` [PATCH 02/16] dyndbg: drop obsolete comment on ddebug_proc_open Jim Cromie
2020-06-05 16:26 ` [PATCH 03/16] dyndbg: refine debug verbosity; 1 is basic, 2 more chatty Jim Cromie
2020-06-08 11:21   ` Daniel Thompson
2020-06-09 19:59     ` jim.cromie
2020-06-10 11:16       ` Daniel Thompson
2020-06-10 13:45         ` jim.cromie
2020-06-05 16:26 ` [PATCH 04/16] dyndbg: rename __verbose section to __dyndbg Jim Cromie
2020-06-05 16:26 ` [PATCH 05/16] dyndbg: fix overcounting of ram used by dyndbg Jim Cromie
2020-06-05 16:26 ` [PATCH 06/16] dyndbg: fix a BUG_ON in ddebug_describe_flags Jim Cromie
2020-06-05 16:26 ` [PATCH 07/16] dyndbg: make ddebug_tables list LIFO for add/remove_module Jim Cromie
2020-06-05 16:26 ` [PATCH 08/16] dyndbg: refactor parse_linerange out of ddebug_parse_query Jim Cromie
2020-06-05 16:26 ` [PATCH 09/16] dyndbg: accept 'file foo.c:func1' and 'file foo.c:10-100' Jim Cromie
2020-06-12 20:36   ` Jason Baron
2020-06-05 16:26 ` [PATCH 10/16] dyndbg: refactor ddebug_read_flags out of ddebug_parse_flags Jim Cromie
2020-06-05 16:26 ` [PATCH 11/16] dyndbg: combine flags & mask into a struct, use that Jim Cromie
2020-06-05 16:26 ` Jim Cromie [this message]
2020-06-12 21:05   ` [PATCH 12/16] dyndbg: add filter parameter to ddebug_parse_flags Jason Baron
2020-06-05 16:26 ` [PATCH 13/16] dyndbg: extend ddebug_parse_flags to accept optional leading filter-flags Jim Cromie
2020-06-05 16:26 ` [PATCH 14/16] dyndbg: prefer declarative init in caller, to memset in callee Jim Cromie
2020-06-05 16:26 ` [PATCH 15/16] dyndbg: add user-flag, negating-flags, and filtering on flags Jim Cromie
2020-06-05 16:26 ` [PATCH 16/16] dyndbg: allow negating flag-chars in modflags Jim Cromie
2020-06-12 21:31 ` [PATCH 00/16] dynamic_debug: cleanups, 2 features Jason Baron
2020-06-13  2:19   ` jim.cromie
  -- strict thread matches above, loose matches on Subject: below --
2019-10-29 20:01 [PATCH 12/16] dyndbg: add filter parameter to ddebug_parse_flags Jim Cromie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200605162645.289174-13-jim.cromie@gmail.com \
    --to=jim.cromie@gmail.com \
    --cc=akpm@linuxfoundation.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jbaron@akamai.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.