Re: [ patch 00/21 ] support multiple, pending ddebugs at kernel-boot

From: Jim Cromie
Date: Tue Jul 12 2011 - 03:39:53 EST


On Mon, Jul 11, 2011 at 11:53 PM, Bart Van Assche <bvanassche@xxxxxxx> wrote:
> On Mon, Jul 11, 2011 at 9:06 PM, Jim Cromie <jim.cromie@xxxxxxxxx> wrote:
>> On Mon, Jul 11, 2011 at 12:30 PM, Bart Van Assche <bvanassche@xxxxxxx> wrote:
>>> As far as I can see with v2 of this patch set a query gets on the
>>> pending list if either +a has been specified or no matches were found
>>> the first time a query is run. Are both mechanisms necessary ? If not,
>>> I propose to leave out the second. That will not only allow to
>>> simplify the code somewhat but will also reduce confusion for
>>> dynamic_printk users.
>>>
>>
>> Both conditions are necessary:
>> - 'a' flag required,
>> - query not directly applicable.
>>
>> root@voyage:~# echo "module nosuch +p" > /dbg/dynamic_debug/control
>> root@voyage:~# cat /sys/module/dynamic_debug/parameters/pending_ct
>> 0
>>
>> root@voyage:~# echo "module nosuch +ap" > /dbg/dynamic_debug/control
>> root@voyage:~# cat /sys/module/dynamic_debug/parameters/pending_ct
>> 1
>
> The above example contradicts the following code added in patch 09/21:
>
>        /* actually go and implement the change */
>        nfound = ddebug_change(&query, flags, mask);
> +
> +       pr_info("nfound %d on %s\n", nfound, show_ddebug_query(&query));
> +       if (!nfound)
> +               return ddebug_save_pending(&query, flags, mask);
> +
>        return 0;
>
> Bart.
>

In patch 13, that becomes

+ if (!nfound) {
+ if (flags & _DPRINTK_FLAGS_APPEND)
+ return ddebug_save_pending(&query, flags, mask);
+ else
+ pr_warn("no match on: %s\n",
+ show_ddebug_query(&query));
+ }
return 0;
}


its altered once more, when I add filter-flags,
but that doesnt really change my assertion.

nfound = ddebug_change(&query, flags, mask, filter);
if (!nfound) {
- if (flags & _DPRINTK_FLAGS_APPEND)
+ if (flags & _DPRINTK_FLAGS_APPEND ||
+ filter & _DPRINTK_FLAGS_APPEND)
rc = ddebug_save_pending(&query, flags, mask);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/