Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 346359
b: refs/heads/master
c: 2fa72c8
h: refs/heads/master
i:
  346357: a99e7b7
  346355: a1bf36a
  346351: a9fe1f7
v: v3
  • Loading branch information
Andrew Cooks authored and Linus Torvalds committed Dec 18, 2012
1 parent 67819b6 commit 1654a56
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: afde3be121efcc658e26f8cc71ead04af96d38f9
refs/heads/master: 2fa72c8fa5d03c4e07894ccb9f0be72e8687a455
40 changes: 21 additions & 19 deletions trunk/kernel/printk.c
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,21 @@ void __init setup_log_buf(int early)
free, (free * 100) / __LOG_BUF_LEN);
}

static bool __read_mostly ignore_loglevel;

static int __init ignore_loglevel_setup(char *str)
{
ignore_loglevel = 1;
printk(KERN_INFO "debug: ignoring loglevel setting.\n");

return 0;
}

early_param("ignore_loglevel", ignore_loglevel_setup);
module_param(ignore_loglevel, bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(ignore_loglevel, "ignore loglevel setting, to"
"print all kernel messages to the console.");

#ifdef CONFIG_BOOT_PRINTK_DELAY

static int boot_delay; /* msecs delay after each printk during bootup */
Expand All @@ -770,13 +785,15 @@ static int __init boot_delay_setup(char *str)
}
__setup("boot_delay=", boot_delay_setup);

static void boot_delay_msec(void)
static void boot_delay_msec(int level)
{
unsigned long long k;
unsigned long timeout;

if (boot_delay == 0 || system_state != SYSTEM_BOOTING)
if ((boot_delay == 0 || system_state != SYSTEM_BOOTING)
|| (level >= console_loglevel && !ignore_loglevel)) {
return;
}

k = (unsigned long long)loops_per_msec * boot_delay;

Expand All @@ -795,7 +812,7 @@ static void boot_delay_msec(void)
}
}
#else
static inline void boot_delay_msec(void)
static inline void boot_delay_msec(int level)
{
}
#endif
Expand Down Expand Up @@ -1238,21 +1255,6 @@ SYSCALL_DEFINE3(syslog, int, type, char __user *, buf, int, len)
return do_syslog(type, buf, len, SYSLOG_FROM_CALL);
}

static bool __read_mostly ignore_loglevel;

static int __init ignore_loglevel_setup(char *str)
{
ignore_loglevel = 1;
printk(KERN_INFO "debug: ignoring loglevel setting.\n");

return 0;
}

early_param("ignore_loglevel", ignore_loglevel_setup);
module_param(ignore_loglevel, bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(ignore_loglevel, "ignore loglevel setting, to"
"print all kernel messages to the console.");

/*
* Call the console drivers, asking them to write out
* log_buf[start] to log_buf[end - 1].
Expand Down Expand Up @@ -1498,7 +1500,7 @@ asmlinkage int vprintk_emit(int facility, int level,
int this_cpu;
int printed_len = 0;

boot_delay_msec();
boot_delay_msec(level);
printk_delay();

/* This stops the holder of console_sem just where we want him */
Expand Down

0 comments on commit 1654a56

Please sign in to comment.