Re: + remove-current-defines-and-uses-of-pr_err-add-pr_emerg.patchadded to -mm tree

From: Joe Perches
Date: Wed Aug 08 2007 - 18:22:42 EST


On Wed, 2007-08-08 at 23:57 +0200, Jan Engelhardt wrote:
> fs/freevxfs/vxfs_bmap.c:line 169 (near "case VXFS_TYPED_DATA_DEV4")
>
> printk(KERN_INFO "\n\nTYPED_DEV4 detected!\n");
> Seems normal.

The second output log line of the first printk isn't prefixed
with KERN_INFO. It's output with log_level_unknown.

> So it looks like your regex has some false positives.
> (which nothing can be done about - the 61 must be hand-sorted)

Must have copy/pasted the wrong regex

$ egrep -r "printk[[:space:]]*\([[:space:]]*KERN.*\\\n[A-JL-Za-jl-z[:space:]]" --include=*.[ch] * | wc -l
61

> [My idea is above]

Any sequence of printks can be interleaved. I don't see
how your suggestion changes that.

> >Maybe an external tool to reassemble complete messages from
> >prefixed {{cookie}} message logs would be fine for awhile.
> >
> >Perhaps something like:
> >
> >cookie = printk_block_start()
> >printk_block[s](cookie)
> >printk_block_end(cookie)?
> >
> >where printk_block emits cookie when multiple cookies
> >are active.
>
> How is this supposed to work? Are you suggesting that the printk buffer is
> locked?

No, just another identifier placed into logs that allow messages
to be reassembled into something readable when multiple printk_block's
are active.

> Now, if you hold the output of a printk block until it's _end()
> counterpart is executed, the user does not get any output when the
> machine locks up during the for loop.

External tool scans logs. No blocking or delay in output.

cheers, Joe

-
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/