[lkml]   [2002]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Event logging vs enhancing printk
    > I'm not aware of that being the case.  The output string
    > is formed into a static buffer and then copied into the
    > printk ring buffer all under spinlock_irqsave(logbuf_lock).
    > If there is something wrong then it would be occurring
    > at the other end - where data is taken out of the ring
    > and is sent to the console device(s). The locking there
    > is OK, I think?

    I think we're talking about slightly different things. I'd agree that
    one call to printk is atomic, and won't get interspersed with other
    things, but if we output a line via multiple calls to printk, then I
    think we have a problem. Say CPU 0 executes this bit of code:

    for (i=0; i<10; i++) { printk ("%d ", i); } printk("\n");

    and CPU 1 does "printk("hello\n");" then instead of getting either

    0 1 2 3 4 5 6 7 8 9


    0 1 2 3 4 5 6 7 8 9

    either of which would be fine, we may get

    0 1 2 3 hello
    4 5 6 7 8 9

    which I don't think is fine - obviously the example is somewhat
    trite, but with the real instances of things that build output for one
    line through multiple calls to printk, you can get unreadable garbage,
    if I read the code correctly ?


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:25    [W:0.028 / U:4.268 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site