linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Borislav Petkov <bbpetkov@yahoo.de>
Cc: linux-ide <linux-ide@vger.kernel.org>, Jeff Garzik <jgarzik@pobox.com>
Subject: Re: [PATCH 1/9] libata: change debugging macros/adjust dbg levels
Date: Fri, 30 Jun 2006 01:27:30 +0900	[thread overview]
Message-ID: <44A3FF72.8090404@gmail.com> (raw)
In-Reply-To: <20060629160926.GB23122@zmei.tnic>

Hello,

Generally looks good to me.  Just a few comments.

Borislav Petkov wrote:
> change debugging macros ata_(port|dev)_printk and adjust debugging levels
> 
> Signed-off-by: <petkov@math.uni-muenster.de>
> 
> 
> --- libata-dev/include/linux/libata.h	2006-06-29 17:17:50.000000000 +0200
> +++ libata-dev/include/linux/libata.h.new	2006-06-28 17:23:30.000000000 +0200
> @@ -67,24 +67,26 @@
>  #define HAVE_LIBATA_MSG 1
>  
>  enum {
> -	ATA_MSG_DRV	= 0x0001,
> -	ATA_MSG_INFO	= 0x0002,
> -	ATA_MSG_PROBE	= 0x0004,
> -	ATA_MSG_WARN	= 0x0008,
> -	ATA_MSG_MALLOC	= 0x0010,
> -	ATA_MSG_CTL	= 0x0020,
> -	ATA_MSG_INTR	= 0x0040,
> -	ATA_MSG_ERR	= 0x0080,
> -};
> -
> -#define ata_msg_drv(p)    ((p)->msg_enable & ATA_MSG_DRV)
> -#define ata_msg_info(p)   ((p)->msg_enable & ATA_MSG_INFO)
> -#define ata_msg_probe(p)  ((p)->msg_enable & ATA_MSG_PROBE)
> -#define ata_msg_warn(p)   ((p)->msg_enable & ATA_MSG_WARN)
> -#define ata_msg_malloc(p) ((p)->msg_enable & ATA_MSG_MALLOC)
> -#define ata_msg_ctl(p)    ((p)->msg_enable & ATA_MSG_CTL)
> -#define ata_msg_intr(p)   ((p)->msg_enable & ATA_MSG_INTR)
> -#define ata_msg_err(p)    ((p)->msg_enable & ATA_MSG_ERR)
> +	ATA_MSG_ERR	= 0x0001,
> +	ATA_MSG_WARN	= 0x0002,
> +	ATA_MSG_DRV	= 0x0004,

Comment for ATA_MSG_DRV please.  Also, I'm not sure we need separate DRV 
from INFO.

> +	ATA_MSG_INFO	= 0x0008, /* revalidation messages, EH progress */
> +	ATA_MSG_VDEBUG	= 0x0010, /* verbose hot path */
> +	ATA_MSG_CMD	= 0x0020, /* issue / completion */
> +	ATA_MSG_SG	= 0x0040, /* SG map/unmap handling */
> +	ATA_MSG_TRACE	= 0x0080, /* function tracing, e.g. enter/exit */
> +};
> +
> +const char *__ata_msg_lvs[] = {
> +	[ATA_MSG_ERR]	 = KERN_ERR,
> +	[ATA_MSG_WARN]	 = KERN_WARNING,
> +	[ATA_MSG_DRV]	 = KERN_INFO,
> +	[ATA_MSG_INFO]	 = KERN_INFO,
> +	[ATA_MSG_VDEBUG] = KERN_DEBUG,
> +	[ATA_MSG_CMD]	 = KERN_DEBUG,
> +	[ATA_MSG_SG]	 = KERN_DEBUG,
> +	[ATA_MSG_TRACE]	 = KERN_DEBUG
> +};

Please declare the array here and define it in libata-core.c.

>  static inline u32 ata_msg_init(int dval, int default_msg_enable_bits)
>  {
> @@ -805,11 +807,16 @@ extern void ata_do_eh(struct ata_port *a
>  /*
>   * printk helpers
>   */
> -#define ata_port_printk(ap, lv, fmt, args...) \
> -	printk(lv"ata%u: "fmt, (ap)->id , ##args)
> +#define ata_port_printk(ap, lv, fmt, args...) do { \
> +	if (unlikely((ap)->msg_enable & (0xFF & (lv)))) \
                                          ^^^^why?

> +		printk("%sata%u: "fmt, __ata_msg_lvs[lv], (ap)->id , ##args); \
> +} while (0)
>  
> -#define ata_dev_printk(dev, lv, fmt, args...) \
> -	printk(lv"ata%u.%02u: "fmt, (dev)->ap->id, (dev)->devno , ##args)
> +#define ata_dev_printk(dev, lv, fmt, args...) do { \
> +	if (unlikely((dev->ap)->msg_enable & (0xFF & (lv)))) \
                                               ^^^^ditto

> +		printk("%sata%u.%02u: "fmt, __ata_msg_lvs[lv], \
> +				(dev)->ap->id, (dev)->devno , ##args); \
> +} while (0)
>  
>  /*
>   * ata_eh_info helpers
> @@ -997,9 +1004,8 @@ static inline u8 ata_wait_idle(struct at
>  
>  	if (status & (ATA_BUSY | ATA_DRQ)) {
>  		unsigned long l = ap->ioaddr.status_addr;
> -		if (ata_msg_warn(ap))
> -			printk(KERN_WARNING "ATA: abnormal status 0x%X on port 0x%lX\n",
> -				status, l);
> +		ata_port_printk(ap, ATA_MSG_WARN, 
> +			"ATA: abnormal status 0x%X on port 0x%lX\n", status, l);
                          ^^^^^ you can drop the header.

-- 
tejun

  reply	other threads:[~2006-06-29 16:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-29 16:09 [PATCH 1/9] libata: change debugging macros/adjust dbg levels Borislav Petkov
2006-06-29 16:27 ` Tejun Heo [this message]
2006-06-29 17:27   ` Borislav Petkov
2006-06-29 18:09     ` Tejun Heo
2006-06-29 20:53       ` Borislav Petkov
2006-06-29 21:19         ` Tejun Heo
2006-06-29 21:22           ` Tejun Heo
  -- strict thread matches above, loose matches on Subject: below --
2006-06-30  6:45 Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44A3FF72.8090404@gmail.com \
    --to=htejun@gmail.com \
    --cc=bbpetkov@yahoo.de \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).