include/linux/posix-timers_types.h

Source file repositories/reference/linux-study-clean/include/linux/posix-timers_types.h

File Facts

System
Linux kernel
Corpus path
include/linux/posix-timers_types.h
Extension
.h
Size
2259 bytes
Lines
81
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct posix_cputimer_base {
	u64			nextevt;
	struct timerqueue_head	tqhead;
};

/**
 * posix_cputimers - Container for posix CPU timer related data
 * @bases:		Base container for posix CPU clocks
 * @timers_active:	Timers are queued.
 * @expiry_active:	Timer expiry is active. Used for
 *			process wide timers to avoid multiple
 *			task trying to handle expiry concurrently
 *
 * Used in task_struct and signal_struct
 */
struct posix_cputimers {
	struct posix_cputimer_base	bases[CPUCLOCK_MAX];
	unsigned int			timers_active;
	unsigned int			expiry_active;
};

/**
 * posix_cputimers_work - Container for task work based posix CPU timer expiry
 * @work:	The task work to be scheduled
 * @mutex:	Mutex held around expiry in context of this task work
 * @scheduled:  @work has been scheduled already, no further processing
 */
struct posix_cputimers_work {
	struct callback_head	work;
	struct mutex		mutex;
	unsigned int		scheduled;
};

#else /* CONFIG_POSIX_TIMERS */

struct posix_cputimers { };

#endif /* CONFIG_POSIX_TIMERS */

#endif /* _linux_POSIX_TIMERS_TYPES_H */

Annotation

Implementation Notes