On Thu, May 25, 2017 at 02:56:41AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
> rcu/next
> head:   71328ca7428fb7f5dfc146ee59ad9736df623cf3
> commit: 54ffb22bd8416ef9188dbe005b52ee5a1b5f6e5e [91/92] rcutorture: Move 
> SRCU status printing to SRCU implementations
> config: blackfin-allmodconfig (attached as .config)
> compiler: bfin-uclinux-gcc (GCC) 6.2.0
> reproduce:
>         wget 
> https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
> ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 54ffb22bd8416ef9188dbe005b52ee5a1b5f6e5e
>         # save the attached .config to linux build tree
>         make.cross ARCH=blackfin 
> 
> All error/warnings (new ones prefixed by >>):
> 
>    include/linux/srcutiny.h: In function 'srcu_torture_stats_print':
> >> arch/blackfin/kernel/module.c:7:40: error: 'mod' undeclared (first use in 
> >> this function)
>     #define pr_fmt(fmt) "module %s: " fmt, mod->name
>                                            ^
>    include/linux/printk.h:297:20: note: in expansion of macro 'pr_fmt'
>      printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
>                        ^~~~~~
> >> include/linux/srcutiny.h:96:2: note: in expansion of macro 'pr_alert'
>      pr_alert("%s%s Tiny SRCU per-CPU(idx=%d): (%hd,%hd)\n",
>      ^~~~~~~~
>    arch/blackfin/kernel/module.c:7:40: note: each undeclared identifier is 
> reported only once for each function it appears in
>     #define pr_fmt(fmt) "module %s: " fmt, mod->name
>                                            ^
>    include/linux/printk.h:297:20: note: in expansion of macro 'pr_fmt'
>      printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
>                        ^~~~~~
> >> include/linux/srcutiny.h:96:2: note: in expansion of macro 'pr_alert'
>      pr_alert("%s%s Tiny SRCU per-CPU(idx=%d): (%hd,%hd)\n",
>      ^~~~~~~~

I confess, I don't see what is wrong with my pr_alert().  It instead
looks to me like Blackfin has a problem with pr_fmt().

Or am I missing something here?

                                                        Thanx, Paul

> vim +/pr_alert +96 include/linux/srcutiny.h
> 
>     80        {
>     81                synchronize_srcu(sp);
>     82        }
>     83        
>     84        static inline void srcu_barrier(struct srcu_struct *sp)
>     85        {
>     86                synchronize_srcu(sp);
>     87        }
>     88        
>     89        /* Defined here to avoid size increase for non-torture kernels. 
> */
>     90        static inline void srcu_torture_stats_print(struct srcu_struct 
> *sp,
>     91                                                    char *tt, char *tf)
>     92        {
>     93                int idx;
>     94        
>     95                idx = READ_ONCE(sp->srcu_idx) & 0x1;
>   > 96                pr_alert("%s%s Tiny SRCU per-CPU(idx=%d): (%hd,%hd)\n",
>     97                         tt, tf, idx,
>     98                         READ_ONCE(sp->srcu_lock_nesting[!idx]),
>     99                         READ_ONCE(sp->srcu_lock_nesting[idx]));
>    100        }
>    101        
>    102        #endif
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


Reply via email to