Lines Matching refs:scfcp
261 struct scf_check *scfcp = scfc_in; in scf_handler() local
263 if (likely(scfcp)) { in scf_handler()
264 WRITE_ONCE(scfcp->scfc_out, false); // For multiple receivers. in scf_handler()
265 if (WARN_ON_ONCE(unlikely(!READ_ONCE(scfcp->scfc_in)))) in scf_handler()
290 if (unlikely(!scfcp)) in scf_handler()
292 if (scfcp->scfc_wait) { in scf_handler()
293 WRITE_ONCE(scfcp->scfc_out, true); in scf_handler()
294 if (scfcp->scfc_rpc) in scf_handler()
295 complete(&scfcp->scfc_completion); in scf_handler()
297 kfree(scfcp); in scf_handler()
304 struct scf_check *scfcp = scfc_in; in scf_handler_1() local
306 …if (likely(scfcp) && WARN_ONCE(smp_processor_id() != scfcp->scfc_cpu, "%s: Wanted CPU %d got CPU %… in scf_handler_1()
309 scf_handler(scfcp); in scf_handler_1()
317 struct scf_check *scfcp = NULL; in scftorture_invoke_one() local
325 scfcp = kmalloc(sizeof(*scfcp), GFP_ATOMIC); in scftorture_invoke_one()
326 if (WARN_ON_ONCE(!scfcp)) { in scftorture_invoke_one()
329 scfcp->scfc_cpu = -1; in scftorture_invoke_one()
330 scfcp->scfc_wait = scfsp->scfs_wait; in scftorture_invoke_one()
331 scfcp->scfc_out = false; in scftorture_invoke_one()
332 scfcp->scfc_rpc = false; in scftorture_invoke_one()
350 if (scfcp) { in scftorture_invoke_one()
351 scfcp->scfc_cpu = cpu; in scftorture_invoke_one()
353 scfcp->scfc_in = true; in scftorture_invoke_one()
355 ret = smp_call_function_single(cpu, scf_handler_1, (void *)scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
361 kfree(scfcp); in scftorture_invoke_one()
362 scfcp = NULL; in scftorture_invoke_one()
366 if (!scfcp) in scftorture_invoke_one()
370 scfcp->scfc_cpu = cpu; in scftorture_invoke_one()
371 scfcp->scfc_wait = true; in scftorture_invoke_one()
372 init_completion(&scfcp->scfc_completion); in scftorture_invoke_one()
373 scfcp->scfc_rpc = true; in scftorture_invoke_one()
375 scfcp->scfc_in = true; in scftorture_invoke_one()
376 ret = smp_call_function_single(cpu, scf_handler_1, (void *)scfcp, 0); in scftorture_invoke_one()
382 wait_for_completion(&scfcp->scfc_completion); in scftorture_invoke_one()
389 kfree(scfcp); in scftorture_invoke_one()
390 scfcp = NULL; in scftorture_invoke_one()
398 if (scfcp) { in scftorture_invoke_one()
400 scfcp->scfc_in = true; in scftorture_invoke_one()
402 smp_call_function_many(cpu_online_mask, scf_handler, scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
409 if (scfcp) { in scftorture_invoke_one()
411 scfcp->scfc_in = true; in scftorture_invoke_one()
413 smp_call_function(scf_handler, scfcp, scfsp->scfs_wait); in scftorture_invoke_one()
417 if (scfcp) in scftorture_invoke_one()
418 scfcp->scfc_out = true; in scftorture_invoke_one()
420 if (scfcp && scfsp->scfs_wait) { in scftorture_invoke_one()
422 !scfcp->scfc_out)) { in scftorture_invoke_one()
426 kfree(scfcp); in scftorture_invoke_one()