Messages in this thread | | | Subject | Re: Printk mulitple line message support | From | Joe Perches <> | Date | Mon, 14 Nov 2011 06:40:40 -0800 |
| |
On Mon, 2011-11-14 at 14:58 +0800, Huang Ying wrote: > Hi, > > In most cases, printk only guarantees messages from different printk > calling will not be interleaved between each other. But many printk > users uses multiple line to form a complete message and call printk > for each line. So the following situation is possible for two printk > users running on two CPUs. > > line 1 of message from printk user1 > line 1 of message from printk user2 > line 2 of message from printk user1 > line 2 of message from printk user2 > > This makes kernel log hard to read. One possible solution to this > issue is to give a sequence number (or ID) to each complete message. > So the above lines will be: > > {1}line 1 of message from printk user1 > {2}line 1 of message from printk user2 > {1}line 2 of message from printk user1 > {2}line 2 of message from printk user2 > > Then some simple script can be used to group lines together according > to sequence number in lines. > > What do you think about that?
This makes the typical multi-part but non-interleaved output difficult to read.
How about determining if there is interleaving and emitting sequence # only in those cases?
Perhaps test the atomic for the last sequence #.
| |