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()
318 struct scf_check *scfcp = NULL; in scftorture_invoke_one() local
326 scfcp = kmalloc(sizeof(*scfcp), GFP_ATOMIC); in scftorture_invoke_one()
327 if (!scfcp) { in scftorture_invoke_one()
331 scfcp->scfc_cpu = -1; in scftorture_invoke_one()
332 scfcp->scfc_wait = scfsp->scfs_wait; in scftorture_invoke_one()
333 scfcp->scfc_out = false; in scftorture_invoke_one()
334 scfcp->scfc_rpc = false; in scftorture_invoke_one()
352 if (scfcp) { in scftorture_invoke_one()
353 scfcp->scfc_cpu = cpu; in scftorture_invoke_one()
355 scfcp->scfc_in = true; in scftorture_invoke_one()
357 ret = smp_call_function_single(cpu, scf_handler_1, (void *)scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
363 kfree(scfcp); in scftorture_invoke_one()
364 scfcp = NULL; in scftorture_invoke_one()
368 if (!scfcp) in scftorture_invoke_one()
372 scfcp->scfc_cpu = cpu; in scftorture_invoke_one()
373 scfcp->scfc_wait = true; in scftorture_invoke_one()
374 init_completion(&scfcp->scfc_completion); in scftorture_invoke_one()
375 scfcp->scfc_rpc = true; in scftorture_invoke_one()
377 scfcp->scfc_in = true; in scftorture_invoke_one()
378 ret = smp_call_function_single(cpu, scf_handler_1, (void *)scfcp, 0); in scftorture_invoke_one()
384 wait_for_completion(&scfcp->scfc_completion); in scftorture_invoke_one()
391 kfree(scfcp); in scftorture_invoke_one()
392 scfcp = NULL; in scftorture_invoke_one()
400 if (scfcp) { in scftorture_invoke_one()
402 scfcp->scfc_in = true; in scftorture_invoke_one()
404 smp_call_function_many(cpu_online_mask, scf_handler, scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
411 if (scfcp) { in scftorture_invoke_one()
413 scfcp->scfc_in = true; in scftorture_invoke_one()
415 smp_call_function(scf_handler, scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
419 if (scfcp) in scftorture_invoke_one()
420 scfcp->scfc_out = true; in scftorture_invoke_one()
422 if (scfcp && scfsp->scfs_wait) { in scftorture_invoke_one()
424 !scfcp->scfc_out)) { in scftorture_invoke_one()
428 kfree(scfcp); in scftorture_invoke_one()