Difficulty: beginner / intermediate
Modern network drivers have a per-NIC list of debugging messages that
can be enabled/disabled at runtime, implemented as a bitmask named
'msg_enable' in each driver. VERY useful for tracing specific events
during debugging. grep for 'msg_enable', 'netif_msg_', and 'NETIF_MSG_'.
To make libata debugging easier and more fine-grained, we should convert
DPRINTK/VPRINTK calls in libata to code that looks like
if (ata_msg_xxx(ap->msg_enable))
printk(...)
The task involves:
* reviewing net driver msg_enable usage
* reviewing original netif_msg documentation by Donald Becker, at
(scroll down)
http://www.scyld.com/pipermail/vortex/2001-November/001426.html
* designing a sliding scale of ever-more-verbose classes of messages,
for libata and libata drivers
* design a method by which userspace may change the per-port msg_enable
variable in libata
* implement the sliding scale as ATA_MSG_xxx / ata_msg_xxx()
* add msg_enable to struct ata_port
* implement method of setting ap->msg_enable via userspace
* convert messages in libata-core/libata-scsi
* convert messages in each driver
* add 'debug' module option to each driver, in a manner that duplicates
net driver module options
* test!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|