2008-02-18 01:21:18

by George Spelvin

[permalink] [raw]
Subject: IO_DELAY documentation

"make oldconfig" doesn't know how to display the per-item help, so
something like this is needed. It was a squeeze to make all the help
text, plus option prompt, fit into 24 lines. If you think that's not
a concern, some of the wording could be improved.

(Added text placed into the public domain; copyright abandoned.)

diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 864affc..8e2ceb6 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -157,6 +157,24 @@ config IO_DELAY_TYPE_NONE
choice
prompt "IO delay type"
default IO_DELAY_0XED
+ help
+ The original IBM PC required short pauses between consecutive
+ accesses to its peripheral chips. This can be provided four ways:
+
+ * A dummy write to port 0x80 has been used for 15 years, but
+ crashes the AMD64-based HP dv9000z laptop. The safest option.
+ * Port 0xED is also believed safe, and testing is requested.
+ * Udelay is awkward to implement in the kernel due to processor
+ speed variations, but should be extremely safe.
+ * All but the very oldest PCs use emulations of the original
+ peripheral chips built into a "Super I/O" chip, and usually
+ do no need the delay at all. The most efficient option.
+
+ On the majority of machines, all four options should work.
+ If you have a computer on which any of the four options
+ (especially _0XED or _NONE) does not work, please report it,
+ with a detailed description of the motherboard (and "lspci -nn"
+ and "dmidecode" output), to [email protected].

config IO_DELAY_0X80
bool "port 0x80 based port-IO delay [recommended]"


2008-02-18 01:54:00

by Calvin Walton

[permalink] [raw]
Subject: Re: IO_DELAY documentation

On Sun, 2008-02-17 at 20:21 -0500, George Spelvin wrote:
> "make oldconfig" doesn't know how to display the per-item help, so
> something like this is needed. It was a squeeze to make all the help
> text, plus option prompt, fit into 24 lines. If you think that's not
> a concern, some of the wording could be improved.

It's not really well documented (I found it by accident), but you can
see the individual item help; you just need to type the choice number
followed by a question mark, like so:

Choose SLAB allocator
1. SLAB (SLAB)
> 2. SLUB (Unqueued Allocator) (SLUB)
choice[1-2?]: 1?

The regular slab allocator that is established and known to work
well in all environments. It organizes cache hot objects in
per cpu and per node queues. SLAB is the default choice for
a slab allocator.

--
Calvin Walton <[email protected]>