Lines Matching refs:scfcp
262 struct scf_check *scfcp = scfc_in; in scf_handler() local
264 if (likely(scfcp)) { in scf_handler()
265 WRITE_ONCE(scfcp->scfc_out, false); // For multiple receivers. in scf_handler()
266 if (WARN_ON_ONCE(unlikely(!READ_ONCE(scfcp->scfc_in)))) in scf_handler()
291 if (unlikely(!scfcp)) in scf_handler()
293 if (scfcp->scfc_wait) { in scf_handler()
294 WRITE_ONCE(scfcp->scfc_out, true); in scf_handler()
295 if (scfcp->scfc_rpc) in scf_handler()
296 complete(&scfcp->scfc_completion); in scf_handler()
298 kfree(scfcp); in scf_handler()
305 struct scf_check *scfcp = scfc_in; in scf_handler_1() local
307 …if (likely(scfcp) && WARN_ONCE(smp_processor_id() != scfcp->scfc_cpu, "%s: Wanted CPU %d got CPU %… in scf_handler_1()
310 scf_handler(scfcp); in scf_handler_1()
319 struct scf_check *scfcp = NULL; in scftorture_invoke_one() local
327 scfcp = kmalloc(sizeof(*scfcp), GFP_ATOMIC); in scftorture_invoke_one()
328 if (!scfcp) { in scftorture_invoke_one()
333 scfcp->scfc_cpu = -1; in scftorture_invoke_one()
334 scfcp->scfc_wait = scfsp->scfs_wait; in scftorture_invoke_one()
335 scfcp->scfc_out = false; in scftorture_invoke_one()
336 scfcp->scfc_rpc = false; in scftorture_invoke_one()
354 if (scfcp) { in scftorture_invoke_one()
355 scfcp->scfc_cpu = cpu; in scftorture_invoke_one()
357 scfcp->scfc_in = true; in scftorture_invoke_one()
359 ret = smp_call_function_single(cpu, scf_handler_1, (void *)scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
365 kfree(scfcp); in scftorture_invoke_one()
366 scfcp = NULL; in scftorture_invoke_one()
370 if (!scfcp) in scftorture_invoke_one()
374 scfcp->scfc_cpu = cpu; in scftorture_invoke_one()
375 scfcp->scfc_wait = true; in scftorture_invoke_one()
376 init_completion(&scfcp->scfc_completion); in scftorture_invoke_one()
377 scfcp->scfc_rpc = true; in scftorture_invoke_one()
379 scfcp->scfc_in = true; in scftorture_invoke_one()
380 ret = smp_call_function_single(cpu, scf_handler_1, (void *)scfcp, 0); in scftorture_invoke_one()
386 wait_for_completion(&scfcp->scfc_completion); in scftorture_invoke_one()
393 kfree(scfcp); in scftorture_invoke_one()
394 scfcp = NULL; in scftorture_invoke_one()
402 if (scfcp) { in scftorture_invoke_one()
404 scfcp->scfc_in = true; in scftorture_invoke_one()
406 smp_call_function_many(cpu_online_mask, scf_handler, scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
413 if (scfcp) { in scftorture_invoke_one()
415 scfcp->scfc_in = true; in scftorture_invoke_one()
417 smp_call_function(scf_handler, scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
421 if (scfcp) in scftorture_invoke_one()
422 scfcp->scfc_out = true; in scftorture_invoke_one()
424 if (scfcp && scfsp->scfs_wait) { in scftorture_invoke_one()
426 !scfcp->scfc_out)) { in scftorture_invoke_one()
430 kfree(scfcp); in scftorture_invoke_one()