Re: [PATCH 2/13] ATA ACPI: debugging infrastructure

From: Jeff Garzik
Date: Tue Feb 28 2006 - 07:29:18 EST


Andrew Morton wrote:
Jeff Garzik <jgarzik@xxxxxxxxx> wrote:

Fine-grained message selection allows one to turn on only the messages needed, and only for the controller desired.


Except

- There's (presently) no way of making all the messages go away for a
non-debug build.

They aren't supposed to go away.


- The code is structured as

if (ata_msg_foo(p))
printk("something");

So if we later do

#define ata_msg_foo(p) 0

We'll still get copies of "something" in the kernel image (may be fixed
in later gcc, dunno).

We don't do that in net driver land, and I don't wish to do it for libata either. Its just a bit test, that jumps over code if the message class isn't enabled (see link below).

We want users to be able to enable specific messages for specific controllers, without recompiling their kernel.

grep for msg_enable in various net drivers. ethtool(8) is used to select specific controllers and messages to print.


- The new debug stuff isn't documented. One has funble around in the
source to work out how to even turn it on. Can it be altered at runtime?
Dunno - the changelogs are risible. What effect do the various flags
have?

The model has always been documented:
http://www.scyld.com/pipermail/vortex/2001-November/001426.html
(scroll down a tad)

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/