Re: [PATCH] percpu_counter: return precise count from __percpu_counter_compare()

From: kbuild test robot
Date: Fri Oct 02 2015 - 14:13:30 EST


Hi Waiman,

[auto build test results on v4.3-rc3 -- if it's inappropriate base, please ignore]

config: m68k-sun3_defconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=m68k

All error/warnings (new ones prefixed by >>):

{
^
include/linux/jump_label.h:201:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void jump_label_lock(void) {}
^
include/linux/jump_label.h:202:44: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void jump_label_unlock(void) {}
^
include/linux/jump_label.h:205:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/jump_label.h:218:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/jump_label.h:223:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/jump_label.h:233:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/jump_label.h:251:1: warning: empty declaration
struct static_key_true {
^
include/linux/jump_label.h:255:1: warning: empty declaration
struct static_key_false {
^
In file included from include/linux/vtime.h:4:0,
from include/linux/hardirq.h:7,
from include/linux/interrupt.h:12,
from include/linux/kernel_stat.h:8,
from arch/m68k/kernel/asm-offsets.c:15:
include/linux/context_tracking_state.h:7:1: warning: empty declaration
struct context_tracking {
^
include/linux/context_tracking_state.h:43:51: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline bool context_tracking_in_user(void) { return false; }
^
include/linux/context_tracking_state.h:44:50: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline bool context_tracking_active(void) { return false; }
^
include/linux/context_tracking_state.h:45:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline bool context_tracking_is_enabled(void) { return false; }
^
include/linux/context_tracking_state.h:46:58: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline bool context_tracking_cpu_is_enabled(void) { return false; }
^
In file included from include/linux/hardirq.h:7:0,
from include/linux/interrupt.h:12,
from include/linux/kernel_stat.h:8,
from arch/m68k/kernel/asm-offsets.c:15:
include/linux/vtime.h:10:1: warning: empty declaration
struct task_struct;
^
include/linux/vtime.h:32:51: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline bool vtime_accounting_enabled(void) { return false; }
^
include/linux/vtime.h:69:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_task_switch(struct task_struct *prev) { }
^
include/linux/vtime.h:70:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_account_system(struct task_struct *tsk) { }
^
include/linux/vtime.h:71:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_account_user(struct task_struct *tsk) { }
^
include/linux/vtime.h:72:69: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_account_irq_enter(struct task_struct *tsk) { }
^
include/linux/vtime.h:96:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/vtime.h:100:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_user_enter(struct task_struct *tsk) { }
^
include/linux/vtime.h:101:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_user_exit(struct task_struct *tsk) { }
^
include/linux/vtime.h:102:63: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_guest_enter(struct task_struct *tsk) { }
^
include/linux/vtime.h:103:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_guest_exit(struct task_struct *tsk) { }
^
include/linux/vtime.h:104:70: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void vtime_init_idle(struct task_struct *tsk, int cpu) { }
^
include/linux/vtime.h:110:65: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline void irqtime_account_irq(struct task_struct *tsk) { }
^
include/linux/vtime.h:114:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/vtime.h:120:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
In file included from arch/m68k/include/asm/hardirq.h:6:0,
from include/linux/hardirq.h:8,
from include/linux/interrupt.h:12,
from include/linux/kernel_stat.h:8,
from arch/m68k/kernel/asm-offsets.c:15:
>> arch/m68k/include/asm/irq.h:57:1: warning: empty declaration
struct irq_data;
^
arch/m68k/include/asm/irq.h:58:1: warning: empty declaration
struct irq_chip;
^
arch/m68k/include/asm/irq.h:59:1: warning: empty declaration
struct irq_desc;
^
>> arch/m68k/include/asm/irq.h:60:21: error: storage class specified for parameter 'm68k_irq_startup'
extern unsigned int m68k_irq_startup(struct irq_data *data);
^
>> arch/m68k/include/asm/irq.h:61:21: error: storage class specified for parameter 'm68k_irq_startup_irq'
extern unsigned int m68k_irq_startup_irq(unsigned int irq);
^
>> arch/m68k/include/asm/irq.h:62:13: error: storage class specified for parameter 'm68k_irq_shutdown'
extern void m68k_irq_shutdown(struct irq_data *data);
^
>> arch/m68k/include/asm/irq.h:63:13: error: storage class specified for parameter 'm68k_setup_auto_interrupt'
extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int,
^
>> arch/m68k/include/asm/irq.h:65:13: error: storage class specified for parameter 'm68k_setup_user_interrupt'
extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt);
^
>> arch/m68k/include/asm/irq.h:66:13: error: storage class specified for parameter 'm68k_setup_irq_controller'
extern void m68k_setup_irq_controller(struct irq_chip *,
^
>> arch/m68k/include/asm/irq.h:70:21: error: storage class specified for parameter 'irq_canonicalize'
extern unsigned int irq_canonicalize(unsigned int irq);
^
>> arch/m68k/include/asm/irq.h:77:17: error: storage class specified for parameter 'irq_err_count'
extern atomic_t irq_err_count;
^
In file included from include/linux/hardirq.h:8:0,
from include/linux/interrupt.h:12,
from include/linux/kernel_stat.h:8,
from arch/m68k/kernel/asm-offsets.c:15:
>> arch/m68k/include/asm/hardirq.h:11:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
>> arch/m68k/include/asm/hardirq.h:18:25: error: storage class specified for parameter 'irq_cpustat_t'
} ____cacheline_aligned irq_cpustat_t;
^
In file included from arch/m68k/include/asm/hardirq.h:20:0,
from include/linux/hardirq.h:8,
from include/linux/interrupt.h:12,
from include/linux/kernel_stat.h:8,
from arch/m68k/kernel/asm-offsets.c:15:
>> include/linux/irq_cpustat.h:20:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'irq_stat'
extern irq_cpustat_t irq_stat[]; /* defined in asm/hardirq.h */
^
In file included from include/linux/interrupt.h:12:0,
from include/linux/kernel_stat.h:8,
from arch/m68k/kernel/asm-offsets.c:15:
include/linux/hardirq.h:11:13: error: storage class specified for parameter 'synchronize_irq'
extern void synchronize_irq(unsigned int irq);
^
include/linux/hardirq.h:12:13: error: storage class specified for parameter 'synchronize_hardirq'
extern bool synchronize_hardirq(unsigned int irq);
^
include/linux/hardirq.h:17:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/hardirq.h:21:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/hardirq.h:45:13: error: storage class specified for parameter 'irq_enter'
extern void irq_enter(void);
^
include/linux/hardirq.h:60:13: error: storage class specified for parameter 'irq_exit'
extern void irq_exit(void);
^
In file included from include/linux/interrupt.h:15:0,
from include/linux/kernel_stat.h:8,
from arch/m68k/kernel/asm-offsets.c:15:
include/linux/kref.h:24:1: warning: empty declaration
struct kref {
^
include/linux/kref.h:33:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/kref.h:42:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/kref.h:70:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/kref.h:98:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/kref.h:118:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/kref.h:137:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/kref.h:168:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
In file included from include/linux/kernel_stat.h:8:0,
from arch/m68k/kernel/asm-offsets.c:15:
include/linux/interrupt.h:87:1: warning: empty declaration
enum {
^
>> include/linux/interrupt.h:92:22: error: expected declaration specifiers or '...' before '*' token
typedef irqreturn_t (*irq_handler_t)(int, void *);
^
>> include/linux/interrupt.h:110:2: error: unknown type name 'irq_handler_t'
irq_handler_t handler;
^
include/linux/interrupt.h:114:2: error: unknown type name 'irq_handler_t'
irq_handler_t thread_fn;
^
include/linux/interrupt.h:109:1: warning: empty declaration
struct irqaction {
^
>> include/linux/interrupt.h:124:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'no_action'
extern irqreturn_t no_action(int cpl, void *dev_id);
^
include/linux/interrupt.h:127:40: error: unknown type name 'irq_handler_t'
request_threaded_irq(unsigned int irq, irq_handler_t handler,
^
include/linux/interrupt.h:128:8: error: unknown type name 'irq_handler_t'
irq_handler_t thread_fn,
^
include/linux/interrupt.h:132:31: error: unknown type name 'irq_handler_t'
request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
^
include/linux/interrupt.h:139:43: error: unknown type name 'irq_handler_t'
request_any_context_irq(unsigned int irq, irq_handler_t handler,
^
include/linux/interrupt.h:143:38: error: unknown type name 'irq_handler_t'
request_percpu_irq(unsigned int irq, irq_handler_t handler,
^
include/linux/interrupt.h:146:13: error: storage class specified for parameter 'free_irq'
extern void free_irq(unsigned int, void *);
^
include/linux/interrupt.h:147:13: error: storage class specified for parameter 'free_percpu_irq'
extern void free_percpu_irq(unsigned int, void __percpu *);
^
include/linux/interrupt.h:149:1: warning: empty declaration
struct device;
^
include/linux/interrupt.h:153:6: error: unknown type name 'irq_handler_t'
irq_handler_t handler, irq_handler_t thread_fn,
^
include/linux/interrupt.h:153:29: error: unknown type name 'irq_handler_t'
irq_handler_t handler, irq_handler_t thread_fn,
^
include/linux/interrupt.h:158:56: error: unknown type name 'irq_handler_t'
devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handler,
^
include/linux/interrupt.h:167:4: error: unknown type name 'irq_handler_t'
irq_handler_t handler, unsigned long irqflags,
^
include/linux/interrupt.h:170:13: error: storage class specified for parameter 'devm_free_irq'
extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id);
^
include/linux/interrupt.h:190:13: error: storage class specified for parameter 'disable_irq_nosync'
extern void disable_irq_nosync(unsigned int irq);
^
include/linux/interrupt.h:191:13: error: storage class specified for parameter 'disable_hardirq'
extern bool disable_hardirq(unsigned int irq);
^
include/linux/interrupt.h:192:13: error: storage class specified for parameter 'disable_irq'
extern void disable_irq(unsigned int irq);
^
include/linux/interrupt.h:193:13: error: storage class specified for parameter 'disable_percpu_irq'
extern void disable_percpu_irq(unsigned int irq);
^
include/linux/interrupt.h:194:13: error: storage class specified for parameter 'enable_irq'
extern void enable_irq(unsigned int irq);
^
include/linux/interrupt.h:195:13: error: storage class specified for parameter 'enable_percpu_irq'
extern void enable_percpu_irq(unsigned int irq, unsigned int type);
^
include/linux/interrupt.h:196:13: error: storage class specified for parameter 'irq_wake_thread'
extern void irq_wake_thread(unsigned int irq, void *dev_id);
^
include/linux/interrupt.h:199:13: error: storage class specified for parameter 'suspend_device_irqs'
extern void suspend_device_irqs(void);
^
include/linux/interrupt.h:200:13: error: storage class specified for parameter 'resume_device_irqs'
extern void resume_device_irqs(void);
^
include/linux/interrupt.h:214:1: warning: empty declaration
struct irq_affinity_notify {
^
include/linux/interrupt.h:271:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:276:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:281:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:285:58: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
static inline int irq_select_affinity(unsigned int irq) { return 0; }
^
include/linux/interrupt.h:289:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:295:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:312:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:320:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:328:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
include/linux/interrupt.h:336:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
..

vim +125 include/linux/percpu_counter.h

119 else if (fbc->count < rhs)
120 return -1;
121 else
122 return 0;
123 }
124
> 125 static inline int __percpu_counter_compare(struct percpu_counter *fbc, s64 rhs,
126 s32 batch, s64 *pcnt))
127 {
128 return percpu_counter_compare(fbc, rhs);

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data