will be printed to your console. (``0``, for example would make
             it so that only emergency messages like PANICs or OOPSes would
             make it to your console.)
+
+``R``      Replay the kernel log messages on consoles.
 =========== ===================================================================
 
 Okay, so what can I use them for?
 "just thaw ``it(j)``" is useful if your system becomes unresponsive due to a
 frozen (probably root) filesystem via the FIFREEZE ioctl.
 
+``Replay logs(R)`` is useful to view the kernel log messages when system is hung
+or you are not able to use dmesg command to view the messages in printk buffer.
+User may have to press the key combination multiple times if console system is
+busy. If it is completely locked up, then messages won't be printed. Output
+messages depend on current console loglevel, which can be modified using
+sysrq[0-9] (see above).
+
 Sometimes SysRq seems to get 'stuck' after using it, what can I do?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
        .enable_mask    = SYSRQ_ENABLE_RTNICE,
 };
 
+static void sysrq_handle_replay_logs(u8 key)
+{
+       console_replay_all();
+}
+static struct sysrq_key_op sysrq_replay_logs_op = {
+       .handler        = sysrq_handle_replay_logs,
+       .help_msg       = "replay-kernel-logs(R)",
+       .action_msg     = "Replay kernel logs on consoles",
+       .enable_mask    = SYSRQ_ENABLE_DUMP,
+};
+
 /* Key Operations table and lock */
 static DEFINE_SPINLOCK(sysrq_key_table_lock);
 
        NULL,                           /* O */
        NULL,                           /* P */
        NULL,                           /* Q */
-       NULL,                           /* R */
+       &sysrq_replay_logs_op,          /* R */
        NULL,                           /* S */
        NULL,                           /* T */
        NULL,                           /* U */