Re: [net-next V7 PATCH 1/5] bpf: introduce new bpf cpu map type BPF_MAP_TYPE_CPUMAP
From: kbuild test robot <hidden>
Date: 2017-10-14 00:26:20
Hi Jesper, [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Jesper-Dangaard-Brouer/New-bpf-cpumap-type-for-XDP_REDIRECT/20171014-061849 config: blackfin-allyesconfig (attached as .config) compiler: bfin-uclinux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=blackfin Note: the linux-review/Jesper-Dangaard-Brouer/New-bpf-cpumap-type-for-XDP_REDIRECT/20171014-061849 HEAD 000080e4de4026e29bcabecba678bc91f4a9688c builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): kernel//bpf/cpumap.c: In function '__cpu_map_entry_alloc':
quoted
kernel//bpf/cpumap.c:242:2: error: expected ';' before 'rcpu'
rcpu->kthread = kthread_create_on_node(cpu_map_kthread_run, rcpu, numa,
^~~~
At top level:
kernel//bpf/cpumap.c:184:12: warning: 'cpu_map_kthread_run' defined but not used [-Wunused-function]
static int cpu_map_kthread_run(void *data)
^~~~~~~~~~~~~~~~~~~
vim +242 kernel//bpf/cpumap.c
211
212 struct bpf_cpu_map_entry *__cpu_map_entry_alloc(u32 qsize, u32 cpu, int map_id)
213 {
214 gfp_t gfp = GFP_ATOMIC|__GFP_NOWARN;
215 struct bpf_cpu_map_entry *rcpu;
216 int numa, err;
217
218 /* Have map->numa_node, but choose node of redirect target CPU */
219 numa = cpu_to_node(cpu);
220
221 rcpu = kzalloc_node(sizeof(*rcpu), gfp, numa);
222 if (!rcpu)
223 return NULL;
224
225 /* Alloc percpu bulkq */
226 rcpu->bulkq = __alloc_percpu_gfp(sizeof(*rcpu->bulkq),
227 sizeof(void *), gfp);
228 if (!rcpu->bulkq)
229 goto free_rcu;
230
231 /* Alloc queue */
232 rcpu->queue = kzalloc_node(sizeof(*rcpu->queue), gfp, numa);
233 if (!rcpu->queue)
234 goto free_bulkq;
235
236 err = ptr_ring_init(rcpu->queue, qsize, gfp);
237 if (err)
238 goto free_queue;
239 rcpu->qsize = qsize
240
241 /* Setup kthread */
> 242 rcpu->kthread = kthread_create_on_node(cpu_map_kthread_run, rcpu, numa,
243 "cpumap/%d/map:%d", cpu, map_id);
244 if (IS_ERR(rcpu->kthread))
245 goto free_ptr_ring;
246
247 get_cpu_map_entry(rcpu); /* 1-refcnt for being in cmap->cpu_map[] */
248 get_cpu_map_entry(rcpu); /* 1-refcnt for kthread */
249
250 /* Make sure kthread runs on a single CPU */
251 kthread_bind(rcpu->kthread, cpu);
252 wake_up_process(rcpu->kthread);
253
254 return rcpu;
255
256 free_ptr_ring:
257 ptr_ring_cleanup(rcpu->queue, NULL);
258 free_queue:
259 kfree(rcpu->queue);
260 free_bulkq:
261 free_percpu(rcpu->bulkq);
262 free_rcu:
263 kfree(rcpu);
264 return NULL;
265 }
266
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation Attachments
- .config.gz [application/gzip] 46057 bytes