Contributors: 20
Author Tokens Token Proportion Commits Commit Proportion
David Howells 32 20.78% 3 10.34%
Peter Zijlstra 23 14.94% 2 6.90%
Nico Pitre 20 12.99% 1 3.45%
Ingo Molnar 15 9.74% 5 17.24%
Al Viro 10 6.49% 2 6.90%
Linus Torvalds 10 6.49% 1 3.45%
Cédric Le Goater 6 3.90% 2 6.90%
Carsten Emde 4 2.60% 1 3.45%
Serge E. Hallyn 3 1.95% 1 3.45%
Frédéric Weisbecker 3 1.95% 1 3.45%
Tim Abbott 3 1.95% 1 3.45%
Steven Rostedt 3 1.95% 1 3.45%
Kirill Korotaev 3 1.95% 1 3.45%
Elena Reshetova 3 1.95% 1 3.45%
Dipankar Sarma 3 1.95% 1 3.45%
Andrew G. Morgan 3 1.95% 1 3.45%
Andrew Lutomirski 3 1.95% 1 3.45%
Josh Poimboeuf 3 1.95% 1 3.45%
Eric W. Biedermann 3 1.95% 1 3.45%
Greg Kroah-Hartman 1 0.65% 1 3.45%
Total 154 29


/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX__INIT_TASK_H
#define _LINUX__INIT_TASK_H

#include <linux/rcupdate.h>
#include <linux/irqflags.h>
#include <linux/utsname.h>
#include <linux/lockdep.h>
#include <linux/ftrace.h>
#include <linux/ipc.h>
#include <linux/pid_namespace.h>
#include <linux/user_namespace.h>
#include <linux/securebits.h>
#include <linux/seqlock.h>
#include <linux/rbtree.h>
#include <linux/refcount.h>
#include <linux/sched/autogroup.h>
#include <net/net_namespace.h>
#include <linux/sched/rt.h>
#include <linux/livepatch.h>
#include <linux/mm_types.h>

#include <asm/thread_info.h>

extern struct files_struct init_files;
extern struct fs_struct init_fs;
extern struct nsproxy init_nsproxy;
extern struct group_info init_groups;
extern struct cred init_cred;

#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
#define INIT_PREV_CPUTIME(x)	.prev_cputime = {			\
	.lock = __RAW_SPIN_LOCK_UNLOCKED(x.prev_cputime.lock),		\
},
#else
#define INIT_PREV_CPUTIME(x)
#endif

#ifdef CONFIG_POSIX_TIMERS
#define INIT_CPU_TIMERS(s)						\
	.cpu_timers = {							\
		LIST_HEAD_INIT(s.cpu_timers[0]),			\
		LIST_HEAD_INIT(s.cpu_timers[1]),			\
		LIST_HEAD_INIT(s.cpu_timers[2]),			\
	},
#else
#define INIT_CPU_TIMERS(s)
#endif

#define INIT_TASK_COMM "swapper"

/* Attach to the init_task data structure for proper alignment */
#ifdef CONFIG_ARCH_TASK_STRUCT_ON_STACK
#define __init_task_data __attribute__((__section__(".data..init_task")))
#else
#define __init_task_data /**/
#endif

/* Attach to the thread_info data structure for proper alignment */
#define __init_thread_info __attribute__((__section__(".data..init_thread_info")))

#endif