From: Rusty Russell <rusty@rustcorp.com.au>
To: Jim Cromie <jim.cromie@gmail.com>
Cc: jbaron@redhat.com, linux-kernel@vger.kernel.org,
Thomas Renninger <trenn@suse.de>,
pawel.moll@arm.com
Subject: Re: [00/11] pr_debug during module initialization
Date: Tue, 20 Mar 2012 09:57:00 +1030 [thread overview]
Message-ID: <87d388qiij.fsf@rustcorp.com.au> (raw)
In-Reply-To: <CAJfuBxxPY_25P70qzmEw0JgoxyCpKDuzB1vKsJR6R-GxS+NGCA@mail.gmail.com>
On Mon, 19 Mar 2012 00:17:29 -0600, Jim Cromie <jim.cromie@gmail.com> wrote:
> On Sun, Mar 18, 2012 at 8:04 PM, Rusty Russell <rusty@rustcorp.com.au> wrote:
> > The module parts seem fine. The re-parsing of the commandline seems
> > weird: I'd really rather see something in unknown_bootoption(), like:
> >
> > /* Unused module parameter. */
> > if (strchr(param, '.') && (!val || strchr(param, '.') < val)) {
> > + /* Check for <module>.dyndebug fake param */
> > + dyndebug_parse(param, val);
> > return 0;
> > }
>
> That is too early - the dyndbg rules cant be activated
> until dynamic_debug_init() runs, which is currently an
> arch_initcall(dynamic_debug_init);
>
> Patch 11 makes it core-initcall, (which Im not sure is ok
> for all cases, but works for me), I also tried it with
> early_initcall (and that worked too)
> but I think thats still after the Booting kernel parse.
Indeed. OK, that's fine then.
> I *could* capture the dyndbg options during Booting kernel
> parse, and activate them once the tables are loaded,
> but this seems convoluted.
Agreed.
> a "private" parse-args. After your earlier suggestion to use a
> callback, it occurred to me that just reusing parse_args would
> work, be fairly minimal (only 2 lines in dynamic_debug_init())
> and its already called a bunch of times; Booting kernel,
> module-load, and do-initcall-level (in Pawel's patch).
> Pawels patch doesnt do anything to avoid reparsing
> boot-time params.
>
> Does this change your weirdness assessment ?
It's still weird to re-parse, but with a comment explaining that we
need to do it again after dynamic_debug_init(). Unless we can call
that explicitly before parse_args().
> Lastly, my earlier rev handled foo.dyndbg params
> for loadable modules. I took that out cuz
> Documentation/kernel-parameters.txt says thats
> for builtins (only, as I read it), and treating foo.dyndbg
> differently should be done w/o discussion.
Yes, when a module 'foo' declares it has a parameter 'bar', it becomes
'foo.bar' if the module is built-in, and just 'bar' if the module is
loaded.
Furthermore, modprobe reads /proc/cmdline when loading foo, looking for
"foo.*" to add to the modprobe arguments.
> > Otherwise, all looks good!
> >
> > Acked-by: Rusty Russell <rusty@rustcorp.com.au>
>
> thanks. I guess the Ack (vs SOB) means that Jason should
> forward it on to Greg as a single set ?
> (subject to his Ack of course)
I assumed it would go via Jason. Otherwise, get his ack and resend to
me.
Thanks,
Rusty.
--
How could I marry someone with more hair than me? http://baldalex.org
next prev parent reply other threads:[~2012-03-19 23:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-14 23:01 [00/11] pr_debug during module initialization jim.cromie
2012-03-14 23:01 ` [PATCH 01/11] init: trivial tweaks to initcall_levels jim.cromie
2012-03-14 23:01 ` [PATCH 02/11] dynamic_debug: fix leading spaces jim.cromie
2012-03-14 23:01 ` [PATCH 03/11] dynamic_debug: replace if (verbose) pr_info with macro vpr_info jim.cromie
2012-03-14 23:01 ` [PATCH 04/11] dynamic_debug: change ddebug_query core param to dyndbg jim.cromie
2012-03-14 23:02 ` [PATCH 05/11] params: add param-name to parse_one's pr_debug() jim.cromie
2012-03-14 23:02 ` [PATCH 06/11] params: add 3rd arg to option handler callback signature jim.cromie
2012-03-14 23:02 ` [PATCH 07/11] dynamic_debug: make dynamic-debug work during module initialization jim.cromie
2012-03-14 23:02 ` [PATCH 08/11] pnp: if CONFIG_DYNAMIC_DEBUG, use pnp.dyndbg instead of pnp.debug jim.cromie
2012-03-14 23:02 ` [PATCH 09/11] dynamic_debug: add modname arg to exec_query callchain jim.cromie
2012-03-14 23:02 ` [PATCH 10/11] dynamic_debug: update Documentation/*, Kconfig.debug jim.cromie
2012-03-14 23:02 ` [PATCH 11/11] dynamic_debug: init with core_initcall, not arch_initcall jim.cromie
2012-03-19 2:04 ` [00/11] pr_debug during module initialization Rusty Russell
2012-03-19 6:17 ` Jim Cromie
2012-03-19 23:27 ` Rusty Russell [this message]
2012-03-23 20:27 ` Jason Baron
2012-03-24 0:12 ` Jim Cromie
2012-03-26 0:24 ` Rusty Russell
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=87d388qiij.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=jbaron@redhat.com \
--cc=jim.cromie@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pawel.moll@arm.com \
--cc=trenn@suse.de \
/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.