lkml.org 
[lkml]   [2009]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v2] printk: add halt_delay parameter for printk delay in halt phase
    From
    On Sun, Jun 7, 2009 at 10:32 PM, Ingo Molnar<mingo@elte.hu> wrote:
    >
    > * Dave Young <hidave.darkstar@gmail.com> wrote:
    >
    >> Add a halt_delay module parameter in printk.c used to read the printk
    >> messages in halt/poweroff/restart phase, delay each printk messages
    >> by halt_delay milliseconds. It is useful for debugging if there's no
    >> other way to dump kernel messages that time.
    >>
    >> The halt_delay max value is 65535, default value is 0, change it by:
    >>
    >> echo xxx > /sys/module/printk/parameters/halt_delay
    >>
    >> Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
    >> ---
    >> kernel/printk.c |   16 ++++++++++++++++
    >> 1 file changed, 16 insertions(+)
    >>
    >> --- linux-2.6.orig/kernel/printk.c    2009-06-03 10:16:55.000000000 +0800
    >> +++ linux-2.6/kernel/printk.c 2009-06-03 10:32:43.000000000 +0800
    >> @@ -250,6 +250,22 @@ static inline void boot_delay_msec(void)
    >>  }
    >>  #endif
    >>
    >> +/* msecs delay after each halt/poweroff/restart phase printk,
    >> +unsigned short is enough for delay in milliseconds */
    >> +static unsigned short halt_delay;
    >> +
    >> +static inline void halt_delay_msec(void)
    >> +{
    >> +     if (unlikely(halt_delay == 0 || !(system_state == SYSTEM_HALT
    >> +                             || system_state == SYSTEM_POWER_OFF
    >> +                             || system_state == SYSTEM_RESTART)))
    >> +             return;
    >> +
    >> +     mdelay(halt_delay);
    >> +}
    >> +
    >> +module_param(halt_delay, ushort, S_IRUGO | S_IWUSR);
    >> +
    >>  /*
    >>   * Commands to do_syslog:
    >>   *
    >> @@ -649,6 +665,7 @@ asmlinkage int vprintk(const char *fmt,
    >>       char *p;
    >>
    >>       boot_delay_msec();
    >> +     halt_delay_msec();
    >>
    >>       preempt_disable();
    >>       /* This stops the holder of console_sem just where we want him */
    >
    > Looks nice now - but please also add a description to
    > Documentation/kernel-parameters.txt.

    Oops, will add in v3

    >
    > Thanks,
    >
    >        Ingo
    >



    --
    Regards
    dave
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-06-08 09:33    [W:0.030 / U:88.376 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site