* [rcu:dev.2019.09.23a 65/77] kernel//rcu/tree.c:2770:3: error: implicit declaration of function 'kfree'; did you mean 'kvfree'?
@ 2019-09-24 2:21 kbuild test robot
2019-09-24 14:56 ` Paul E. McKenney
0 siblings, 1 reply; 2+ messages in thread
From: kbuild test robot @ 2019-09-24 2:21 UTC (permalink / raw)
To: Joel Fernandes (Google); +Cc: kbuild-all, linux-kernel, Paul E. McKenney
[-- Attachment #1: Type: text/plain, Size: 2490 bytes --]
tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.09.23a
head: 97de53b94582c208ee239178b208b8e8b9472585
commit: 06b68648e6084488b79de47a2cfa307a1b9668b9 [65/77] rcu: Remove kfree_rcu() special casing and lazy-callback handling
config: x86_64-randconfig-c004-201938 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
git checkout 06b68648e6084488b79de47a2cfa307a1b9668b9
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
kernel//rcu/tree.c: In function 'kfree_rcu_work':
>> kernel//rcu/tree.c:2770:3: error: implicit declaration of function 'kfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
kfree((void *)head - offset);
^~~~~
kvfree
cc1: some warnings being treated as errors
vim +2770 kernel//rcu/tree.c
2739
2740 /*
2741 * This function is invoked in workqueue context after a grace period.
2742 * It frees all the objects queued on ->head_free.
2743 */
2744 static void kfree_rcu_work(struct work_struct *work)
2745 {
2746 unsigned long flags;
2747 struct rcu_head *head, *next;
2748 struct kfree_rcu_cpu *krcp;
2749 struct kfree_rcu_cpu_work *krwp;
2750
2751 krwp = container_of(to_rcu_work(work),
2752 struct kfree_rcu_cpu_work, rcu_work);
2753 krcp = krwp->krcp;
2754 spin_lock_irqsave(&krcp->lock, flags);
2755 head = krwp->head_free;
2756 krwp->head_free = NULL;
2757 spin_unlock_irqrestore(&krcp->lock, flags);
2758
2759 // List "head" is now private, so traverse locklessly.
2760 for (; head; head = next) {
2761 unsigned long offset = (unsigned long)head->func;
2762
2763 next = head->next;
2764 // Potentially optimize with kfree_bulk in future.
2765 debug_rcu_head_unqueue(head);
2766 rcu_lock_acquire(&rcu_callback_map);
2767 trace_rcu_invoke_kfree_callback(rcu_state.name, head, offset);
2768
2769 /* Could be possible to optimize with kfree_bulk in future */
> 2770 kfree((void *)head - offset);
2771
2772 rcu_lock_release(&rcu_callback_map);
2773 cond_resched_tasks_rcu_qs();
2774 }
2775 }
2776
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30418 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [rcu:dev.2019.09.23a 65/77] kernel//rcu/tree.c:2770:3: error: implicit declaration of function 'kfree'; did you mean 'kvfree'?
2019-09-24 2:21 [rcu:dev.2019.09.23a 65/77] kernel//rcu/tree.c:2770:3: error: implicit declaration of function 'kfree'; did you mean 'kvfree'? kbuild test robot
@ 2019-09-24 14:56 ` Paul E. McKenney
0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2019-09-24 14:56 UTC (permalink / raw)
To: kbuild test robot; +Cc: Joel Fernandes (Google), kbuild-all, linux-kernel
On Tue, Sep 24, 2019 at 10:21:54AM +0800, kbuild test robot wrote:
> tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.09.23a
> head: 97de53b94582c208ee239178b208b8e8b9472585
> commit: 06b68648e6084488b79de47a2cfa307a1b9668b9 [65/77] rcu: Remove kfree_rcu() special casing and lazy-callback handling
> config: x86_64-randconfig-c004-201938 (attached as .config)
> compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
> reproduce:
> git checkout 06b68648e6084488b79de47a2cfa307a1b9668b9
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> kernel//rcu/tree.c: In function 'kfree_rcu_work':
> >> kernel//rcu/tree.c:2770:3: error: implicit declaration of function 'kfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
> kfree((void *)head - offset);
> ^~~~~
> kvfree
> cc1: some warnings being treated as errors
Good catch, missing #include of slab.h, fix posted to be squashed with
the original commit.
Thanx, Paul
> vim +2770 kernel//rcu/tree.c
>
> 2739
> 2740 /*
> 2741 * This function is invoked in workqueue context after a grace period.
> 2742 * It frees all the objects queued on ->head_free.
> 2743 */
> 2744 static void kfree_rcu_work(struct work_struct *work)
> 2745 {
> 2746 unsigned long flags;
> 2747 struct rcu_head *head, *next;
> 2748 struct kfree_rcu_cpu *krcp;
> 2749 struct kfree_rcu_cpu_work *krwp;
> 2750
> 2751 krwp = container_of(to_rcu_work(work),
> 2752 struct kfree_rcu_cpu_work, rcu_work);
> 2753 krcp = krwp->krcp;
> 2754 spin_lock_irqsave(&krcp->lock, flags);
> 2755 head = krwp->head_free;
> 2756 krwp->head_free = NULL;
> 2757 spin_unlock_irqrestore(&krcp->lock, flags);
> 2758
> 2759 // List "head" is now private, so traverse locklessly.
> 2760 for (; head; head = next) {
> 2761 unsigned long offset = (unsigned long)head->func;
> 2762
> 2763 next = head->next;
> 2764 // Potentially optimize with kfree_bulk in future.
> 2765 debug_rcu_head_unqueue(head);
> 2766 rcu_lock_acquire(&rcu_callback_map);
> 2767 trace_rcu_invoke_kfree_callback(rcu_state.name, head, offset);
> 2768
> 2769 /* Could be possible to optimize with kfree_bulk in future */
> > 2770 kfree((void *)head - offset);
> 2771
> 2772 rcu_lock_release(&rcu_callback_map);
> 2773 cond_resched_tasks_rcu_qs();
> 2774 }
> 2775 }
> 2776
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-09-24 14:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-24 2:21 [rcu:dev.2019.09.23a 65/77] kernel//rcu/tree.c:2770:3: error: implicit declaration of function 'kfree'; did you mean 'kvfree'? kbuild test robot
2019-09-24 14:56 ` Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).