Subject: Re: [PATCH 08/12] IB/ehca: Replace get_paca()->paca_index by the more portable smp_processor_id()

From: Nathan Lynch <[email-masked]>
Date: Tue, 11 Sep 2007 09:51:31 -0500

Hi,

Joachim Fenkes wrote:
> Signed-off-by: Joachim Fenkes <[email-masked]>
> ---
>  drivers/infiniband/hw/ehca/ehca_tools.h |   14 +++++++-------
>  1 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/infiniband/hw/ehca/ehca_tools.h b/drivers/infiniband/hw/ehca/ehca_tools.h
> index f9b264b..863f972 100644
> --- a/drivers/infiniband/hw/ehca/ehca_tools.h
> +++ b/drivers/infiniband/hw/ehca/ehca_tools.h
> @@ -73,37 +73,37 @@ extern int ehca_debug_level;
>  		if (unlikely(ehca_debug_level)) \
>  			dev_printk(KERN_DEBUG, (ib_dev)->dma_device, \
>  				   "PU%04x EHCA_DBG:%s " format "\n", \
> -				   get_paca()->paca_index, __FUNCTION__, \
> +				   smp_processor_id(), __FUNCTION__, \
>  				   ## arg); \
>  	} while (0)
>  
>  #define ehca_info(ib_dev, format, arg...) \
>  	dev_info((ib_dev)->dma_device, "PU%04x EHCA_INFO:%s " format "\n", \
> -		 get_paca()->paca_index, __FUNCTION__, ## arg)
> +		 smp_processor_id(), __FUNCTION__, ## arg)
>  
>  #define ehca_warn(ib_dev, format, arg...) \
>  	dev_warn((ib_dev)->dma_device, "PU%04x EHCA_WARN:%s " format "\n", \
> -		 get_paca()->paca_index, __FUNCTION__, ## arg)
> +		 smp_processor_id(), __FUNCTION__, ## arg)
>  
>  #define ehca_err(ib_dev, format, arg...) \
>  	dev_err((ib_dev)->dma_device, "PU%04x EHCA_ERR:%s " format "\n", \
> -		get_paca()->paca_index, __FUNCTION__, ## arg)
> +		smp_processor_id(), __FUNCTION__, ## arg)

I think I see these macros used in preemptible code (e.g. ehca_probe),
where smp_processor_id() will print a warning when
CONFIG_DEBUG_PREEMPT=y.  Probably better to use raw_smp_processor_id.