struct task_struct { volatile long int state; /* 0 8 */ void * stack; /* 8 8 */ atomic_t usage; /* 16 4 */ unsigned int flags; /* 20 4 */ unsigned int ptrace; /* 24 4 */ int lock_depth; /* 28 4 */ int prio; /* 32 4 */ int static_prio; /* 36 4 */ int normal_prio; /* 40 4 */ /* XXX 4 bytes hole, try to pack */ const struct sched_class *sched_class; /* 48 8 */ struct sched_entity se; /* 56 136 */ /* --- cacheline 3 boundary (192 bytes) --- */ struct sched_rt_entity rt; /* 192 72 */ /* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */ struct hlist_head preempt_notifiers; /* 264 8 */ unsigned char fpu_counter; /* 272 1 */ s8 oomkilladj; /* 273 1 */ /* XXX 2 bytes hole, try to pack */ unsigned int btrace_seq; /* 276 4 */ unsigned int policy; /* 280 4 */ /* XXX 4 bytes hole, try to pack */ cpumask_t cpus_allowed; /* 288 8 */ struct sched_info sched_info; /* 296 40 */ /* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ struct list_head tasks; /* 336 16 */ struct list_head ptrace_children; /* 352 16 */ struct list_head ptrace_list; /* 368 16 */ /* --- cacheline 6 boundary (384 bytes) --- */ struct mm_struct { struct vm_area_struct { struct mm_struct *vm_mm; long unsigned int vm_start; long unsigned int vm_end; struct vm_area_struct *vm_next; pgprot_t vm_page_prot; long unsigned int vm_flags; struct rb_node vm_rb; /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ union { struct { struct list_head list; void * parent; struct vm_area_struct *head; } vm_set struct raw_prio_tree_node prio_tree_node; } shared; struct list_head anon_vma_node; struct anon_vma { } *anon_vma; /* --- cacheline 2 boundary (128 bytes) --- */ struct vm_operations_struct { void (*open)(struct vm_area_struct *); void (*close)(struct vm_area_struct *); int (*fault)(struct vm_area_struct *, struct vm_fault *); long unsigned int (*nopfn)(struct vm_area_struct *, long unsigned int); int (*page_mkwrite)(struct vm_area_struct *, struct page *); int (*set_policy)(struct vm_area_struct *, struct mempolicy *); struct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int); int (*migrate)(struct vm_area_struct *, const nodemask_t *, const nodemask_t *, long unsigned int); /* --- cacheline 1 boundary (64 bytes) --- */ } *vm_ops; long unsigned int vm_pgoff; struct file { } *vm_file; void * vm_private_data; long unsigned int vm_truncate_count; struct mempolicy { } *vm_policy; } *mmap; struct rb_root mm_rb; struct vm_area_struct { struct mm_struct *vm_mm; long unsigned int vm_start; long unsigned int vm_end; struct vm_area_struct *vm_next; pgprot_t vm_page_prot; long unsigned int vm_flags; struct rb_node vm_rb; /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ union { struct { struct list_head list; void * parent; struct vm_area_struct *head; } vm_set struct raw_prio_tree_node prio_tree_node; } shared; struct list_head anon_vma_node; struct anon_vma { } *anon_vma; /* --- cacheline 2 boundary (128 bytes) --- */ struct vm_operations_struct { void (*open)(struct vm_area_struct *); void (*close)(struct vm_area_struct *); int (*fault)(struct vm_area_struct *, struct vm_fault *); long unsigned int (*nopfn)(struct vm_area_struct *, long unsigned int); int (*page_mkwrite)(struct vm_area_struct *, struct page *); int (*set_policy)(struct vm_area_struct *, struct mempolicy *); struct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int); int (*migrate)(struct vm_area_struct *, const nodemask_t *, const nodemask_t *, long unsigned int); /* --- cacheline 1 boundary (64 bytes) --- */ } *vm_ops; long unsigned int vm_pgoff; struct file { } *vm_file; void * vm_private_data; long unsigned int vm_truncate_count; struct mempolicy { } *vm_policy; } *mmap_cache; long unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); void (*unmap_area)(struct mm_struct *, long unsigned int); long unsigned int mmap_base; long unsigned int task_size; long unsigned int cached_hole_size; /* --- cacheline 1 boundary (64 bytes) --- */ long unsigned int free_area_cache; /* typedef pgd_t */ struct { pgdval_t pgd; } *pgd; atomic_t mm_users; atomic_t mm_count; int map_count; int core_waiters; struct rw_semaphore mmap_sem; spinlock_t page_table_lock; /* XXX 4 bytes hole, try to pack */ /* --- cacheline 2 boundary (128 bytes) --- */ struct list_head mmlist; mm_counter_t _file_rss; mm_counter_t _anon_rss; long unsigned int hiwater_rss; long unsigned int hiwater_vm; long unsigned int total_vm; long unsigned int locked_vm; /* --- cacheline 3 boundary (192 bytes) --- */ long unsigned int shared_vm; long unsigned int exec_vm; long unsigned int stack_vm; long unsigned int reserved_vm; long unsigned int def_flags; long unsigned int nr_ptes; long unsigned int start_code; long unsigned int end_code; /* --- cacheline 4 boundary (256 bytes) --- */ long unsigned int start_data; long unsigned int end_data; long unsigned int start_brk; long unsigned int brk; long unsigned int start_stack; long unsigned int arg_start; long unsigned int arg_end; long unsigned int env_start; /* --- cacheline 5 boundary (320 bytes) --- */ long unsigned int env_end; long unsigned int saved_auxv[38]; /* --- cacheline 9 boundary (576 bytes) was 56 bytes ago --- */ cpumask_t cpu_vm_mask; /* --- cacheline 10 boundary (640 bytes) --- */ mm_context_t context; unsigned int faultstamp; unsigned int token_priority; unsigned int last_interval; /* XXX 4 bytes hole, try to pack */ /* --- cacheline 11 boundary (704 bytes) --- */ long unsigned int flags; struct completion { unsigned int done; /* XXX 4 bytes hole, try to pack */ wait_queue_head_t wait; } *core_startup_done; struct completion core_done; rwlock_t ioctx_list_lock; /* XXX 4 bytes hole, try to pack */ struct kioctx { atomic_t users; int dead; struct mm_struct *mm; long unsigned int user_id; struct kioctx *next; wait_queue_head_t wait; spinlock_t ctx_lock; int reqs_active; /* --- cacheline 1 boundary (64 bytes) --- */ struct list_head active_reqs; struct list_head run_list; unsigned int max_reqs; /* XXX 4 bytes hole, try to pack */ struct aio_ring_info ring_info; /* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ struct delayed_work wq; /* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ } *ioctx_list; /* --- cacheline 12 boundary (768 bytes) --- */ struct file { } *exe_file; long unsigned int num_exe_file_vmas; } *mm; /* 384 8 */ struct mm_struct { struct vm_area_struct { struct mm_struct *vm_mm; long unsigned int vm_start; long unsigned int vm_end; struct vm_area_struct *vm_next; pgprot_t vm_page_prot; long unsigned int vm_flags; struct rb_node vm_rb; /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ union { struct { struct list_head list; void * parent; struct vm_area_struct *head; } vm_set struct raw_prio_tree_node prio_tree_node; } shared; struct list_head anon_vma_node; struct anon_vma { } *anon_vma; /* --- cacheline 2 boundary (128 bytes) --- */ struct vm_operations_struct { void (*open)(struct vm_area_struct *); void (*close)(struct vm_area_struct *); int (*fault)(struct vm_area_struct *, struct vm_fault *); long unsigned int (*nopfn)(struct vm_area_struct *, long unsigned int); int (*page_mkwrite)(struct vm_area_struct *, struct page *); int (*set_policy)(struct vm_area_struct *, struct mempolicy *); struct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int); int (*migrate)(struct vm_area_struct *, const nodemask_t *, const nodemask_t *, long unsigned int); /* --- cacheline 1 boundary (64 bytes) --- */ } *vm_ops; long unsigned int vm_pgoff; struct file { } *vm_file; void * vm_private_data; long unsigned int vm_truncate_count; struct mempolicy { } *vm_policy; } *mmap; struct rb_root mm_rb; struct vm_area_struct { struct mm_struct *vm_mm; long unsigned int vm_start; long unsigned int vm_end; struct vm_area_struct *vm_next; pgprot_t vm_page_prot; long unsigned int vm_flags; struct rb_node vm_rb; /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ union { struct { struct list_head list; void * parent; struct vm_area_struct *head; } vm_set struct raw_prio_tree_node prio_tree_node; } shared; struct list_head anon_vma_node; struct anon_vma { } *anon_vma; /* --- cacheline 2 boundary (128 bytes) --- */ struct vm_operations_struct { void (*open)(struct vm_area_struct *); void (*close)(struct vm_area_struct *); int (*fault)(struct vm_area_struct *, struct vm_fault *); long unsigned int (*nopfn)(struct vm_area_struct *, long unsigned int); int (*page_mkwrite)(struct vm_area_struct *, struct page *); int (*set_policy)(struct vm_area_struct *, struct mempolicy *); struct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int); int (*migrate)(struct vm_area_struct *, const nodemask_t *, const nodemask_t *, long unsigned int); /* --- cacheline 1 boundary (64 bytes) --- */ } *vm_ops; long unsigned int vm_pgoff; struct file { } *vm_file; void * vm_private_data; long unsigned int vm_truncate_count; struct mempolicy { } *vm_policy; } *mmap_cache; long unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); void (*unmap_area)(struct mm_struct *, long unsigned int); long unsigned int mmap_base; long unsigned int task_size; long unsigned int cached_hole_size; /* --- cacheline 1 boundary (64 bytes) --- */ long unsigned int free_area_cache; pgd_t *pgd; atomic_t mm_users; atomic_t mm_count; int map_count; int core_waiters; struct rw_semaphore mmap_sem; spinlock_t page_table_lock; /* XXX 4 bytes hole, try to pack */ /* --- cacheline 2 boundary (128 bytes) --- */ struct list_head mmlist; mm_counter_t _file_rss; mm_counter_t _anon_rss; long unsigned int hiwater_rss; long unsigned int hiwater_vm; long unsigned int total_vm; long unsigned int locked_vm; /* --- cacheline 3 boundary (192 bytes) --- */ long unsigned int shared_vm; long unsigned int exec_vm; long unsigned int stack_vm; long unsigned int reserved_vm; long unsigned int def_flags; long unsigned int nr_ptes; long unsigned int start_code; long unsigned int end_code; /* --- cacheline 4 boundary (256 bytes) --- */ long unsigned int start_data; long unsigned int end_data; long unsigned int start_brk; long unsigned int brk; long unsigned int start_stack; long unsigned int arg_start; long unsigned int arg_end; long unsigned int env_start; /* --- cacheline 5 boundary (320 bytes) --- */ long unsigned int env_end; long unsigned int saved_auxv[38]; /* --- cacheline 9 boundary (576 bytes) was 56 bytes ago --- */ cpumask_t cpu_vm_mask; /* --- cacheline 10 boundary (640 bytes) --- */ mm_context_t context; unsigned int faultstamp; unsigned int token_priority; unsigned int last_interval; /* XXX 4 bytes hole, try to pack */ /* --- cacheline 11 boundary (704 bytes) --- */ long unsigned int flags; struct completion { unsigned int done; /* XXX 4 bytes hole, try to pack */ wait_queue_head_t wait; } *core_startup_done; struct completion core_done; rwlock_t ioctx_list_lock; /* XXX 4 bytes hole, try to pack */ struct kioctx { atomic_t users; int dead; struct mm_struct *mm; long unsigned int user_id; struct kioctx *next; wait_queue_head_t wait; spinlock_t ctx_lock; int reqs_active; /* --- cacheline 1 boundary (64 bytes) --- */ struct list_head active_reqs; struct list_head run_list; unsigned int max_reqs; /* XXX 4 bytes hole, try to pack */ struct aio_ring_info ring_info; /* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ struct delayed_work wq; /* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ } *ioctx_list; /* --- cacheline 12 boundary (768 bytes) --- */ struct file { } *exe_file; long unsigned int num_exe_file_vmas; } *active_mm; /* 392 8 */ struct linux_binfmt { } *binfmt; /* 400 8 */ int exit_state; /* 408 4 */ int exit_code; /* 412 4 */ int exit_signal; /* 416 4 */ int pdeath_signal; /* 420 4 */ unsigned int personality; /* 424 4 */ unsigned int did_exec:1; /* 428:31 4 */ /* XXX 31 bits hole, try to pack */ pid_t pid; /* 432 4 */ pid_t tgid; /* 436 4 */ struct task_struct *real_parent; /* 440 8 */ /* --- cacheline 7 boundary (448 bytes) --- */ struct task_struct *parent; /* 448 8 */ struct list_head children; /* 456 16 */ struct list_head sibling; /* 472 16 */ struct task_struct *group_leader; /* 488 8 */ struct pid_link pids[3]; /* 496 72 */ /* --- cacheline 8 boundary (512 bytes) was 56 bytes ago --- */ struct list_head thread_group; /* 568 16 */ /* --- cacheline 9 boundary (576 bytes) was 8 bytes ago --- */ struct completion { unsigned int done; /* XXX 4 bytes hole, try to pack */ wait_queue_head_t wait; } *vfork_done; /* 584 8 */ int *set_child_tid; /* 592 8 */ int *clear_child_tid; /* 600 8 */ unsigned int rt_priority; /* 608 4 */ /* XXX 4 bytes hole, try to pack */ cputime_t utime; /* 616 8 */ cputime_t stime; /* 624 8 */ cputime_t utimescaled; /* 632 8 */ /* --- cacheline 10 boundary (640 bytes) --- */ cputime_t stimescaled; /* 640 8 */ cputime_t gtime; /* 648 8 */ cputime_t prev_utime; /* 656 8 */ cputime_t prev_stime; /* 664 8 */ long unsigned int nvcsw; /* 672 8 */ long unsigned int nivcsw; /* 680 8 */ struct timespec start_time; /* 688 16 */ /* --- cacheline 11 boundary (704 bytes) --- */ struct timespec real_start_time; /* 704 16 */ long unsigned int min_flt; /* 720 8 */ long unsigned int maj_flt; /* 728 8 */ cputime_t it_prof_expires; /* 736 8 */ cputime_t it_virt_expires; /* 744 8 */ long long unsigned int it_sched_expires; /* 752 8 */ struct list_head cpu_timers[3]; /* 760 48 */ /* --- cacheline 12 boundary (768 bytes) was 40 bytes ago --- */ uid_t uid; /* 808 4 */ uid_t euid; /* 812 4 */ uid_t suid; /* 816 4 */ uid_t fsuid; /* 820 4 */ gid_t gid; /* 824 4 */ gid_t egid; /* 828 4 */ /* --- cacheline 13 boundary (832 bytes) --- */ gid_t sgid; /* 832 4 */ gid_t fsgid; /* 836 4 */ struct group_info { int ngroups; atomic_t usage; gid_t small_block[32]; /* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ int nblocks; /* XXX 4 bytes hole, try to pack */ /* typedef gid_t -> __kernel_gid32_t -> __kernel_gid_t */ unsigned int *blocks[0]; } *group_info; /* 840 8 */ kernel_cap_t cap_effective; /* 848 8 */ kernel_cap_t cap_inheritable; /* 856 8 */ kernel_cap_t cap_permitted; /* 864 8 */ kernel_cap_t cap_bset; /* 872 8 */ unsigned int securebits; /* 880 4 */ /* XXX 4 bytes hole, try to pack */ struct user_struct { atomic_t __count; atomic_t processes; atomic_t files; atomic_t sigpending; atomic_t inotify_watches; atomic_t inotify_devs; long unsigned int mq_bytes; long unsigned int locked_shm; struct key { } *uid_keyring; struct key { } *session_keyring; struct hlist_node uidhash_node; /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ uid_t uid; } *user; /* 888 8 */ /* --- cacheline 14 boundary (896 bytes) --- */ struct key { } *request_key_auth; /* 896 8 */ struct key { } *thread_keyring; /* 904 8 */ unsigned char jit_keyring; /* 912 1 */ char comm[16]; /* 913 16 */ /* XXX 3 bytes hole, try to pack */ int link_count; /* 932 4 */ int total_link_count; /* 936 4 */ /* XXX 4 bytes hole, try to pack */ struct sysv_sem sysvsem; /* 944 8 */ struct thread_struct thread; /* 952 200 */ /* --- cacheline 18 boundary (1152 bytes) --- */ struct fs_struct { atomic_t count; rwlock_t lock; int umask; /* XXX 4 bytes hole, try to pack */ struct path root; struct path pwd; struct path altroot; /* --- cacheline 1 boundary (64 bytes) --- */ } *fs; /* 1152 8 */ struct files_struct { } *files; /* 1160 8 */ struct nsproxy { } *nsproxy; /* 1168 8 */ struct signal_struct { atomic_t count; atomic_t live; wait_queue_head_t wait_chldexit; struct task_struct *curr_target; struct sigpending shared_pending; /* --- cacheline 1 boundary (64 bytes) --- */ int group_exit_code; /* XXX 4 bytes hole, try to pack */ struct task_struct *group_exit_task; int notify_count; int group_stop_count; unsigned int flags; /* XXX 4 bytes hole, try to pack */ struct list_head posix_timers; struct hrtimer real_timer; /* XXX last struct has 4 bytes of padding */ /* --- cacheline 3 boundary (192 bytes) was 32 bytes ago --- */ struct pid { atomic_t count; /* XXX 4 bytes hole, try to pack */ struct hlist_head tasks[3]; struct rcu_head rcu; unsigned int level; /* XXX 4 bytes hole, try to pack */ struct upid numbers[1]; /* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ } *leader_pid; ktime_t it_real_incr; cputime_t it_prof_expires; cputime_t it_virt_expires; /* --- cacheline 4 boundary (256 bytes) --- */ cputime_t it_prof_incr; cputime_t it_virt_incr; union { pid_t pgrp; pid_t __pgrp; }; /* XXX 4 bytes hole, try to pack */ struct pid { atomic_t count; /* XXX 4 bytes hole, try to pack */ struct hlist_head tasks[3]; struct rcu_head rcu; unsigned int level; /* XXX 4 bytes hole, try to pack */ struct upid numbers[1]; /* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ } *tty_old_pgrp; union { pid_t session; pid_t __session; }; int leader; struct tty_struct { } *tty; cputime_t utime; cputime_t stime; /* --- cacheline 5 boundary (320 bytes) --- */ cputime_t cutime; cputime_t cstime; cputime_t gtime; cputime_t cgtime; long unsigned int nvcsw; long unsigned int nivcsw; long unsigned int cnvcsw; long unsigned int cnivcsw; /* --- cacheline 6 boundary (384 bytes) --- */ long unsigned int min_flt; long unsigned int maj_flt; long unsigned int cmin_flt; long unsigned int cmaj_flt; long unsigned int inblock; long unsigned int oublock; long unsigned int cinblock; long unsigned int coublock; /* --- cacheline 7 boundary (448 bytes) --- */ long long unsigned int sum_sched_runtime; struct rlimit rlim[16]; /* --- cacheline 11 boundary (704 bytes) was 8 bytes ago --- */ struct list_head cpu_timers[3]; struct key { } *session_keyring; /* --- cacheline 12 boundary (768 bytes) --- */ struct key { } *process_keyring; struct pacct_struct pacct; /* --- cacheline 13 boundary (832 bytes) --- */ struct taskstats { } *stats; unsigned int audit_tty; /* XXX 4 bytes hole, try to pack */ struct tty_audit_buf { } *tty_audit_buf; } *signal; /* 1176 8 */ struct sighand_struct { atomic_t count; /* XXX 4 bytes hole, try to pack */ struct k_sigaction action[64]; /* --- cacheline 32 boundary (2048 bytes) was 8 bytes ago --- */ spinlock_t siglock; /* XXX 4 bytes hole, try to pack */ wait_queue_head_t signalfd_wqh; } *sighand; /* 1184 8 */ sigset_t blocked; /* 1192 8 */ sigset_t real_blocked; /* 1200 8 */ sigset_t saved_sigmask; /* 1208 8 */ /* --- cacheline 19 boundary (1216 bytes) --- */ struct sigpending pending; /* 1216 24 */ long unsigned int sas_ss_sp; /* 1240 8 */ size_t sas_ss_size; /* 1248 8 */ int (*notifier)(void *); /* 1256 8 */ void * notifier_data; /* 1264 8 */ /* typedef sigset_t */ struct { long unsigned int sig[1]; } *notifier_mask; /* 1272 8 */ /* --- cacheline 20 boundary (1280 bytes) --- */ void * security; /* 1280 8 */ struct audit_context { } *audit_context; /* 1288 8 */ uid_t loginuid; /* 1296 4 */ unsigned int sessionid; /* 1300 4 */ seccomp_t seccomp; /* 1304 4 */ u32 parent_exec_id; /* 1308 4 */ u32 self_exec_id; /* 1312 4 */ spinlock_t alloc_lock; /* 1316 4 */ spinlock_t pi_lock; /* 1320 4 */ /* XXX 4 bytes hole, try to pack */ struct plist_head pi_waiters; /* 1328 32 */ /* --- cacheline 21 boundary (1344 bytes) was 16 bytes ago --- */ struct rt_mutex_waiter { } *pi_blocked_on; /* 1360 8 */ void * journal_info; /* 1368 8 */ struct bio { } *bio_list; /* 1376 8 */ struct bio { } **bio_tail; /* 1384 8 */ struct reclaim_state { } *reclaim_state; /* 1392 8 */ struct backing_dev_info { } *backing_dev_info; /* 1400 8 */ /* --- cacheline 22 boundary (1408 bytes) --- */ struct io_context { } *io_context; /* 1408 8 */ long unsigned int ptrace_message; /* 1416 8 */ /* typedef siginfo_t */ struct siginfo { int si_signo; int si_errno; int si_code; /* XXX 4 bytes hole, try to pack */ union { int _pad[28]; struct { pid_t _pid; uid_t _uid; } _kill struct { timer_t _tid; int _overrun; char _pad[0]; sigval_t _sigval; int _sys_private; } _timer struct { pid_t _pid; uid_t _uid; sigval_t _sigval; } _rt struct { pid_t _pid; uid_t _uid; int _status; /* XXX 4 bytes hole, try to pack */ clock_t _utime; clock_t _stime; } _sigchld struct { void * _addr; } _sigfault struct { long int _band; int _fd; } _sigpoll } _sifields; /* --- cacheline 2 boundary (128 bytes) --- */ } *last_siginfo; /* 1424 8 */ u64 rchar; /* 1432 8 */ u64 wchar; /* 1440 8 */ u64 syscr; /* 1448 8 */ u64 syscw; /* 1456 8 */ struct task_io_accounting ioac; /* 1464 24 */ /* --- cacheline 23 boundary (1472 bytes) was 16 bytes ago --- */ u64 acct_rss_mem1; /* 1488 8 */ u64 acct_vm_mem1; /* 1496 8 */ cputime_t acct_stimexpd; /* 1504 8 */ struct mempolicy { } *mempolicy; /* 1512 8 */ short int il_next; /* 1520 2 */ /* XXX 6 bytes hole, try to pack */ nodemask_t mems_allowed; /* 1528 8 */ /* --- cacheline 24 boundary (1536 bytes) --- */ int cpuset_mems_generation; /* 1536 4 */ int cpuset_mem_spread_rotor; /* 1540 4 */ struct css_set { } *cgroups; /* 1544 8 */ struct list_head cg_list; /* 1552 16 */ struct robust_list_head { } *robust_list; /* 1568 8 */ struct compat_robust_list_head { } *compat_robust_list; /* 1576 8 */ struct list_head pi_state_list; /* 1584 16 */ /* --- cacheline 25 boundary (1600 bytes) --- */ struct futex_pi_state { } *pi_state_cache; /* 1600 8 */ atomic_t fs_excl; /* 1608 4 */ /* XXX 4 bytes hole, try to pack */ struct rcu_head rcu; /* 1616 16 */ struct pipe_inode_info { } *splice_pipe; /* 1632 8 */ struct task_delay_info { spinlock_t lock; unsigned int flags; struct timespec blkio_start; struct timespec blkio_end; u64 blkio_delay; u64 swapin_delay; u32 blkio_count; u32 swapin_count; /* --- cacheline 1 boundary (64 bytes) --- */ } *delays; /* 1640 8 */ struct prop_local_single dirties; /* 1648 32 */ /* XXX last struct has 4 bytes of padding */ /* --- cacheline 26 boundary (1664 bytes) was 16 bytes ago --- */ /* size: 1680, cachelines: 27, members: 141 */ /* sum members: 1641, holes: 10, sum holes: 39 */ /* bit holes: 1, sum bit holes: 31 bits */ /* paddings: 1, sum paddings: 4 */ /* last cacheline: 16 bytes */ };