All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] (2.5;v3) move LOG_BUF_SIZE to header/config
@ 2002-12-18 18:31 Randy.Dunlap
  2002-12-18 19:06 ` Andrew Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Randy.Dunlap @ 2002-12-18 18:31 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel


Linus,

Patch applies to 2.5.52-bk3.

This makes LOG_BUF_LEN (actually its shift value) a configurable
parameter.  It does this by adding a general/common config file
that can use processor-related dependencies.  This new Kconfig file
is located in linux/kernel/ and is included at the end of each
arch/*/Kconfig file.

Modified to address comments from Christoph Hellwig, James Cloos,
and Andrew Morton, who likes it.

Please apply.

-- 
~Randy


On Tue, 17 Dec 2002, Andrew Morton wrote:

| "Randy.Dunlap" wrote:
| >
| > Changes from yesterday:
| >
| > a.  use a shift value (suggested by HCH); probably still not as quite
| >     as free and open as he suggested, but I had user-friendliness
| >     problems with that.
| >
| > b.  allow a wider range of values (HCH and James Cloos):
| >     smaller added, larger can be added as needed.
| >
| > c.  put common config into kernel/Kconfig and include that in each
| >     arch/*/Kconfig
| >
| > More comments?
|
| Well I like it.  You were missing the arch/ia32/Kconfig include btw...



patch_name:	logbuf-configs-2552b.patch
patch_version:	2002.12.17
author:		Randy Dunlap <rddunlap@osdl.org>
description:	change LOG_BUF_SIZE to a config option (LOG_BUF_SHIFT)
product:	linux
product_versions: 2.5.52
changelog:	(a) move to a common kernel/Kconfig;
		(b) use a SHIFT value (enforces power of 2, gives more choices)
URL:
requires:	kconfig in 2.5.52
conflicts:
diffstat:
 arch/alpha/Kconfig     |    2 +
 arch/arm/Kconfig       |    2 +
 arch/cris/Kconfig      |    2 +
 arch/i386/Kconfig      |    2 +
 arch/ia64/Kconfig      |    3 ++
 arch/m68k/Kconfig      |    2 +
 arch/m68knommu/Kconfig |    2 +
 arch/mips/Kconfig      |    2 +
 arch/mips64/Kconfig    |    2 +
 arch/parisc/Kconfig    |    2 +
 arch/ppc/Kconfig       |    2 +
 arch/ppc64/Kconfig     |    2 +
 arch/s390/Kconfig      |    2 +
 arch/s390x/Kconfig     |    2 +
 arch/sh/Kconfig        |    2 +
 arch/sparc/Kconfig     |    2 +
 arch/sparc64/Kconfig   |    2 +
 arch/um/Kconfig        |    2 +
 arch/v850/Kconfig      |    2 +
 arch/x86_64/Kconfig    |    2 +
 kernel/Kconfig         |   55 +++++++++++++++++++++++++++++++++++++++++++++++++
 kernel/printk.c        |   11 ---------
 22 files changed, 97 insertions(+), 10 deletions(-)


--- ./arch/m68k/Kconfig%LOGBUF	Sun Dec 15 18:08:11 2002
+++ ./arch/m68k/Kconfig	Tue Dec 17 14:08:33 2002
@@ -2346,3 +2346,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/sparc/Kconfig%LOGBUF	Sun Dec 15 18:07:42 2002
+++ ./arch/sparc/Kconfig	Tue Dec 17 14:11:06 2002
@@ -1422,3 +1422,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/sparc64/Kconfig%LOGBUF	Sun Dec 15 18:08:16 2002
+++ ./arch/sparc64/Kconfig	Tue Dec 17 14:11:13 2002
@@ -1710,3 +1710,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/i386/Kconfig%LOGBUF	Sun Dec 15 18:07:47 2002
+++ ./arch/i386/Kconfig	Tue Dec 17 11:38:46 2002
@@ -1610,3 +1610,5 @@
 	bool
 	default y

+source "kernel/Kconfig"
+
--- ./arch/ppc/Kconfig%LOGBUF	Sun Dec 15 18:08:23 2002
+++ ./arch/ppc/Kconfig	Tue Dec 17 14:10:18 2002
@@ -1872,3 +1872,5 @@

 source "crypto/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/m68knommu/Kconfig%LOGBUF	Sun Dec 15 18:08:13 2002
+++ ./arch/m68knommu/Kconfig	Tue Dec 17 14:08:52 2002
@@ -759,3 +759,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/alpha/Kconfig%LOGBUF	Sun Dec 15 18:08:14 2002
+++ ./arch/alpha/Kconfig	Tue Dec 17 14:07:34 2002
@@ -1030,3 +1030,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/cris/Kconfig%LOGBUF	Sun Dec 15 18:08:19 2002
+++ ./arch/cris/Kconfig	Tue Dec 17 14:08:06 2002
@@ -759,3 +759,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/mips/Kconfig%LOGBUF	Sun Dec 15 18:07:56 2002
+++ ./arch/mips/Kconfig	Tue Dec 17 14:08:59 2002
@@ -1284,3 +1284,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/x86_64/Kconfig%LOGBUF	Sun Dec 15 18:08:14 2002
+++ ./arch/x86_64/Kconfig	Tue Dec 17 14:11:54 2002
@@ -700,3 +700,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/ppc64/Kconfig%LOGBUF	Sun Dec 15 18:08:09 2002
+++ ./arch/ppc64/Kconfig	Tue Dec 17 14:10:25 2002
@@ -559,3 +559,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/um/Kconfig%LOGBUF	Sun Dec 15 18:07:57 2002
+++ ./arch/um/Kconfig	Tue Dec 17 14:11:35 2002
@@ -171,3 +171,5 @@

 endmenu

+source "kernel/Kconfig"
+
--- ./arch/arm/Kconfig%LOGBUF	Sun Dec 15 18:08:09 2002
+++ ./arch/arm/Kconfig	Tue Dec 17 14:07:56 2002
@@ -1228,3 +1228,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/parisc/Kconfig%LOGBUF	Sun Dec 15 18:08:11 2002
+++ ./arch/parisc/Kconfig	Tue Dec 17 14:10:11 2002
@@ -423,3 +423,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/ia64/Kconfig%LOGBUF	Sun Dec 15 18:08:21 2002
+++ ./arch/ia64/Kconfig	Tue Dec 17 14:08:24 2002
@@ -891,3 +891,6 @@
 source "security/Kconfig"

 source "crypto/Kconfig"
+
+source "kernel/Kconfig"
+
--- ./arch/mips64/Kconfig%LOGBUF	Sun Dec 15 18:07:52 2002
+++ ./arch/mips64/Kconfig	Tue Dec 17 14:09:07 2002
@@ -727,3 +727,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/s390x/Kconfig%LOGBUF	Sun Dec 15 18:07:59 2002
+++ ./arch/s390x/Kconfig	Tue Dec 17 14:10:41 2002
@@ -346,3 +346,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/v850/Kconfig%LOGBUF	Sun Dec 15 18:07:56 2002
+++ ./arch/v850/Kconfig	Tue Dec 17 14:11:46 2002
@@ -452,4 +452,6 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
 #############################################################################
--- ./arch/sh/Kconfig%LOGBUF	Sun Dec 15 18:08:23 2002
+++ ./arch/sh/Kconfig	Tue Dec 17 14:10:52 2002
@@ -1276,3 +1276,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./arch/s390/Kconfig%LOGBUF	Sun Dec 15 18:07:54 2002
+++ ./arch/s390/Kconfig	Tue Dec 17 14:10:33 2002
@@ -337,3 +337,5 @@

 source "lib/Kconfig"

+source "kernel/Kconfig"
+
--- ./kernel/Kconfig%LOGBUF	Tue Dec 17 14:00:31 2002
+++ ./kernel/Kconfig	Tue Dec 17 14:28:52 2002
@@ -0,0 +1,55 @@
+# This general setup config file is read _after_ all other config files.
+# It is for generic kernel options that cannot be handled elsewhere,
+# including some generic options that are processor-dependent.
+# This is also _not_ for device driver options.
+# They should be handled in their driver subsystem areas.
+
+menu "Common kernel setup (more)"
+
+choice
+	prompt "Kernel log buffer size"
+	default LOG_BUF_SHIFT_17 if ARCH_S390
+	default LOG_BUF_SHIFT_16 if X86_NUMAQ || IA64
+	default LOG_BUF_SHIFT_15 if SMP
+	default LOG_BUF_SHIFT_14
+	help
+	  Select kernel log buffer size from this list (power of 2).
+	  Defaults:  17 (=> 128 KB for S/390)
+		     16 (=> 64 KB for x86 NUMAQ or IA-64)
+	             15 (=> 32 KB for SMP)
+	             14 (=> 16 KB for uniprocessor)
+
+config LOG_BUF_SHIFT_17
+	bool "128 KB"
+	default y if ARCH_S390
+
+config LOG_BUF_SHIFT_16
+	bool "64 KB"
+	default y if X86_NUMAQ || IA64
+
+config LOG_BUF_SHIFT_15
+	bool "32 KB"
+	default y if SMP
+
+config LOG_BUF_SHIFT_14
+	bool "16 KB"
+
+config LOG_BUF_SHIFT_13
+	bool "8 KB"
+
+config LOG_BUF_SHIFT_12
+	bool "4 KB"
+
+endchoice
+
+config LOG_BUF_SHIFT
+	int
+	default 17 if LOG_BUF_SHIFT_17=y
+	default 16 if LOG_BUF_SHIFT_16=y
+	default 15 if LOG_BUF_SHIFT_15=y
+	default 14 if LOG_BUF_SHIFT_14=y
+	default 13 if LOG_BUF_SHIFT_13=y
+	default 12 if LOG_BUF_SHIFT_12=y
+
+endmenu
+
--- ./kernel/printk.c%LOGBUF	Sun Dec 15 18:08:24 2002
+++ ./kernel/printk.c	Tue Dec 17 14:01:50 2002
@@ -30,16 +30,7 @@

 #include <asm/uaccess.h>

-#if defined(CONFIG_X86_NUMAQ) || defined(CONFIG_IA64)
-#define LOG_BUF_LEN	(65536)
-#elif defined(CONFIG_ARCH_S390)
-#define LOG_BUF_LEN	(131072)
-#elif defined(CONFIG_SMP)
-#define LOG_BUF_LEN	(32768)
-#else
-#define LOG_BUF_LEN	(16384)			/* This must be a power of two */
-#endif
-
+#define LOG_BUF_LEN	(1 << CONFIG_LOG_BUF_SHIFT)	/* This must be a power of two */
 #define LOG_BUF_MASK	(LOG_BUF_LEN-1)

 #ifndef arch_consoles_callable


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-12-18 18:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-18 18:31 [PATCH] (2.5;v3) move LOG_BUF_SIZE to header/config Randy.Dunlap
2002-12-18 19:06 ` Andrew Morton

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.