tools/testing/selftests/sched_ext/exit.c

Source file repositories/reference/linux-study-clean/tools/testing/selftests/sched_ext/exit.c

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/sched_ext/exit.c
Extension
.c
Size
1580 bytes
Lines
65
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

if (!link) {
			SCX_ERR("Failed to attach scheduler");
			exit__destroy(skel);
			return SCX_TEST_FAIL;
		}

		/* Assumes uei.kind is written last */
		while (skel->data->uei.kind == EXIT_KIND(SCX_EXIT_NONE))
			sched_yield();

		SCX_EQ(skel->data->uei.kind, EXIT_KIND(SCX_EXIT_UNREG_BPF));
		SCX_EQ(skel->data->uei.exit_code, tc);
		sprintf(buf, "%d", tc);
		SCX_ASSERT(!strcmp(skel->data->uei.msg, buf));
		bpf_link__destroy(link);
		exit__destroy(skel);
	}

	return SCX_TEST_PASS;
}

struct scx_test exit_test = {
	.name = "exit",
	.description = "Verify we can cleanly exit a scheduler in multiple places",
	.run = run,
};
REGISTER_SCX_TEST(&exit_test)

Annotation

Implementation Notes