On Thu, Nov 29, 2001 at 11:06:15AM +0100, Martin Diehl wrote:
> On Wed, 28 Nov 2001, Jean Tourrilhes wrote:
>
> > Another thing I've been talking about. As it's impossible to
> > have new options defaulting to "on", the only thing I can do is to
> > advertise more aggressively the use of FastRR and Debug.
>
> Hi Jean,
>
> is it really impossible to default to "on" - surprizes me? For example,
> in the filesystem section, once the "advancend partition type support"
> group of options is selected, it comes up with MS-DOS partition table
> support defaulting to "on".
>
> This is all determined by arch/*/defconfig. I believe we could do just the
> same thing for FAST_RR (and probably CACHE_LAST_LSAP) - the only point is
> it has to be done for all arch's (and some like arm have quite a long list
> of different such defconfig's) and I'm not sure, who maintains
> this: probably ESR, but might be individual arch maintainers as well.
>
> Anyway, for i386 the patch below would do the job. Of course it does only
> help, when starting from distclean (or mrproper) tree. When using make
> oldconfig with disabled FAST_RR in existing .config, it remains off.
This is somewhat ugly, but let's do it. Patch attached.
Note that I've remove IRDA_OPTIONS. It was plain useless (the
menu is not *that* long) and most people didn't really looked what was
in there, so removing it make the options much more visible. Also,
DEBUG is on by default.
For people using "make oldconfig", the removal of IRDA_OPTIONS
will prompt the other as new.
> Finally, my impression is the important issue might be to make
> distributions ship with this stuff "on".
Are any distributions shipping with IrDA ? In theory, people
doing distributions have the time to read the Configure.help.
> Martin
Jean
diff -u -p linux/net/irda/Config.d3.in linux/net/irda/Config.in
--- linux/net/irda/Config.d3.in Wed Nov 28 14:57:18 2001
+++ linux/net/irda/Config.in Wed Nov 28 15:31:14 2001
@@ -14,13 +14,10 @@ if [ "$CONFIG_NET" != "n" ]; then
source net/irda/irnet/Config.in
source net/irda/ircomm/Config.in
bool ' Ultra (connectionless) protocol' CONFIG_IRDA_ULTRA
- bool ' IrDA protocol options' CONFIG_IRDA_OPTIONS
- if [ "$CONFIG_IRDA_OPTIONS" != "n" ]; then
- comment ' IrDA options'
- bool ' Cache last LSAP' CONFIG_IRDA_CACHE_LAST_LSAP
- bool ' Fast RRs' CONFIG_IRDA_FAST_RR
- bool ' Debug information' CONFIG_IRDA_DEBUG
- fi
+ comment 'IrDA options'
+ bool ' Cache last LSAP' CONFIG_IRDA_CACHE_LAST_LSAP
+ bool ' Fast RRs (low latency)' CONFIG_IRDA_FAST_RR
+ bool ' Debug information' CONFIG_IRDA_DEBUG
fi
if [ "$CONFIG_IRDA" != "n" ]; then
diff -u -p linux/Documentation/Configure.d3.help linux/Documentation/Configure.help
--- linux/Documentation/Configure.d3.help Wed Nov 28 15:03:48 2001
+++ linux/Documentation/Configure.help Wed Nov 28 15:23:50 2001
@@ -22244,11 +22244,6 @@ CONFIG_IRDA_ULTRA
no management frames, simple fixed header).
Ultra is available as a special socket : socket(AF_IRDA, SOCK_DGRAM, 1);
-IrDA protocol options
-CONFIG_IRDA_OPTIONS
- Say Y here if you want to configure any of the following IrDA
- options.
-
IrDA cache last LSAP
CONFIG_IRDA_CACHE_LAST_LSAP
Say Y here if you want IrLMP to cache the last LSAP used. This
@@ -22260,46 +22255,34 @@ CONFIG_IRDA_CACHE_LAST_LSAP
IrDA Fast RRs
CONFIG_IRDA_FAST_RR
Say Y here is you want IrLAP to send fast RR (Receive Ready) frames
- when acting as a primary station. This will make IrLAP send out a RR
- frame immediately when receiving a frame if its own transmit queue
- is currently empty. This will give a lot of speed improvement when
- receiving much data since the secondary station will not have to
- wait the max. turn around time before it is allowed to transmit the
- next time. If the transmit queue of the secondary is also empty the
- primary will back off waiting longer for sending out the RR frame
- until the timeout reaches the normal value. Enabling this option
- will make the IR-diode burn more power and thus reduce your battery
- life.
+ when acting as a primary station.
+ Disabling this option will make latency over IrDA very bad. Enabling
+ this option will make the IrDA stack send more packet than strictly
+ necessary, thus reduce your battery life (but not that much).
+
+ Fast RR will make IrLAP send out a RR frame immediately when
+ receiving a frame if its own transmit queue is currently empty. This
+ will give a lot of speed improvement when receiving much data since
+ the secondary station will not have to wait the max. turn around
+ time (usually 500ms) before it is allowed to transmit the next time.
+ If the transmit queue of the secondary is also empty, the primary will
+ start backing-off before sending another RR frame, waiting longer
+ each time until the back-off reaches the max. turn around time.
+ This back-off increase in controlled via
+ /proc/sys/net/irda/fast_poll_increase
- If unsure, say N.
+ If unsure, say Y.
IrDA debugging information
CONFIG_IRDA_DEBUG
Say Y here if you want the IrDA subsystem to write debug information
to your syslog. You can change the debug level in
/proc/sys/net/irda/debug .
+ When this option is enabled, the IrDA also perform many extra internal
+ verifications which will usually prevent the kernel to crash in case of
+ bugs.
If unsure, say Y (since it makes it easier to find the bugs).
-
-IrLAP compression support
-CONFIG_IRDA_COMPRESSION
- Compression is _not_ part of the IrDA(tm) protocol specification,
- but it's working great! Linux is the first to try out compression
- support at the IrLAP layer. This means that you will only benefit
- from compression if you are running a Linux <-> Linux configuration.
-
- If you say Y here, you also need to say Y or M to a compression
- protocol below.
-
-IrLAP Deflate compression
-CONFIG_IRDA_DEFLATE
- Say Y here if you want to build support for the Deflate compression
- protocol. The deflate compression (GZIP) is exactly
- the same as the one used by the PPP protocol.
-
- If you want to compile this compression support as a module, say M
- here and read <file:Documentation/modules.txt>. The module will be
- called irda_deflate.o.
IrLAN protocol
CONFIG_IRLAN
diff -u -p linux/arch/i386/defconfig.d3 linux/arch/i386/defconfig
--- linux/arch/i386/defconfig.d3 Thu Nov 29 12:02:43 2001
+++ linux/arch/i386/defconfig Thu Nov 29 12:03:18 2001
@@ -489,6 +489,9 @@ CONFIG_PCMCIA_RAYCS=y
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_DEBUG=y
#
# ISDN subsystem