[ofa-general] Re: [PATCH 10/14] infiniband: use printk_once

Jack Morgenstein jackm at dev.mellanox.co.il
Sun Aug 9 23:36:26 PDT 2009


I'm a bit nervous about this one.  
printk_once will print once ONLY if CONFIG_PRINTK is set in include/linux/autoconf.h
(i.e., when the kernel is configured).  Otherwise, it gets defined to printk --
and it will always print in this case.
(see 2.6.30.xx kernel include file "include/linux/kernel.h", lines 235, 249, and 272).

Do you think that distributions will ALWAYS have CONFIG_PRINTK defined?

I would prefer to wait until printk_once printing only once is not config-dependent.

-Jack

On Monday 10 August 2009 08:00, Roland Dreier wrote:
> 
>  >  drivers/infiniband/hw/cxgb3/iwch.c |    4 +---
>  >  drivers/infiniband/hw/mlx4/main.c  |    6 +-----
> 
>  > --- a/drivers/infiniband/hw/mlx4/main.c
>  > +++ b/drivers/infiniband/hw/mlx4/main.c
>  > @@ -540,15 +540,11 @@ static struct device_attribute *mlx4_class_attributes[] = {
>  >  
>  >  static void *mlx4_ib_add(struct mlx4_dev *dev)
>  >  {
>  > -	static int mlx4_ib_version_printed;
>  >  	struct mlx4_ib_dev *ibdev;
>  >  	int num_ports = 0;
>  >  	int i;
>  >  
>  > -	if (!mlx4_ib_version_printed) {
>  > -		printk(KERN_INFO "%s", mlx4_ib_version);
>  > -		++mlx4_ib_version_printed;
>  > -	}
>  > +	printk_once(KERN_INFO "%s", mlx4_ib_version);
>  >  
>  >  	mlx4_foreach_port(i, dev, MLX4_PORT_TYPE_IB)
>  >  		num_ports++;
> 
> Looks fine but there is near-identical code in
> drivers/infiniband/hw/mthca/mthca_main.c that you might as well convert
> too.
> 
> Thanks,
>   Roland
> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 



More information about the general mailing list