Re: [PATCH] perf_event.h: Add RCU Annotation to struct ring_buffer in perf_event
by kbuild test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tip/perf/core]
[also build test WARNING on v5.5]
[cannot apply to next-20200130]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/madhuparnabhowmik10-gmail-com/pe...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 0cc4bd8f70d1ea2940295f1050508c663fe9eff9
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-154-g1dc00f87-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/events/core.c:571:26: sparse: sparse: function 'perf_pmu_name' with external linkage has definition
kernel/events/core.c:1384:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:1384:15: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:1384:15: sparse: struct perf_event_context *
kernel/events/core.c:1397:28: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:1397:28: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:1397:28: sparse: struct perf_event_context *
kernel/events/core.c:3221:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:3221:18: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:3221:18: sparse: struct perf_event_context *
kernel/events/core.c:3222:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:3222:23: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:3222:23: sparse: struct perf_event_context *
kernel/events/core.c:3264:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:3264:25: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:3264:25: sparse: struct perf_event_context *
kernel/events/core.c:3265:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:3265:25: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:3265:25: sparse: struct perf_event_context *
kernel/events/core.c:4340:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:4340:25: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:4340:25: sparse: struct perf_event_context *
kernel/events/core.c:5563:24: sparse: sparse: incorrect type in assignment (different address spaces)
>> kernel/events/core.c:5563:24: sparse: expected struct ring_buffer *old_rb
>> kernel/events/core.c:5563:24: sparse: got struct ring_buffer [noderef] <asn:4> *rb
kernel/events/core.c:5070:12: sparse: sparse: incorrect type in assignment (different address spaces)
>> kernel/events/core.c:5070:12: sparse: expected struct ring_buffer *rb
kernel/events/core.c:5070:12: sparse: got struct ring_buffer [noderef] <asn:4> *rb
kernel/events/core.c:5072:24: sparse: sparse: incorrect type in assignment (different base types)
kernel/events/core.c:5072:24: sparse: expected restricted __poll_t [usertype] events
kernel/events/core.c:5072:24: sparse: got int
kernel/events/core.c:5652:26: sparse: sparse: incorrect type in argument 1 (different address spaces)
>> kernel/events/core.c:5652:26: sparse: expected struct atomic_t [usertype] *v
>> kernel/events/core.c:5652:26: sparse: got struct atomic_t [noderef] <asn:4> *
kernel/events/core.c:5655:34: sparse: sparse: incorrect type in argument 1 (different address spaces)
kernel/events/core.c:5655:34: sparse: expected struct atomic_t [usertype] *v
kernel/events/core.c:5655:34: sparse: got struct atomic_t [noderef] <asn:4> *
kernel/events/core.c:7212:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> kernel/events/core.c:7212:9: sparse: struct list_head *
>> kernel/events/core.c:7212:9: sparse: struct list_head [noderef] <asn:4> *
kernel/events/core.c:5749:31: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:5749:31: sparse: struct ring_buffer [noderef] <asn:4> *
kernel/events/core.c:5749:31: sparse: struct ring_buffer *
kernel/events/core.c:5835:20: sparse: sparse: incorrect type in assignment (different address spaces)
kernel/events/core.c:5835:20: sparse: expected struct ring_buffer *rb
kernel/events/core.c:5835:20: sparse: got struct ring_buffer [noderef] <asn:4> *rb
kernel/events/core.c:5896:48: sparse: sparse: incorrect type in argument 1 (different address spaces)
kernel/events/core.c:5896:48: sparse: expected struct atomic_t [usertype] *v
kernel/events/core.c:5896:48: sparse: got struct atomic_t [noderef] <asn:4> *
kernel/events/internal.h:204:1: sparse: sparse: incorrect type in argument 2 (different address spaces)
kernel/events/internal.h:204:1: sparse: expected void const [noderef] <asn:1> *from
kernel/events/internal.h:204:1: sparse: got void const *buf
kernel/events/core.c:6302:6: sparse: sparse: symbol 'perf_pmu_snapshot_aux' was not declared. Should it be static?
kernel/events/core.c:7091:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:7091:23: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:7091:23: sparse: struct perf_event_context *
kernel/events/core.c:7192:32: sparse: sparse: incorrect type in initializer (different address spaces)
kernel/events/core.c:7192:32: sparse: expected struct ring_buffer *rb
kernel/events/core.c:7192:32: sparse: got struct ring_buffer [noderef] <asn:4> *rb
kernel/events/core.c:7870:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:7870:23: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:7870:23: sparse: struct perf_event_context *
kernel/events/core.c:8600:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8600:17: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:8600:17: sparse: struct swevent_hlist *
kernel/events/core.c:8620:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8620:17: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:8620:17: sparse: struct swevent_hlist *
kernel/events/core.c:8740:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8740:16: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:8740:16: sparse: struct swevent_hlist *
kernel/events/core.c:8751:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8751:9: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:8751:9: sparse: struct swevent_hlist *
kernel/events/core.c:8740:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8740:16: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:8740:16: sparse: struct swevent_hlist *
kernel/events/core.c:8790:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8790:17: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:8790:17: sparse: struct swevent_hlist *
kernel/events/core.c:8971:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8971:23: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:8971:23: sparse: struct perf_event_context *
kernel/events/core.c:10142:1: sparse: sparse: symbol 'dev_attr_nr_addr_filters' was not declared. Should it be static?
kernel/events/core.c:11865:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:11865:9: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:11865:9: sparse: struct perf_event_context *
kernel/events/core.c:11975:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:11975:17: sparse: struct perf_event_context [noderef] <asn:4> *
kernel/events/core.c:11975:17: sparse: struct perf_event_context *
kernel/events/core.c:8740:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:8740:16: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:8740:16: sparse: struct swevent_hlist *
kernel/events/core.c:12399:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:12399:17: sparse: struct swevent_hlist [noderef] <asn:4> *
kernel/events/core.c:12399:17: sparse: struct swevent_hlist *
kernel/events/core.c:155:9: sparse: sparse: context imbalance in 'perf_ctx_lock' - wrong count at exit
kernel/events/core.c:163:17: sparse: sparse: context imbalance in 'perf_ctx_unlock' - unexpected unlock
kernel/events/core.c:1404:17: sparse: sparse: context imbalance in 'perf_lock_task_context' - different lock contexts for basic block
kernel/events/core.c:1431:17: sparse: sparse: context imbalance in 'perf_pin_task_context' - unexpected unlock
kernel/events/core.c:2651:9: sparse: sparse: context imbalance in '__perf_install_in_context' - wrong count at exit
kernel/events/core.c:4312:17: sparse: sparse: context imbalance in 'find_get_context' - unexpected unlock
kernel/events/core.c:5891:26: sparse: sparse: dereference of noderef expression
vim +5563 kernel/events/core.c
fa7315871046b9 kernel/events/core.c Peter Zijlstra 2013-09-19 5453
c1317ec2b90644 kernel/events/core.c Andy Lutomirski 2014-10-24 @5454 void __weak arch_perf_update_userpage(
c1317ec2b90644 kernel/events/core.c Andy Lutomirski 2014-10-24 5455 struct perf_event *event, struct perf_event_mmap_page *userpg, u64 now)
e3f3541c19c89a kernel/events/core.c Peter Zijlstra 2011-11-21 5456 {
e3f3541c19c89a kernel/events/core.c Peter Zijlstra 2011-11-21 5457 }
e3f3541c19c89a kernel/events/core.c Peter Zijlstra 2011-11-21 5458
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5459 /*
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5460 * Callers need to ensure there can be no nesting of this function, otherwise
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5461 * the seqlock logic goes bad. We can not serialize this because the arch
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5462 * code calls this from NMI context.
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5463 */
cdd6c482c9ff9c kernel/perf_event.c Ingo Molnar 2009-09-21 5464 void perf_event_update_userpage(struct perf_event *event)
37d81828385f8f kernel/perf_counter.c Paul Mackerras 2009-03-23 5465 {
cdd6c482c9ff9c kernel/perf_event.c Ingo Molnar 2009-09-21 5466 struct perf_event_mmap_page *userpg;
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5467 struct ring_buffer *rb;
e3f3541c19c89a kernel/events/core.c Peter Zijlstra 2011-11-21 5468 u64 enabled, running, now;
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5469
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5470 rcu_read_lock();
5ec4c599a52362 kernel/events/core.c Peter Zijlstra 2013-08-02 5471 rb = rcu_dereference(event->rb);
5ec4c599a52362 kernel/events/core.c Peter Zijlstra 2013-08-02 5472 if (!rb)
5ec4c599a52362 kernel/events/core.c Peter Zijlstra 2013-08-02 5473 goto unlock;
5ec4c599a52362 kernel/events/core.c Peter Zijlstra 2013-08-02 5474
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5475 /*
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5476 * compute total_time_enabled, total_time_running
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5477 * based on snapshot values taken when the event
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5478 * was last scheduled in.
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5479 *
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5480 * we cannot simply called update_context_time()
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5481 * because of locking issue as we can be called in
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5482 * NMI context
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5483 */
e3f3541c19c89a kernel/events/core.c Peter Zijlstra 2011-11-21 5484 calc_timer_values(event, &now, &enabled, &running);
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5485
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5486 userpg = rb->user_page;
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5487 /*
9d2dcc8fc66087 kernel/events/core.c Michael O'Farrell 2018-07-30 5488 * Disable preemption to guarantee consistent time stamps are stored to
9d2dcc8fc66087 kernel/events/core.c Michael O'Farrell 2018-07-30 5489 * the user page.
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5490 */
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5491 preempt_disable();
37d81828385f8f kernel/perf_counter.c Paul Mackerras 2009-03-23 5492 ++userpg->lock;
92f22a3865abe8 kernel/perf_counter.c Peter Zijlstra 2009-04-02 5493 barrier();
cdd6c482c9ff9c kernel/perf_event.c Ingo Molnar 2009-09-21 5494 userpg->index = perf_event_index(event);
b5e58793c7a8ec kernel/perf_event.c Peter Zijlstra 2010-05-21 5495 userpg->offset = perf_event_count(event);
365a4038486b57 kernel/events/core.c Peter Zijlstra 2011-11-21 5496 if (userpg->index)
e78505958cf123 kernel/perf_event.c Peter Zijlstra 2010-05-21 5497 userpg->offset -= local64_read(&event->hw.prev_count);
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5498
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5499 userpg->time_enabled = enabled +
cdd6c482c9ff9c kernel/perf_event.c Ingo Molnar 2009-09-21 5500 atomic64_read(&event->child_total_time_enabled);
7f8b4e4e0988da kernel/perf_counter.c Peter Zijlstra 2009-06-22 5501
0d6412085b7ff5 kernel/events/core.c Eric B Munson 2011-06-24 5502 userpg->time_running = running +
cdd6c482c9ff9c kernel/perf_event.c Ingo Molnar 2009-09-21 5503 atomic64_read(&event->child_total_time_running);
7f8b4e4e0988da kernel/perf_counter.c Peter Zijlstra 2009-06-22 5504
c1317ec2b90644 kernel/events/core.c Andy Lutomirski 2014-10-24 5505 arch_perf_update_userpage(event, userpg, now);
e3f3541c19c89a kernel/events/core.c Peter Zijlstra 2011-11-21 5506
92f22a3865abe8 kernel/perf_counter.c Peter Zijlstra 2009-04-02 5507 barrier();
37d81828385f8f kernel/perf_counter.c Paul Mackerras 2009-03-23 5508 ++userpg->lock;
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5509 preempt_enable();
38ff667b321b00 kernel/perf_counter.c Peter Zijlstra 2009-03-30 5510 unlock:
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5511 rcu_read_unlock();
37d81828385f8f kernel/perf_counter.c Paul Mackerras 2009-03-23 5512 }
82975c46da8275 kernel/events/core.c Suzuki K Poulose 2018-01-02 5513 EXPORT_SYMBOL_GPL(perf_event_update_userpage);
37d81828385f8f kernel/perf_counter.c Paul Mackerras 2009-03-23 5514
9e3ed2d7597ccb kernel/events/core.c Souptick Joarder 2018-05-21 5515 static vm_fault_t perf_mmap_fault(struct vm_fault *vmf)
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5516 {
11bac80004499e kernel/events/core.c Dave Jiang 2017-02-24 5517 struct perf_event *event = vmf->vma->vm_file->private_data;
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5518 struct ring_buffer *rb;
9e3ed2d7597ccb kernel/events/core.c Souptick Joarder 2018-05-21 5519 vm_fault_t ret = VM_FAULT_SIGBUS;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5520
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5521 if (vmf->flags & FAULT_FLAG_MKWRITE) {
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5522 if (vmf->pgoff == 0)
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5523 ret = 0;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5524 return ret;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5525 }
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5526
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5527 rcu_read_lock();
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5528 rb = rcu_dereference(event->rb);
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5529 if (!rb)
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5530 goto unlock;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5531
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5532 if (vmf->pgoff && (vmf->flags & FAULT_FLAG_WRITE))
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5533 goto unlock;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5534
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5535 vmf->page = perf_mmap_to_page(rb, vmf->pgoff);
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5536 if (!vmf->page)
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5537 goto unlock;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5538
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5539 get_page(vmf->page);
11bac80004499e kernel/events/core.c Dave Jiang 2017-02-24 5540 vmf->page->mapping = vmf->vma->vm_file->f_mapping;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5541 vmf->page->index = vmf->pgoff;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5542
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5543 ret = 0;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5544 unlock:
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5545 rcu_read_unlock();
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5546
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5547 return ret;
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5548 }
906010b2134e14 kernel/perf_event.c Peter Zijlstra 2009-09-21 5549
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5550 static void ring_buffer_attach(struct perf_event *event,
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5551 struct ring_buffer *rb)
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5552 {
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5553 struct ring_buffer *old_rb = NULL;
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5554 unsigned long flags;
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5555
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5556 if (event->rb) {
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5557 /*
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5558 * Should be impossible, we set this when removing
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5559 * event->rb_entry and wait/clear when adding event->rb_entry.
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5560 */
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5561 WARN_ON_ONCE(event->rcu_pending);
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5562
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 @5563 old_rb = event->rb;
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5564 spin_lock_irqsave(&old_rb->event_lock, flags);
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5565 list_del_rcu(&event->rb_entry);
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5566 spin_unlock_irqrestore(&old_rb->event_lock, flags);
2f993cf093643b kernel/events/core.c Oleg Nesterov 2015-05-30 5567
2f993cf093643b kernel/events/core.c Oleg Nesterov 2015-05-30 5568 event->rcu_batches = get_state_synchronize_rcu();
2f993cf093643b kernel/events/core.c Oleg Nesterov 2015-05-30 5569 event->rcu_pending = 1;
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5570 }
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5571
2f993cf093643b kernel/events/core.c Oleg Nesterov 2015-05-30 5572 if (rb) {
2f993cf093643b kernel/events/core.c Oleg Nesterov 2015-05-30 5573 if (event->rcu_pending) {
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5574 cond_synchronize_rcu(event->rcu_batches);
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5575 event->rcu_pending = 0;
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5576 }
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5577
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5578 spin_lock_irqsave(&rb->event_lock, flags);
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5579 list_add_rcu(&event->rb_entry, &rb->event_list);
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5580 spin_unlock_irqrestore(&rb->event_lock, flags);
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5581 }
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5582
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5583 /*
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5584 * Avoid racing with perf_mmap_close(AUX): stop the event
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5585 * before swizzling the event::rb pointer; if it's getting
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5586 * unmapped, its aux_mmap_count will be 0 and it won't
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5587 * restart. See the comment in __perf_pmu_output_stop().
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5588 *
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5589 * Data will inevitably be lost when set_output is done in
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5590 * mid-air, but then again, whoever does it like this is
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5591 * not in for the data anyway.
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5592 */
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5593 if (has_aux(event))
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5594 perf_event_stop(event, 0);
767ae08678c2c7 kernel/events/core.c Alexander Shishkin 2016-09-06 5595
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5596 rcu_assign_pointer(event->rb, rb);
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5597
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5598 if (old_rb) {
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5599 ring_buffer_put(old_rb);
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5600 /*
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5601 * Since we detached before setting the new rb, so that we
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5602 * could attach the new rb, we could have missed a wakeup.
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5603 * Provide it now.
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5604 */
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5605 wake_up_all(&event->waitq);
b69cf53640da2b kernel/events/core.c Peter Zijlstra 2014-03-14 5606 }
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5607 }
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5608
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5609 static void ring_buffer_wakeup(struct perf_event *event)
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5610 {
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5611 struct ring_buffer *rb;
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5612
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5613 rcu_read_lock();
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5614 rb = rcu_dereference(event->rb);
9bb5d40cd93c9d kernel/events/core.c Peter Zijlstra 2013-06-04 5615 if (rb) {
44b7f4b98d8877 kernel/events/core.c Will Deacon 2011-12-13 5616 list_for_each_entry_rcu(event, &rb->event_list, rb_entry)
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5617 wake_up_all(&event->waitq);
9bb5d40cd93c9d kernel/events/core.c Peter Zijlstra 2013-06-04 5618 }
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5619 rcu_read_unlock();
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5620 }
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5621
fdc2670666f40a kernel/events/core.c Alexander Shishkin 2015-01-14 5622 struct ring_buffer *ring_buffer_get(struct perf_event *event)
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5623 {
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5624 struct ring_buffer *rb;
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5625
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5626 rcu_read_lock();
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5627 rb = rcu_dereference(event->rb);
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5628 if (rb) {
fecb8ed2ce7010 kernel/events/core.c Elena Reshetova 2019-01-28 5629 if (!refcount_inc_not_zero(&rb->refcount))
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5630 rb = NULL;
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5631 }
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5632 rcu_read_unlock();
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5633
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5634 return rb;
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5635 }
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5636
fdc2670666f40a kernel/events/core.c Alexander Shishkin 2015-01-14 5637 void ring_buffer_put(struct ring_buffer *rb)
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5638 {
fecb8ed2ce7010 kernel/events/core.c Elena Reshetova 2019-01-28 5639 if (!refcount_dec_and_test(&rb->refcount))
ac9721f3f54b27 kernel/perf_event.c Peter Zijlstra 2010-05-27 5640 return;
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5641
9bb5d40cd93c9d kernel/events/core.c Peter Zijlstra 2013-06-04 5642 WARN_ON_ONCE(!list_empty(&rb->event_list));
10c6db110d0eb4 kernel/events/core.c Peter Zijlstra 2011-11-26 5643
76369139ceb955 kernel/events/core.c Frederic Weisbecker 2011-05-19 5644 call_rcu(&rb->rcu_head, rb_free_rcu);
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5645 }
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5646
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5647 static void perf_mmap_open(struct vm_area_struct *vma)
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5648 {
cdd6c482c9ff9c kernel/perf_event.c Ingo Molnar 2009-09-21 5649 struct perf_event *event = vma->vm_file->private_data;
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5650
cdd6c482c9ff9c kernel/perf_event.c Ingo Molnar 2009-09-21 5651 atomic_inc(&event->mmap_count);
9bb5d40cd93c9d kernel/events/core.c Peter Zijlstra 2013-06-04 @5652 atomic_inc(&event->rb->mmap_count);
1e0fb9ec679c92 kernel/events/core.c Andy Lutomirski 2014-10-24 5653
45bfb2e50471ab kernel/events/core.c Peter Zijlstra 2015-01-14 5654 if (vma->vm_pgoff)
45bfb2e50471ab kernel/events/core.c Peter Zijlstra 2015-01-14 5655 atomic_inc(&event->rb->aux_mmap_count);
45bfb2e50471ab kernel/events/core.c Peter Zijlstra 2015-01-14 5656
1e0fb9ec679c92 kernel/events/core.c Andy Lutomirski 2014-10-24 5657 if (event->pmu->event_mapped)
bfe334924ccd9f kernel/events/core.c Peter Zijlstra 2017-08-02 5658 event->pmu->event_mapped(event, vma->vm_mm);
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5659 }
7b732a75047738 kernel/perf_counter.c Peter Zijlstra 2009-03-23 5660
:::::: The code at line 5563 was first introduced by commit
:::::: b69cf53640da2b86439596118cfa95233154ee76 perf: Fix a race between ring_buffer_detach() and ring_buffer_attach()
:::::: TO: Peter Zijlstra <peterz(a)infradead.org>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[zen-kernel-zen-kernel:5.5/muqss 9/22] kernel/sysctl.c:1129:15: error: 'one' undeclared here (not in a function); did you mean 'zone'?
by kbuild test robot
tree: https://github.com/zen-kernel/zen-kernel 5.5/muqss
head: bf569053d0fe08b3615793a0105afff3d28f3676
commit: fc0355925085383ffdcbec9d4ecc2a17ca2547e3 [9/22] Make hrtimer granularity and minimum hrtimeout configurable in sysctl. Set default granularity to 100us and min timeout to 500us.
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
git checkout fc0355925085383ffdcbec9d4ecc2a17ca2547e3
# save the attached .config to linux build tree
make ARCH=um SUBARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Note: the zen-kernel-zen-kernel/5.5/muqss HEAD bf569053d0fe08b3615793a0105afff3d28f3676 builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
>> kernel/sysctl.c:1129:15: error: 'one' undeclared here (not in a function); did you mean 'zone'?
.extra1 = &one,
^~~
zone
vim +1129 kernel/sysctl.c
1020
1021 #if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_X86)
1022 {
1023 .procname = "unknown_nmi_panic",
1024 .data = &unknown_nmi_panic,
1025 .maxlen = sizeof (int),
1026 .mode = 0644,
1027 .proc_handler = proc_dointvec,
1028 },
1029 #endif
1030 #if defined(CONFIG_X86)
1031 {
1032 .procname = "panic_on_unrecovered_nmi",
1033 .data = &panic_on_unrecovered_nmi,
1034 .maxlen = sizeof(int),
1035 .mode = 0644,
1036 .proc_handler = proc_dointvec,
1037 },
1038 {
1039 .procname = "panic_on_io_nmi",
1040 .data = &panic_on_io_nmi,
1041 .maxlen = sizeof(int),
1042 .mode = 0644,
1043 .proc_handler = proc_dointvec,
1044 },
1045 #ifdef CONFIG_DEBUG_STACKOVERFLOW
1046 {
1047 .procname = "panic_on_stackoverflow",
1048 .data = &sysctl_panic_on_stackoverflow,
1049 .maxlen = sizeof(int),
1050 .mode = 0644,
1051 .proc_handler = proc_dointvec,
1052 },
1053 #endif
1054 {
1055 .procname = "bootloader_type",
1056 .data = &bootloader_type,
1057 .maxlen = sizeof (int),
1058 .mode = 0444,
1059 .proc_handler = proc_dointvec,
1060 },
1061 {
1062 .procname = "bootloader_version",
1063 .data = &bootloader_version,
1064 .maxlen = sizeof (int),
1065 .mode = 0444,
1066 .proc_handler = proc_dointvec,
1067 },
1068 {
1069 .procname = "io_delay_type",
1070 .data = &io_delay_type,
1071 .maxlen = sizeof(int),
1072 .mode = 0644,
1073 .proc_handler = proc_dointvec,
1074 },
1075 #endif
1076 #if defined(CONFIG_MMU)
1077 {
1078 .procname = "randomize_va_space",
1079 .data = &randomize_va_space,
1080 .maxlen = sizeof(int),
1081 .mode = 0644,
1082 .proc_handler = proc_dointvec,
1083 },
1084 #endif
1085 #ifdef CONFIG_SCHED_MUQSS
1086 {
1087 .procname = "rr_interval",
1088 .data = &rr_interval,
1089 .maxlen = sizeof (int),
1090 .mode = 0644,
1091 .proc_handler = &proc_dointvec_minmax,
1092 .extra1 = &one,
1093 .extra2 = &one_thousand,
1094 },
1095 {
1096 .procname = "interactive",
1097 .data = &sched_interactive,
1098 .maxlen = sizeof(int),
1099 .mode = 0644,
1100 .proc_handler = &proc_dointvec_minmax,
1101 .extra1 = &zero,
1102 .extra2 = &one,
1103 },
1104 {
1105 .procname = "iso_cpu",
1106 .data = &sched_iso_cpu,
1107 .maxlen = sizeof (int),
1108 .mode = 0644,
1109 .proc_handler = &proc_dointvec_minmax,
1110 .extra1 = &zero,
1111 .extra2 = &one_hundred,
1112 },
1113 {
1114 .procname = "yield_type",
1115 .data = &sched_yield_type,
1116 .maxlen = sizeof (int),
1117 .mode = 0644,
1118 .proc_handler = &proc_dointvec_minmax,
1119 .extra1 = &zero,
1120 .extra2 = &two,
1121 },
1122 #endif
1123 {
1124 .procname = "hrtimer_granularity_us",
1125 .data = &hrtimer_granularity_us,
1126 .maxlen = sizeof(int),
1127 .mode = 0644,
1128 .proc_handler = &proc_dointvec_minmax,
> 1129 .extra1 = &one,
1130 .extra2 = &ten_thousand,
1131 },
1132 {
1133 .procname = "hrtimeout_min_us",
1134 .data = &hrtimeout_min_us,
1135 .maxlen = sizeof(int),
1136 .mode = 0644,
1137 .proc_handler = &proc_dointvec_minmax,
1138 .extra1 = &one,
1139 .extra2 = &ten_thousand,
1140 },
1141 #if defined(CONFIG_S390) && defined(CONFIG_SMP)
1142 {
1143 .procname = "spin_retry",
1144 .data = &spin_retry,
1145 .maxlen = sizeof (int),
1146 .mode = 0644,
1147 .proc_handler = proc_dointvec,
1148 },
1149 #endif
1150 #if defined(CONFIG_ACPI_SLEEP) && defined(CONFIG_X86)
1151 {
1152 .procname = "acpi_video_flags",
1153 .data = &acpi_realmode_flags,
1154 .maxlen = sizeof (unsigned long),
1155 .mode = 0644,
1156 .proc_handler = proc_doulongvec_minmax,
1157 },
1158 #endif
1159 #ifdef CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN
1160 {
1161 .procname = "ignore-unaligned-usertrap",
1162 .data = &no_unaligned_warning,
1163 .maxlen = sizeof (int),
1164 .mode = 0644,
1165 .proc_handler = proc_dointvec,
1166 },
1167 #endif
1168 #ifdef CONFIG_IA64
1169 {
1170 .procname = "unaligned-dump-stack",
1171 .data = &unaligned_dump_stack,
1172 .maxlen = sizeof (int),
1173 .mode = 0644,
1174 .proc_handler = proc_dointvec,
1175 },
1176 #endif
1177 #ifdef CONFIG_DETECT_HUNG_TASK
1178 {
1179 .procname = "hung_task_panic",
1180 .data = &sysctl_hung_task_panic,
1181 .maxlen = sizeof(int),
1182 .mode = 0644,
1183 .proc_handler = proc_dointvec_minmax,
1184 .extra1 = SYSCTL_ZERO,
1185 .extra2 = SYSCTL_ONE,
1186 },
1187 {
1188 .procname = "hung_task_check_count",
1189 .data = &sysctl_hung_task_check_count,
1190 .maxlen = sizeof(int),
1191 .mode = 0644,
1192 .proc_handler = proc_dointvec_minmax,
1193 .extra1 = SYSCTL_ZERO,
1194 },
1195 {
1196 .procname = "hung_task_timeout_secs",
1197 .data = &sysctl_hung_task_timeout_secs,
1198 .maxlen = sizeof(unsigned long),
1199 .mode = 0644,
1200 .proc_handler = proc_dohung_task_timeout_secs,
1201 .extra2 = &hung_task_timeout_max,
1202 },
1203 {
1204 .procname = "hung_task_check_interval_secs",
1205 .data = &sysctl_hung_task_check_interval_secs,
1206 .maxlen = sizeof(unsigned long),
1207 .mode = 0644,
1208 .proc_handler = proc_dohung_task_timeout_secs,
1209 .extra2 = &hung_task_timeout_max,
1210 },
1211 {
1212 .procname = "hung_task_warnings",
1213 .data = &sysctl_hung_task_warnings,
1214 .maxlen = sizeof(int),
1215 .mode = 0644,
1216 .proc_handler = proc_dointvec_minmax,
1217 .extra1 = &neg_one,
1218 },
1219 #endif
1220 #ifdef CONFIG_RT_MUTEXES
1221 {
1222 .procname = "max_lock_depth",
1223 .data = &max_lock_depth,
1224 .maxlen = sizeof(int),
1225 .mode = 0644,
1226 .proc_handler = proc_dointvec,
1227 },
1228 #endif
1229 {
1230 .procname = "poweroff_cmd",
1231 .data = &poweroff_cmd,
1232 .maxlen = POWEROFF_CMD_PATH_LEN,
1233 .mode = 0644,
1234 .proc_handler = proc_dostring,
1235 },
1236 #ifdef CONFIG_KEYS
1237 {
1238 .procname = "keys",
1239 .mode = 0555,
1240 .child = key_sysctls,
1241 },
1242 #endif
1243 #ifdef CONFIG_PERF_EVENTS
1244 /*
1245 * User-space scripts rely on the existence of this file
1246 * as a feature check for perf_events being enabled.
1247 *
1248 * So it's an ABI, do not remove!
1249 */
1250 {
1251 .procname = "perf_event_paranoid",
1252 .data = &sysctl_perf_event_paranoid,
1253 .maxlen = sizeof(sysctl_perf_event_paranoid),
1254 .mode = 0644,
1255 .proc_handler = proc_dointvec,
1256 },
1257 {
1258 .procname = "perf_event_mlock_kb",
1259 .data = &sysctl_perf_event_mlock,
1260 .maxlen = sizeof(sysctl_perf_event_mlock),
1261 .mode = 0644,
1262 .proc_handler = proc_dointvec,
1263 },
1264 {
1265 .procname = "perf_event_max_sample_rate",
1266 .data = &sysctl_perf_event_sample_rate,
1267 .maxlen = sizeof(sysctl_perf_event_sample_rate),
1268 .mode = 0644,
1269 .proc_handler = perf_proc_update_handler,
1270 .extra1 = SYSCTL_ONE,
1271 },
1272 {
1273 .procname = "perf_cpu_time_max_percent",
1274 .data = &sysctl_perf_cpu_time_max_percent,
1275 .maxlen = sizeof(sysctl_perf_cpu_time_max_percent),
1276 .mode = 0644,
1277 .proc_handler = perf_cpu_time_max_percent_handler,
1278 .extra1 = SYSCTL_ZERO,
1279 .extra2 = &one_hundred,
1280 },
1281 {
1282 .procname = "perf_event_max_stack",
1283 .data = &sysctl_perf_event_max_stack,
1284 .maxlen = sizeof(sysctl_perf_event_max_stack),
1285 .mode = 0644,
1286 .proc_handler = perf_event_max_stack_handler,
1287 .extra1 = SYSCTL_ZERO,
1288 .extra2 = &six_hundred_forty_kb,
1289 },
1290 {
1291 .procname = "perf_event_max_contexts_per_stack",
1292 .data = &sysctl_perf_event_max_contexts_per_stack,
1293 .maxlen = sizeof(sysctl_perf_event_max_contexts_per_stack),
1294 .mode = 0644,
1295 .proc_handler = perf_event_max_stack_handler,
1296 .extra1 = SYSCTL_ZERO,
1297 .extra2 = &one_thousand,
1298 },
1299 #endif
1300 {
1301 .procname = "panic_on_warn",
1302 .data = &panic_on_warn,
1303 .maxlen = sizeof(int),
1304 .mode = 0644,
1305 .proc_handler = proc_dointvec_minmax,
1306 .extra1 = SYSCTL_ZERO,
1307 .extra2 = SYSCTL_ONE,
1308 },
1309 #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
1310 {
1311 .procname = "timer_migration",
1312 .data = &sysctl_timer_migration,
1313 .maxlen = sizeof(unsigned int),
1314 .mode = 0644,
1315 .proc_handler = timer_migration_handler,
1316 .extra1 = SYSCTL_ZERO,
1317 .extra2 = SYSCTL_ONE,
1318 },
1319 #endif
1320 #ifdef CONFIG_BPF_SYSCALL
1321 {
1322 .procname = "unprivileged_bpf_disabled",
1323 .data = &sysctl_unprivileged_bpf_disabled,
1324 .maxlen = sizeof(sysctl_unprivileged_bpf_disabled),
1325 .mode = 0644,
1326 /* only handle a transition from default "0" to "1" */
1327 .proc_handler = proc_dointvec_minmax,
1328 .extra1 = SYSCTL_ONE,
1329 .extra2 = SYSCTL_ONE,
1330 },
1331 {
1332 .procname = "bpf_stats_enabled",
1333 .data = &bpf_stats_enabled_key.key,
1334 .maxlen = sizeof(bpf_stats_enabled_key),
1335 .mode = 0644,
1336 .proc_handler = proc_do_static_key,
1337 },
1338 #endif
1339 #if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU)
1340 {
1341 .procname = "panic_on_rcu_stall",
1342 .data = &sysctl_panic_on_rcu_stall,
1343 .maxlen = sizeof(sysctl_panic_on_rcu_stall),
1344 .mode = 0644,
1345 .proc_handler = proc_dointvec_minmax,
1346 .extra1 = SYSCTL_ZERO,
1347 .extra2 = SYSCTL_ONE,
1348 },
1349 #endif
1350 #ifdef CONFIG_STACKLEAK_RUNTIME_DISABLE
1351 {
1352 .procname = "stack_erasing",
1353 .data = NULL,
1354 .maxlen = sizeof(int),
1355 .mode = 0600,
1356 .proc_handler = stack_erasing_sysctl,
1357 .extra1 = SYSCTL_ZERO,
1358 .extra2 = SYSCTL_ONE,
1359 },
1360 #endif
1361 { }
1362 };
1363
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[zen-kernel-zen-kernel:5.5/muqss 22/22] kernel/sched/sched.h:1659:9: sparse: this was the original definition
by kbuild test robot
tree: https://github.com/zen-kernel/zen-kernel 5.5/muqss
head: bf569053d0fe08b3615793a0105afff3d28f3676
commit: bf569053d0fe08b3615793a0105afff3d28f3676 [22/22] muqss: Re-define WF_* wake flags in wait.c
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-154-g1dc00f87-dirty
git checkout bf569053d0fe08b3615793a0105afff3d28f3676
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/sched/wait.c:14:9: sparse: sparse: preprocessor token WF_MIGRATED redefined
>> kernel/sched/sched.h:1659:9: sparse: this was the original definition
vim +1659 kernel/sched/sched.h
cca26e8009d193 Kirill Tkhai 2014-08-20 1653
b13095f07f2546 Li Zefan 2013-03-05 1654 /*
b13095f07f2546 Li Zefan 2013-03-05 1655 * wake flags
b13095f07f2546 Li Zefan 2013-03-05 1656 */
97fb7a0a8944bd Ingo Molnar 2018-03-03 1657 #define WF_SYNC 0x01 /* Waker goes to sleep after wakeup */
97fb7a0a8944bd Ingo Molnar 2018-03-03 1658 #define WF_FORK 0x02 /* Child wakeup after fork */
97fb7a0a8944bd Ingo Molnar 2018-03-03 @1659 #define WF_MIGRATED 0x4 /* Internal use, task got migrated */
b13095f07f2546 Li Zefan 2013-03-05 1660
:::::: The code at line 1659 was first introduced by commit
:::::: 97fb7a0a8944bd6d2c5634e1e0fa689a5c40bc22 sched: Clean up and harmonize the coding style of the scheduler code base
:::::: TO: Ingo Molnar <mingo(a)kernel.org>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
Re: [PATCH 1/2] intel_idle: Introduce 'use_acpi' module parameter
by kbuild test robot
Hi "Rafael,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on next-20200130]
[cannot apply to acpi/next linux/master v5.5]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Rafael-J-Wysocki/intel_idle-Two-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 94f2630b18975bb56eee5d1a36371db967643479
config: i386-randconfig-a001-20200202 (attached as .config)
compiler: gcc-6 (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
drivers//idle/intel_idle.c: In function 'intel_idle_init_cstates_icpu':
>> drivers//idle/intel_idle.c:1265:18: error: expected identifier before '(' token
#define use_acpi (false)
^
>> drivers//idle/intel_idle.c:1469:14: note: in expansion of macro 'use_acpi'
if ((icpu->use_acpi || use_acpi) &&
^~~~~~~~
drivers//idle/intel_idle.c: In function 'intel_idle_init':
>> drivers//idle/intel_idle.c:1265:18: error: expected identifier before '(' token
#define use_acpi (false)
^
drivers//idle/intel_idle.c:1617:13: note: in expansion of macro 'use_acpi'
if (icpu->use_acpi || use_acpi)
^~~~~~~~
vim +/use_acpi +1469 drivers//idle/intel_idle.c
1427
1428 static void __init intel_idle_init_cstates_icpu(struct cpuidle_driver *drv)
1429 {
1430 int cstate;
1431
1432 switch (boot_cpu_data.x86_model) {
1433 case INTEL_FAM6_IVYBRIDGE_X:
1434 ivt_idle_state_table_update();
1435 break;
1436 case INTEL_FAM6_ATOM_GOLDMONT:
1437 case INTEL_FAM6_ATOM_GOLDMONT_PLUS:
1438 bxt_idle_state_table_update();
1439 break;
1440 case INTEL_FAM6_SKYLAKE:
1441 sklh_idle_state_table_update();
1442 break;
1443 }
1444
1445 for (cstate = 0; cstate < CPUIDLE_STATE_MAX; ++cstate) {
1446 unsigned int mwait_hint;
1447
1448 if (intel_idle_max_cstate_reached(cstate))
1449 break;
1450
1451 if (!cpuidle_state_table[cstate].enter &&
1452 !cpuidle_state_table[cstate].enter_s2idle)
1453 break;
1454
1455 /* If marked as unusable, skip this state. */
1456 if (cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_UNUSABLE) {
1457 pr_debug("state %s is disabled\n",
1458 cpuidle_state_table[cstate].name);
1459 continue;
1460 }
1461
1462 mwait_hint = flg2MWAIT(cpuidle_state_table[cstate].flags);
1463 if (!intel_idle_verify_cstate(mwait_hint))
1464 continue;
1465
1466 /* Structure copy. */
1467 drv->states[drv->state_count] = cpuidle_state_table[cstate];
1468
> 1469 if ((icpu->use_acpi || use_acpi) &&
1470 intel_idle_off_by_default(mwait_hint) &&
1471 !(cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_ALWAYS_ENABLE))
1472 drv->states[drv->state_count].flags |= CPUIDLE_FLAG_OFF;
1473
1474 drv->state_count++;
1475 }
1476
1477 if (icpu->byt_auto_demotion_disable_flag) {
1478 wrmsrl(MSR_CC6_DEMOTION_POLICY_CONFIG, 0);
1479 wrmsrl(MSR_MC6_DEMOTION_POLICY_CONFIG, 0);
1480 }
1481 }
1482
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[zen-kernel-zen-kernel:5.5/muqss 1/22] kernel/sched/MuQSS.c:138:36: error: 'CONFIG_SHARERQ' undeclared here (not in a function); did you mean 'CONFIG_CHARLCD'?
by kbuild test robot
tree: https://github.com/zen-kernel/zen-kernel 5.5/muqss
head: bf569053d0fe08b3615793a0105afff3d28f3676
commit: c58e2d61f83d40ac72e858d41b3b277b345b9387 [1/22] MultiQueue Skiplist Scheduler v0.196.
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout c58e2d61f83d40ac72e858d41b3b277b345b9387
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> kernel/sched/MuQSS.c:138:36: error: 'CONFIG_SHARERQ' undeclared here (not in a function); did you mean 'CONFIG_CHARLCD'?
static int rqshare __read_mostly = CONFIG_SHARERQ; /* Default RQSHARE_MC */
^~~~~~~~~~~~~~
CONFIG_CHARLCD
kernel/sched/MuQSS.c: In function 'unlock_rq':
kernel/sched/MuQSS.c:463:46: error: macro "spin_release" passed 3 arguments, but takes just 2
spin_release(&rq->lock->dep_map, 1, _RET_IP_);
^
kernel/sched/MuQSS.c:463:2: error: 'spin_release' undeclared (first use in this function); did you mean 'seq_release'?
spin_release(&rq->lock->dep_map, 1, _RET_IP_);
^~~~~~~~~~~~
seq_release
kernel/sched/MuQSS.c:463:2: note: each undeclared identifier is reported only once for each function it appears in
kernel/sched/MuQSS.c: In function 'prepare_lock_switch':
kernel/sched/MuQSS.c:2583:47: error: macro "spin_release" passed 3 arguments, but takes just 2
spin_release(&rq->lock->dep_map, 1, _THIS_IP_);
^
kernel/sched/MuQSS.c:2583:2: error: 'spin_release' undeclared (first use in this function); did you mean 'seq_release'?
spin_release(&rq->lock->dep_map, 1, _THIS_IP_);
^~~~~~~~~~~~
seq_release
In file included from include/asm-generic/percpu.h:7:0,
from ./arch/mips/include/generated/asm/percpu.h:1,
from include/linux/percpu.h:13,
from include/linux/arch_topology.h:9,
from include/linux/topology.h:30,
from include/linux/gfp.h:9,
from include/linux/xarray.h:14,
from include/linux/radix-tree.h:18,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/clocksource.h:19,
from include/linux/clockchips.h:14,
from include/linux/tick.h:8,
from include/linux/sched/isolation.h:6,
from kernel/sched/MuQSS.c:35:
kernel/sched/MuQSS.c: In function 'sched_init_smp':
kernel/sched/MuQSS.c:7071:85: error: 'cpu_llc_id' undeclared (first use in this function); did you mean 'sd_llc_id'?
printk(KERN_DEBUG "MuQSS CPU %d llc %d RQ order %d RQ %d llc %d\n", cpu, per_cpu(cpu_llc_id, cpu), i,
^
include/linux/percpu-defs.h:220:47: note: in definition of macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
include/linux/percpu-defs.h:270:29: note: in expansion of macro 'per_cpu_ptr'
#define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
^~~~~~~~~~~
kernel/sched/MuQSS.c:7071:77: note: in expansion of macro 'per_cpu'
printk(KERN_DEBUG "MuQSS CPU %d llc %d RQ order %d RQ %d llc %d\n", cpu, per_cpu(cpu_llc_id, cpu), i,
^~~~~~~
vim +138 kernel/sched/MuQSS.c
133
134 /*
135 * This determines what level of runqueue sharing will be done and is
136 * configurable at boot time with the bootparam rqshare =
137 */
> 138 static int rqshare __read_mostly = CONFIG_SHARERQ; /* Default RQSHARE_MC */
139
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[zen-kernel-zen-kernel:5.5/muqss 22/22] rcutorture.c:undefined reference to `sysctl_sched_rt_runtime'
by kbuild test robot
Hi Steven,
It's probably a bug fix that unveils the link errors.
tree: https://github.com/zen-kernel/zen-kernel 5.5/muqss
head: bf569053d0fe08b3615793a0105afff3d28f3676
commit: bf569053d0fe08b3615793a0105afff3d28f3676 [22/22] muqss: Re-define WF_* wake flags in wait.c
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
git checkout bf569053d0fe08b3615793a0105afff3d28f3676
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: kernel/rcu/rcutorture.o: in function `rcutorture_booster_cleanup':
>> rcutorture.c:(.text+0x407): undefined reference to `sysctl_sched_rt_runtime'
ld: kernel/rcu/rcutorture.o: in function `rcutorture_booster_init':
rcutorture.c:(.text+0x483): undefined reference to `sysctl_sched_rt_runtime'
>> ld: rcutorture.c:(.text+0x489): undefined reference to `sysctl_sched_rt_runtime'
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[rppt:pg_table/v0.0 8/18] arch/powerpc/include/asm/book3s/64/pgalloc.h:100:29: error: passing argument 1 of 'pgtable_gfp_flags' from incompatible pointer type
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git pg_table/v0.0
head: fd150c5a9ef6e3e43818825c69a46de2b427dedf
commit: 582d02322eb4f4d2d3903c0967216bc6b671164f [8/18] mm: enable pud allocations for pg_table
config: powerpc-randconfig-a001-20200202 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 582d02322eb4f4d2d3903c0967216bc6b671164f
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/powerpc/include/asm/book3s/pgalloc.h:10:0,
from arch/powerpc/include/asm/pgalloc.h:68,
from arch/powerpc//mm/mem.c:35:
arch/powerpc/include/asm/book3s/64/pgalloc.h: In function 'pud_alloc_one':
>> arch/powerpc/include/asm/book3s/64/pgalloc.h:100:29: error: passing argument 1 of 'pgtable_gfp_flags' from incompatible pointer type [-Werror=incompatible-pointer-types]
pgtable_gfp_flags(pgt, GFP_KERNEL));
^~~
In file included from arch/powerpc//mm/mem.c:35:0:
arch/powerpc/include/asm/pgalloc.h:8:21: note: expected 'struct mm_struct *' but argument is of type 'struct pg_table *'
static inline gfp_t pgtable_gfp_flags(struct mm_struct *mm, gfp_t gfp)
^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/pgtable_gfp_flags +100 arch/powerpc/include/asm/book3s/64/pgalloc.h
94
95 static inline pud_t *pud_alloc_one(struct pg_table *pgt, unsigned long addr)
96 {
97 pud_t *pud;
98
99 pud = kmem_cache_alloc(PGT_CACHE(PUD_CACHE_INDEX),
> 100 pgtable_gfp_flags(pgt, GFP_KERNEL));
101 /*
102 * Tell kmemleak to ignore the PUD, that means don't scan it for
103 * pointers and don't consider it a leak. PUDs are typically only
104 * referred to by their PGD, but kmemleak is not able to recognise those
105 * as pointers, leading to false leak reports.
106 */
107 kmemleak_ignore(pud);
108
109 return pud;
110 }
111
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[rppt:pg_table/v0.0 13/18] mm/init-mm.c:37:3: error: initializer element is not constant
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git pg_table/v0.0
head: fd150c5a9ef6e3e43818825c69a46de2b427dedf
commit: da7c45f8a8af997141e829ae8a9b776b7cb50bf9 [13/18] mm: move cpu_bitmask from mm_struct to pg_table
config: arm-randconfig-a001-20200202 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout da7c45f8a8af997141e829ae8a9b776b7cb50bf9
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
mm/init-mm.c:37:3: error: implicit declaration of function 'INIT_PT_CONTEXT'; did you mean 'INIT_MM_CONTEXT'? [-Werror=implicit-function-declaration]
INIT_PT_CONTEXT(init_mm.pgt)
^~~~~~~~~~~~~~~
INIT_MM_CONTEXT
mm/init-mm.c:37:3: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
mm/init-mm.c:37:3: note: (near initialization for 'init_mm.pgt.<anonymous>')
>> mm/init-mm.c:37:3: error: initializer element is not constant
mm/init-mm.c:37:3: note: (near initialization for 'init_mm.pgt.cpu_bitmap[0]')
cc1: some warnings being treated as errors
vim +37 mm/init-mm.c
bb1f17b0372de9 Alexey Dobriyan 2009-06-16 18
c1a2f7f0c06454 Rik van Riel 2018-07-16 19 /*
c1a2f7f0c06454 Rik van Riel 2018-07-16 20 * For dynamically allocated mm_structs, there is a dynamically sized cpumask
c1a2f7f0c06454 Rik van Riel 2018-07-16 21 * at the end of the structure, the size of which depends on the maximum CPU
c1a2f7f0c06454 Rik van Riel 2018-07-16 22 * number the system can see. That way we allocate only as much memory for
c1a2f7f0c06454 Rik van Riel 2018-07-16 23 * mm_cpumask() as needed for the hundreds, or thousands of processes that
c1a2f7f0c06454 Rik van Riel 2018-07-16 24 * a system typically runs.
c1a2f7f0c06454 Rik van Riel 2018-07-16 25 *
c1a2f7f0c06454 Rik van Riel 2018-07-16 26 * Since there is only one init_mm in the entire system, keep it simple
c1a2f7f0c06454 Rik van Riel 2018-07-16 27 * and size this cpu_bitmask to NR_CPUS.
c1a2f7f0c06454 Rik van Riel 2018-07-16 28 */
bb1f17b0372de9 Alexey Dobriyan 2009-06-16 29 struct mm_struct init_mm = {
bb1f17b0372de9 Alexey Dobriyan 2009-06-16 30 .mm_rb = RB_ROOT,
bb1f17b0372de9 Alexey Dobriyan 2009-06-16 31 .mm_users = ATOMIC_INIT(2),
bb1f17b0372de9 Alexey Dobriyan 2009-06-16 32 .mm_count = ATOMIC_INIT(1),
bb1f17b0372de9 Alexey Dobriyan 2009-06-16 33 .mmap_sem = __RWSEM_INITIALIZER(init_mm.mmap_sem),
f91cb6062ff32b Mike Rapoport 2019-08-06 34 .pgt = {
f91cb6062ff32b Mike Rapoport 2019-08-06 35 .page_table_lock = __SPIN_LOCK_UNLOCKED(init_mm.pgt.page_table_lock),
e5db6ff88e6ef1 Mike Rapoport 2019-11-18 36 .pgd = swapper_pg_dir,
a661e3799be71e Mike Rapoport 2019-11-19 @37 INIT_PT_CONTEXT(init_mm.pgt)
:::::: The code at line 37 was first introduced by commit
:::::: a661e3799be71e741ee4d31e1386e9f6f0932b38 x86/mm: split pt_context_t out of mm_context_t
:::::: TO: Mike Rapoport <rppt(a)linux.ibm.com>
:::::: CC: Mike Rapoport <rppt(a)linux.ibm.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[rgushchin:new_slab.2 171/261] setup.c:undefined reference to `.pmu_shutdown'
by kbuild test robot
tree: https://github.com/rgushchin/linux.git new_slab.2
head: 73feb630925aa5f40f9ef86a9023e0f014a25b49
commit: aa698ba4b661252a954332198763194cc666ae0e [171/261] a
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout aa698ba4b661252a954332198763194cc666ae0e
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
powerpc64-linux-ld: warning: orphan section `.gnu.hash' from `linker stubs' being placed in section `.gnu.hash'.
arch/powerpc/platforms/powermac/setup.o: In function `.pmac_power_off':
>> setup.c:(.text+0x74): undefined reference to `.pmu_shutdown'
arch/powerpc/platforms/powermac/setup.o: In function `.pmac_restart':
>> setup.c:(.text+0xe4): undefined reference to `.pmu_restart'
arch/powerpc/platforms/powermac/setup.o: In function `.pmac_setup_arch':
>> setup.c:(.init.text+0x430): undefined reference to `.find_via_pmu'
arch/powerpc/platforms/powermac/time.o: In function `.pmac_get_boot_time':
>> time.c:(.text+0xa0): undefined reference to `.pmu_get_time'
arch/powerpc/platforms/powermac/time.o: In function `.pmac_get_rtc_time':
time.c:(.text+0x120): undefined reference to `.pmu_get_time'
arch/powerpc/platforms/powermac/time.o: In function `.pmac_set_rtc_time':
>> time.c:(.text+0x1d4): undefined reference to `.pmu_set_rtc_time'
arch/powerpc/platforms/powermac/low_i2c.o: In function `.pmu_i2c_xfer':
>> low_i2c.c:(.text+0xf24): undefined reference to `.pmu_queue_request'
low_i2c.c:(.text+0xfe0): undefined reference to `.pmu_queue_request'
arch/powerpc/platforms/powermac/low_i2c.o: In function `.pmac_i2c_init':
>> low_i2c.c:(.init.text+0x724): undefined reference to `.pmu_present'
arch/powerpc/platforms/powermac/udbg_adb.o: In function `.udbg_adb_getc_poll':
>> udbg_adb.c:(.text+0xe0): undefined reference to `.pmu_poll_adb'
arch/powerpc/platforms/powermac/udbg_adb.o: In function `.udbg_adb_getc':
udbg_adb.c:(.text+0x260): undefined reference to `.pmu_poll_adb'
arch/powerpc/platforms/powermac/udbg_adb.o: In function `.udbg_adb_init':
>> udbg_adb.c:(.init.text+0x1f0): undefined reference to `.find_via_pmu'
drivers/macintosh/via-pmu-event.o: In function `.via_pmu_event_init':
via-pmu-event.c:(.init.text+0x20): undefined reference to `.pmu_get_model'
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
[rppt:pg_table/v0.0 5/18] arch/powerpc/kernel/asm-offsets.c:361:28: error: 'struct mm_struct' has no member named 'pgd'; did you mean 'pgt'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git pg_table/v0.0
head: fd150c5a9ef6e3e43818825c69a46de2b427dedf
commit: e5db6ff88e6ef1ff9ab6fefb7ec882d7e329f783 [5/18] mm: move pgd into 'struct pg_table'
config: powerpc-allnoconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout e5db6ff88e6ef1ff9ab6fefb7ec882d7e329f783
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/powerpc/kernel/asm-offsets.c:29:0:
arch/powerpc/kernel/asm-offsets.c: In function 'main':
>> arch/powerpc/kernel/asm-offsets.c:361:28: error: 'struct mm_struct' has no member named 'pgd'; did you mean 'pgt'?
OFFSET(MM_PGD, mm_struct, pgd);
^
include/linux/kbuild.h:6:62: note: in definition of macro 'DEFINE'
asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
^~~
>> include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
#define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
^~~~~~~~~~~~~~~~~~~
>> include/linux/kbuild.h:11:14: note: in expansion of macro 'offsetof'
DEFINE(sym, offsetof(struct str, mem))
^~~~~~~~
>> arch/powerpc/kernel/asm-offsets.c:361:2: note: in expansion of macro 'OFFSET'
OFFSET(MM_PGD, mm_struct, pgd);
^~~~~~
make[2]: *** [arch/powerpc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2
9 real 3 user 5 sys 95.89% cpu make prepare
vim +361 arch/powerpc/kernel/asm-offsets.c
d1dead5c5f016e Stephen Rothwell 2005-09-29 359
d1dead5c5f016e Stephen Rothwell 2005-09-29 360 #ifndef CONFIG_PPC64
45465615511060 Rashmica Gupta 2017-02-15 @361 OFFSET(MM_PGD, mm_struct, pgd);
d1dead5c5f016e Stephen Rothwell 2005-09-29 362 #endif /* ! CONFIG_PPC64 */
14cf11af6cf608 Paul Mackerras 2005-09-26 363
14cf11af6cf608 Paul Mackerras 2005-09-26 364 /* About the CPU features table */
45465615511060 Rashmica Gupta 2017-02-15 365 OFFSET(CPU_SPEC_FEATURES, cpu_spec, cpu_features);
45465615511060 Rashmica Gupta 2017-02-15 366 OFFSET(CPU_SPEC_SETUP, cpu_spec, cpu_setup);
45465615511060 Rashmica Gupta 2017-02-15 367 OFFSET(CPU_SPEC_RESTORE, cpu_spec, cpu_restore);
14cf11af6cf608 Paul Mackerras 2005-09-26 368
45465615511060 Rashmica Gupta 2017-02-15 369 OFFSET(pbe_address, pbe, address);
45465615511060 Rashmica Gupta 2017-02-15 370 OFFSET(pbe_orig_address, pbe, orig_address);
45465615511060 Rashmica Gupta 2017-02-15 371 OFFSET(pbe_next, pbe, next);
14cf11af6cf608 Paul Mackerras 2005-09-26 372
:::::: The code at line 361 was first introduced by commit
:::::: 454656155110603e88b83eec847d5293a30bb96e powerpc/asm: Use OFFSET macro in asm-offsets.c
:::::: TO: Rashmica Gupta <rashmicy(a)gmail.com>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months