Lines Matching defs:shared_ctx

62 	struct tsync_shared_context *shared_ctx;
164 restrict_one_thread(ctx->shared_ctx);
361 * For each added task_work, atomically increments shared_ctx->num_preparing and
362 * shared_ctx->num_unfinished.
368 struct tsync_shared_context *shared_ctx)
410 ctx->shared_ctx = shared_ctx;
412 atomic_inc(&shared_ctx->num_preparing);
413 atomic_inc(&shared_ctx->num_unfinished);
426 atomic_dec(&shared_ctx->num_preparing);
427 atomic_dec(&shared_ctx->num_unfinished);
439 * shared_ctx->num_preparing and shared_ctx->num_unfished and mark the two
443 struct tsync_shared_context *shared_ctx)
457 if (atomic_dec_return(&shared_ctx->num_preparing) == 0)
458 complete_all(&shared_ctx->all_prepared);
460 if (atomic_dec_return(&shared_ctx->num_unfinished) == 0)
461 complete_all(&shared_ctx->all_finished);
472 struct tsync_shared_context shared_ctx;
477 atomic_set(&shared_ctx.preparation_error, 0);
478 init_completion(&shared_ctx.all_prepared);
479 init_completion(&shared_ctx.ready_to_commit);
480 atomic_set(&shared_ctx.num_unfinished, 1);
481 init_completion(&shared_ctx.all_finished);
482 shared_ctx.old_cred = old_cred;
483 shared_ctx.new_cred = new_cred;
484 shared_ctx.set_no_new_privs = task_no_new_privs(current);
501 * shared_ctx.preparation_error, if needed.
511 * shared_ctx.preparation_error.
513 * 4) reads shared_ctx.preparation_error and then either does
543 atomic_set(&shared_ctx.preparation_error, err);
558 atomic_set(&shared_ctx.num_preparing, 1);
559 reinit_completion(&shared_ctx.all_prepared);
565 found_more_threads = schedule_task_work(&works, &shared_ctx);
571 if (atomic_dec_return(&shared_ctx.num_preparing) > 0) {
573 &shared_ctx.all_prepared)) {
578 atomic_set(&shared_ctx.preparation_error,
589 cancel_tsync_works(&works, &shared_ctx);
600 !atomic_read(&shared_ctx.preparation_error));
607 complete_all(&shared_ctx.ready_to_commit);
613 if (atomic_dec_return(&shared_ctx.num_unfinished) > 0)
614 wait_for_completion(&shared_ctx.all_finished);
618 return atomic_read(&shared_ctx.preparation_error);