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

From: Jack Morgenstein
Date: Mon Aug 10 2009 - 02:36:21 EST


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@xxxxxxxxxxxxxxxxxxxxx
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>
--
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/