lkml.org 
[lkml]   [2015]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCHSET] printk, netconsole: implement reliable netconsole
From
Date
Tejun Heo wrote:
> > printk() cannot wait for ack. Trying to wait for ack would break something.
> > How can you transmit subsequent kernel messages which failed to enqueue
> > due to waiting for ack for previous kernel messages?
>
> Well, if log buffer overflows and the messages aren't at the logging
> target yet, they're lost. It's the same as doing dmesg on localhost,
> isn't it? This doesn't have much to do with where the reliability
> logic is implemented and is exactly the same with local logging too.

If you tolerate loss of kernel messages, adding sequence number to each UDP
packet will be sufficient for finding out whether the packets were lost and/or
reordered in flight.

printk("Hello");
=> netconsole sends "00000000 Hello" using UDP
printk("netconsole");
=> netconsole sends "00000001 netconsole" using UDP
printk("world\n");
=> netconsole sends "00000002 world\n" using UDP

It might be nice to allow administrator to prefix a sequence number
to netconsole messages for those who are using special receiver
program (e.g. ncrx) which checks that sequence number.

>
> Thanks.
>
> --
> tejun
>


\
 
 \ /
  Last update: 2015-04-17 20:41    [W:0.087 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site