Re: [PATCH RESEND 1/3] printk: convert byte-buffer to variable-lengthrecord buffer

From: Kay Sievers
Date: Thu May 10 2012 - 17:15:31 EST


On Thu, May 10, 2012 at 11:11 PM, Joe Perches <joe@xxxxxxxxxxx> wrote:
> On Thu, 2012-05-10 at 13:52 -0700, Linus Torvalds wrote:
>> On Thu, May 10, 2012 at 1:46 PM, Joe Perches <joe@xxxxxxxxxxx> wrote:
>> >
>> > That's where I think you're still a bit
>> > uncertain how the _current_ printk system
>> > works.
>>
>> No, you are. Read my answer from two days ago in this thread.
>>
>> KERN_CONT is *not* the same as "". Not now, not ever. If you make it
>> the same, you're broken.
>>
>> The reason is simple: KERN_CONT "<3>" should print out the string
>> "<3>".
>
> I think it's a distinction without a difference for,
> as fas as I know, that's a case that doesn't exist
> in the current kernel.
>
> $ grep -rP --include=*.[ch] "\bpr_cont\s*\(\s*\"<" *
> $ grep -rP --include=*.[ch] "\bprintk\s*\(\s*KERN_CONT\s*\"<" *
> arch/x86/kernel/dumpstack_32.c: Â Â Â Â Â Â Â Â Â Â Â Â printk(KERN_CONT "<%02x> ", c);
> arch/x86/kernel/dumpstack_64.c: Â Â Â Â Â Â Â Â Â Â Â Â printk(KERN_CONT "<%02x> ", c);
> arch/powerpc/kernel/process.c: Â Â Â Â Â Â Â Â Â Â Â Â Âprintk(KERN_CONT "<%08x> ", instr);
> drivers/media/video/tm6000/tm6000-core.c: Â Â Â Â Â Â Â Â Â Â Â printk(KERN_CONT "<<< ");
> drivers/media/video/cx231xx/cx231xx-core.c: Â Â Â Â Â Â Â Â Â Â printk(KERN_CONT "<<<");

It surely does, and we needed to add KERN_CONT in the past because
stuff got eaten by the prefix parser.
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=40c8cefaaf12734327db7199a56e60058d98e7b6
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=13f541c10b30fc6529200d7f9a0073217709622f

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