From: Stefani Seibold <stefani@seibold.net>
To: torvalds@transmeta.com, alan@lxorguk.ukuu.org.uk
Cc: Andrew Morton <andrewm@uow.edu.au>,
David Weinehall <tao@acc.umu.se>,
linux-kernel@vger.kernel.org, Stefani@seibold.net
Subject: Re: patch for 2.4.0 disable printk
Date: Sat, 27 Jan 2001 23:31:35 +0100 [thread overview]
Message-ID: <01012723313500.01190@deepthought.seibold.net> (raw)
Hi guys,
thanks for the feedback. This is now the second try of my disable printk
patch.
First i moved the option for disabling the prinbtk messages form the menu
character devices to kernel hacking.
Second, i had change the macro so it calls now a inline funciton
printk_inline which always return 0. So it should be now compatibel to the
standard printk funciton.
I hope you like the patch...
Greetings,
Stefani
-----patch for 2.4.0 disable printk-----
diff -u --recursive --new-file linux/Documentation/Configure.help
linux.noprintk/Documentation/Configure.help
--- linux/Documentation/Configure.help Thu Jan 4 22:00:55 2001
+++ linux.noprintk/Documentation/Configure.help Thu Jan 18 12:14:41 2001
@@ -12139,6 +12179,14 @@
If unsure, say Y, or else you won't be able to do much with your new
shiny Linux system :-)
+
+Disable kernel messages
+CONFIG_PRINTK
+ This option allows you to disable all kernel messages by overriding
+ the printk function with an empty macro.
+ On small embedded systems, this save a lot of rom and ram space. On
+ server or desktop systems you want human readable outputs, so it is
+ normally the best choice to say N to this option.
Support for console on virtual terminal
CONFIG_VT_CONSOLE
diff -u --recursive --new-file linux/include/asm-i386/spinlock.h
linux.noprintk/include/asm-i386/spinlock.h
--- linux/include/asm-i386/spinlock.h Thu Jan 4 23:50:46 2001
+++ linux.noprintk/include/asm-i386/spinlock.h Thu Jan 25 23:07:43 2001
@@ -5,8 +5,10 @@
#include <asm/rwlock.h>
#include <asm/page.h>
+#ifndef CONFIG_PRINTK
extern int printk(const char * fmt, ...)
__attribute__ ((format (printf, 1, 2)));
+#endif
/* It seems that people are forgetting to
* initialize their spinlocks properly, tsk tsk.
diff -u --recursive --new-file linux/include/linux/kernel.h
linux.noprintk/include/linux/kernel.h
--- linux/include/linux/kernel.h Mon Dec 11 21:49:54 2000
+++ linux.noprintk/include/linux/kernel.h Sat Jan 27 22:22:59 2001
@@ -68,8 +68,18 @@
extern int session_of_pgrp(int pgrp);
+#ifdef CONFIG_PRINTK
+#define printk(x...) printk_inline()
+
+static inline int printk_inline(void) __attribute__ ((const,unused));
+
+static inline int printk_inline(void) { return 0; }
+#else
+
asmlinkage int printk(const char * fmt, ...)
__attribute__ ((format (printf, 1, 2)));
+#endif
+
extern int console_loglevel;
diff -u --recursive --new-file linux/kernel/ksyms.c
linux.noprintk/kernel/ksyms.c
--- linux/kernel/ksyms.c Wed Jan 3 01:45:37 2001
+++ linux.noprintk/kernel/ksyms.c Thu Jan 18 12:14:41 2001
@@ -439,7 +440,9 @@
/* misc */
EXPORT_SYMBOL(panic);
+#ifndef CONFIG_PRINTK
EXPORT_SYMBOL(printk);
+#endif
EXPORT_SYMBOL(sprintf);
EXPORT_SYMBOL(vsprintf);
EXPORT_SYMBOL(kdevname);
diff -u --recursive --new-file linux/kernel/printk.c
linux.noprintk/kernel/printk.c
--- linux/kernel/printk.c Sun Dec 31 03:16:13 2000
+++ linux.noprintk/kernel/printk.c Thu Jan 25 23:03:37 2001
@@ -25,7 +25,9 @@
#define LOG_BUF_LEN (16384)
#define LOG_BUF_MASK (LOG_BUF_LEN-1)
+#ifndef CONFIG_PRINTK
static char buf[1024];
+#endif
/* printk's without a loglevel use this.. */
#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */
@@ -251,6 +253,20 @@
return do_syslog(type, buf, len);
}
+
+#ifdef CONFIG_PRINTK
+#undef printk
+
+#include <linux/module.h>
+
+asmlinkage int printk(const char *fmt, ...)
+{
+ return 0;
+}
+
+EXPORT_SYMBOL_NOVERS(printk);
+
+#else
asmlinkage int printk(const char *fmt, ...)
{
va_list args;
@@ -311,6 +322,7 @@
wake_up_interruptible(&log_wait);
return i;
}
+#endif
void console_print(const char *s)
{
diff -u --recursive --new-file linux/CREDITS linux.noprintk/CREDITS
--- linux/CREDITS Sun Dec 31 18:27:57 2000
+++ linux.noprintk/CREDITS Fri Jan 26 10:51:19 2001
@@ -2395,6 +2395,14 @@
S: Oldenburg
S: Germany
+N: Stefani Seibold
+E: Stefani@Seibold.net
+D: Possibility to disable all kernel messages by overload printk with a
+D: dummy macro (saves a lot of disk- and ramspace for embedded systems
+D: and rescue disks)
+S: Munich
+S: Germany
+
N: Darren Senn
E: sinster@darkwater.com
D: Whatever I notice needs doing (so far: itimers, /proc)
diff -u --recursive --new-file linux/arch/alpha/config.in
linux.noprintk/arch/alpha/config.in
--- linux/arch/alpha/config.in Fri Dec 29 23:07:19 2000
+++ linux.noprintk/arch/alpha/config.in Sat Jan 27 22:37:20 2001
@@ -359,6 +359,7 @@
fi
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
bool 'Legacy kernel start address' CONFIG_ALPHA_LEGACY_START_ADDRESS
diff -u --recursive --new-file linux/arch/arm/config.in
linux.noprintk/arch/arm/config.in
--- linux/arch/arm/config.in Thu Nov 16 21:51:28 2000
+++ linux.noprintk/arch/arm/config.in Sat Jan 27 22:34:57 2001
@@ -414,6 +414,7 @@
bool 'Verbose user fault messages' CONFIG_DEBUG_USER
bool 'Include debugging information in kernel binary' CONFIG_DEBUG_INFO
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
if [ "$CONFIG_CPU_26" = "y" ]; then
bool 'Disable pgtable cache' CONFIG_NO_PGT_CACHE
fi
diff -u --recursive --new-file linux/arch/i386/config.in
linux.noprintk/arch/i386/config.in
--- linux/arch/i386/config.in Fri Dec 29 23:35:47 2000
+++ linux.noprintk/arch/i386/config.in Sat Jan 27 22:36:09 2001
@@ -374,4 +374,5 @@
#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
endmenu
diff -u --recursive --new-file linux/arch/ia64/config.in
linux.noprintk/arch/ia64/config.in
--- linux/arch/ia64/config.in Thu Jan 4 21:50:17 2001
+++ linux.noprintk/arch/ia64/config.in Sat Jan 27 22:36:48 2001
@@ -249,6 +249,7 @@
fi
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
bool 'Early printk support (requires VGA!)' CONFIG_IA64_EARLY_PRINTK
bool 'Turn on compare-and-exchange bug checking (slow!)'
CONFIG_IA64_DEBUG_CMPXCHG
bool 'Turn on irq debug checks (slow!)' CONFIG_IA64_DEBUG_IRQ
diff -u --recursive --new-file linux/arch/m68k/config.in
linux.noprintk/arch/m68k/config.in
--- linux/arch/m68k/config.in Thu Jan 4 22:00:55 2001
+++ linux.noprintk/arch/m68k/config.in Sat Jan 27 22:36:57 2001
@@ -538,4 +538,5 @@
#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
endmenu
diff -u --recursive --new-file linux/arch/mips/config.in
linux.noprintk/arch/mips/config.in
--- linux/arch/mips/config.in Thu Nov 16 21:51:28 2000
+++ linux.noprintk/arch/mips/config.in Sat Jan 27 22:37:02 2001
@@ -397,4 +397,5 @@
bool 'Remote GDB kernel debugging' CONFIG_REMOTE_DEBUG
fi
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
endmenu
diff -u --recursive --new-file linux/arch/mips64/config.in
linux.noprintk/arch/mips64/config.in
--- linux/arch/mips64/config.in Wed Nov 29 06:42:04 2000
+++ linux.noprintk/arch/mips64/config.in Sat Jan 27 22:37:45 2001
@@ -266,4 +266,5 @@
fi
bool 'Remote GDB kernel debugging' CONFIG_REMOTE_DEBUG
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
endmenu
diff -u --recursive --new-file linux/arch/parisc/config.in
linux.noprintk/arch/parisc/config.in
--- linux/arch/parisc/config.in Tue Dec 5 21:29:39 2000
+++ linux.noprintk/arch/parisc/config.in Sat Jan 27 22:37:51 2001
@@ -204,5 +204,6 @@
#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
endmenu
diff -u --recursive --new-file linux/arch/ppc/config.in
linux.noprintk/arch/ppc/config.in
--- linux/arch/ppc/config.in Thu Nov 16 21:51:28 2000
+++ linux.noprintk/arch/ppc/config.in Sat Jan 27 22:35:33 2001
@@ -324,6 +324,7 @@
comment 'Kernel hacking'
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
bool 'Include kgdb kernel debugger' CONFIG_KGDB
bool 'Include xmon kernel debugger' CONFIG_XMON
endmenu
diff -u --recursive --new-file linux/arch/s390/config.in
linux.noprintk/arch/s390/config.in
--- linux/arch/s390/config.in Thu Nov 16 21:51:28 2000
+++ linux.noprintk/arch/s390/config.in Sat Jan 27 22:37:14 2001
@@ -77,5 +77,6 @@
bool 'Remote GDB kernel debugging' CONFIG_REMOTE_DEBUG
fi
# this does not work. bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
endmenu
diff -u --recursive --new-file linux/arch/sh/config.in
linux.noprintk/arch/sh/config.in
--- linux/arch/sh/config.in Thu Jan 4 22:19:13 2001
+++ linux.noprintk/arch/sh/config.in Sat Jan 27 22:35:09 2001
@@ -260,6 +260,7 @@
comment 'Kernel hacking'
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
bool 'Use LinuxSH standard BIOS' CONFIG_SH_STANDARD_BIOS
if [ "$CONFIG_SH_STANDARD_BIOS" = "y" ]; then
bool 'GDB Stub kernel debug' CONFIG_DEBUG_KERNEL_WITH_GDB_STUB
diff -u --recursive --new-file linux/arch/sparc/config.in
linux.noprintk/arch/sparc/config.in
--- linux/arch/sparc/config.in Wed Nov 29 06:53:44 2000
+++ linux.noprintk/arch/sparc/config.in Sat Jan 27 22:37:29 2001
@@ -258,4 +258,5 @@
comment 'Kernel hacking'
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
endmenu
diff -u --recursive --new-file linux/arch/sparc64/config.in
linux.noprintk/arch/sparc64/config.in
--- linux/arch/sparc64/config.in Thu Nov 16 21:51:28 2000
+++ linux.noprintk/arch/sparc64/config.in Sat Jan 27 22:37:38 2001
@@ -331,5 +331,6 @@
comment 'Kernel hacking'
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+bool 'Disable kernel messages' CONFIG_PRINTK
#bool 'ECache flush trap support at ta 0x72' CONFIG_EC_FLUSH_TRAP
endmenu
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next reply other threads:[~2001-01-27 22:34 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-27 22:31 Stefani Seibold [this message]
2001-01-28 0:44 ` patch for 2.4.0 disable printk Andrew Morton
2001-01-28 9:27 ` Stefani Seibold
2001-01-28 17:32 ` Jamie Lokier
2001-01-29 2:48 ` Paul Gortmaker
-- strict thread matches above, loose matches on Subject: below --
2001-01-26 20:46 Stefani Seibold
2001-01-26 21:13 ` David Weinehall
2001-01-26 11:05 Stefani Seibold
2001-01-27 0:09 ` Thunder from the hill
2001-01-27 10:57 ` Stefani Seibold
2001-01-29 17:40 ` James Simmons
2001-01-29 20:17 ` Stefani Seibold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=01012723313500.01190@deepthought.seibold.net \
--to=stefani@seibold.net \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andrewm@uow.edu.au \
--cc=linux-kernel@vger.kernel.org \
--cc=tao@acc.umu.se \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.