From 905f90200eaaf129c958504a2a3e484eab83db02 Mon Sep 17 00:00:00 2001 From: rubberhead Date: Sun, 24 Dec 2023 16:13:56 +0000 Subject: [PATCH] Sync up --- scratch/00-task_struct.md | 873 ++++++++++++++++++++++++++++++ scratch/01-mm_struct.md | 275 ++++++++++ scratch/consistency-coherence.md | 2 +- scratch/consistency-coherence.pdf | Bin 0 -> 122921 bytes 4 files changed, 1149 insertions(+), 1 deletion(-) create mode 100644 scratch/00-task_struct.md create mode 100644 scratch/01-mm_struct.md create mode 100644 scratch/consistency-coherence.pdf diff --git a/scratch/00-task_struct.md b/scratch/00-task_struct.md new file mode 100644 index 0000000..cf9c952 --- /dev/null +++ b/scratch/00-task_struct.md @@ -0,0 +1,873 @@ +# `#include ` +```c +struct task_struct { +#ifdef CONFIG_THREAD_INFO_IN_TASK + /* + * For reasons of header soup (see current_thread_info()), this + * must be the first element of task_struct. + */ + // Zk. + // Specifically this is because of a circular dependency (header file hell), + // The hack-around is to type-cast this struct directly into `struct thread_info` + // -- I know I know this is f**ked up. + struct thread_info thread_info; +#endif + unsigned int __state; + + /* saved state for "spinlock sleepers" */ + unsigned int saved_state; + + /* + * This begins the randomizable portion of task_struct. Only + * scheduling-critical items should be added above here. + */ + randomized_struct_fields_start + + void *stack; + refcount_t usage; + /* Per task flags (PF_*), defined further below: */ + unsigned int flags; + unsigned int ptrace; + +#ifdef CONFIG_SMP // This should beg no explanation... + int on_cpu; + struct __call_single_node wake_entry; + unsigned int wakee_flips; + unsigned long wakee_flip_decay_ts; + struct task_struct *last_wakee; + + /* + * recent_used_cpu is initially set as the last CPU used by a task + * that wakes affine another task. Waker/wakee relationships can + * push tasks around a CPU where each wakeup moves to the next one. + * Tracking a recently used CPU allows a quick search for a recently + * used CPU that may be idle. + */ + int recent_used_cpu; + int wake_cpu; +#endif + + // Zk. + // "on runqueue" -- contains flag value. + int on_rq; + + // Zk. + // Priorities -- rt and normal priority. + int prio; + int static_prio; + int normal_prio; + unsigned int rt_priority; + + // Zk. + // Information of task as a scheduling entity. + struct sched_entity se; + struct sched_rt_entity rt; + struct sched_dl_entity dl; + const struct sched_class *sched_class; + +#ifdef CONFIG_SCHED_CORE +// Zk. +// Core Scheduling -- allows userspace to define tasks that CAN share cores. +// Interesting case is for "cannot"-ones -- +// remember SMT speculative exec. security issues? + struct rb_node core_node; + unsigned long core_cookie; + unsigned int core_occupation; +#endif + +#ifdef CONFIG_CGROUP_SCHED + // Zk. + // Cgroup v1 -- divides CPU time fairly among `cgroup`s (and other stuff) + // This doesn't seem to be referring to task group, paradoxically... + struct task_group *sched_task_group; +#endif + +#ifdef CONFIG_UCLAMP_TASK + // Zk. + // `UCLAMP` -- Utilization CLAMPing. + // Allows the userspace to hint the performance req. of tasks. + // Since v5.3. cgroup support since v5.4. + /* + * Clamp values requested for a scheduling entity. + * Must be updated with task_rq_lock() held. + */ + struct uclamp_se uclamp_req[UCLAMP_CNT]; + /* + * Effective clamp values used for a scheduling entity. + * Must be updated with task_rq_lock() held. + */ + struct uclamp_se uclamp[UCLAMP_CNT]; +#endif + + struct sched_statistics stats; + +#ifdef CONFIG_PREEMPT_NOTIFIERS // Zk. -- This should always be defined. + /* List of struct preempt_notifier: */ + struct hlist_head preempt_notifiers; // Zk. -- hlist -- Hashed List +#endif + +#ifdef CONFIG_BLK_DEV_IO_TRACE + unsigned int btrace_seq; +#endif + + unsigned int policy; + int nr_cpus_allowed; + const cpumask_t *cpus_ptr; + cpumask_t *user_cpus_ptr; + cpumask_t cpus_mask; + void *migration_pending; +#ifdef CONFIG_SMP + unsigned short migration_disabled; +#endif + unsigned short migration_flags; + +#ifdef CONFIG_PREEMPT_RCU + int rcu_read_lock_nesting; + union rcu_special rcu_read_unlock_special; + struct list_head rcu_node_entry; + struct rcu_node *rcu_blocked_node; +#endif /* #ifdef CONFIG_PREEMPT_RCU */ + +#ifdef CONFIG_TASKS_RCU + unsigned long rcu_tasks_nvcsw; + u8 rcu_tasks_holdout; + u8 rcu_tasks_idx; + int rcu_tasks_idle_cpu; + struct list_head rcu_tasks_holdout_list; +#endif /* #ifdef CONFIG_TASKS_RCU */ + +#ifdef CONFIG_TASKS_TRACE_RCU + int trc_reader_nesting; + int trc_ipi_to_cpu; + union rcu_special trc_reader_special; + struct list_head trc_holdout_list; + struct list_head trc_blkd_node; + int trc_blkd_cpu; +#endif /* #ifdef CONFIG_TASKS_TRACE_RCU */ + + struct sched_info sched_info; + + struct list_head tasks; +#ifdef CONFIG_SMP + struct plist_node pushable_tasks; + struct rb_node pushable_dl_tasks; +#endif + // Zk. + // So -- we know there are kernel threads and userspace threads, right? + // Note that kernel address space is ALWAYS mapped in whichever userspace + // address space (mostly low-mem which paradoxically is when byte nr. is + // large) -- albeit with KASLR it's not identical. + // + // Anyways, consequently kernel threads DO NOT need to swap address space. + // That is, we can reuse the same `mm_struct` for kernel threads when sched. + // We still, however, need to differentiate between these 2 cases (addr. space + // is true & valid vs. addr. space is stale & nonsense). + // + // This field, `task_struct.mm`, is GUARANTEED to point to NULL (for anon. + // proc.) or the *real* address space of the thread. + struct mm_struct *mm; + + // Zk. + // Vice versa, `task_struct.active_mm` is GUARANTEED to point to the + // `mm_struct` currently in use, whether loaded or borrowed. + struct mm_struct *active_mm; + struct address_space *faults_disabled_mapping; + + int exit_state; + int exit_code; + int exit_signal; + /* The signal sent when the parent dies: */ + int pdeath_signal; + /* JOBCTL_*, siglock protected: */ + unsigned long jobctl; + + /* Used for emulating ABI behavior of previous Linux versions: */ + unsigned int personality; + + /* Scheduler bits, serialized by scheduler locks: */ + unsigned sched_reset_on_fork:1; + unsigned sched_contributes_to_load:1; + unsigned sched_migrated:1; + + /* Force alignment to the next boundary: */ + unsigned :0; + + /* Unserialized, strictly 'current' */ + + /* + * This field must not be in the scheduler word above due to wakelist + * queueing no longer being serialized by p->on_cpu. However: + * + * p->XXX = X; ttwu() + * schedule() if (p->on_rq && ..) // false + * smp_mb__after_spinlock(); if (smp_load_acquire(&p->on_cpu) && //true + * deactivate_task() ttwu_queue_wakelist()) + * p->on_rq = 0; p->sched_remote_wakeup = Y; + * + * guarantees all stores of 'current' are visible before + * ->sched_remote_wakeup gets used, so it can be in this word. + */ + unsigned sched_remote_wakeup:1; +#ifdef CONFIG_RT_MUTEXES + unsigned sched_rt_mutex:1; +#endif + + /* Bit to tell LSMs we're in execve(): */ + unsigned in_execve:1; + unsigned in_iowait:1; +#ifndef TIF_RESTORE_SIGMASK + unsigned restore_sigmask:1; +#endif +#ifdef CONFIG_MEMCG + unsigned in_user_fault:1; +#endif +#ifdef CONFIG_LRU_GEN + /* whether the LRU algorithm may apply to this access */ + unsigned in_lru_fault:1; +#endif +#ifdef CONFIG_COMPAT_BRK + unsigned brk_randomized:1; +#endif +#ifdef CONFIG_CGROUPS + /* disallow userland-initiated cgroup migration */ + unsigned no_cgroup_migration:1; + /* task is frozen/stopped (used by the cgroup freezer) */ + unsigned frozen:1; +#endif +#ifdef CONFIG_BLK_CGROUP + unsigned use_memdelay:1; +#endif +#ifdef CONFIG_PSI + /* Stalled due to lack of memory */ + unsigned in_memstall:1; +#endif +#ifdef CONFIG_PAGE_OWNER + /* Used by page_owner=on to detect recursion in page tracking. */ + unsigned in_page_owner:1; +#endif +#ifdef CONFIG_EVENTFD + /* Recursion prevention for eventfd_signal() */ + unsigned in_eventfd:1; +#endif +#ifdef CONFIG_IOMMU_SVA + unsigned pasid_activated:1; +#endif +#ifdef CONFIG_CPU_SUP_INTEL + unsigned reported_split_lock:1; +#endif +#ifdef CONFIG_TASK_DELAY_ACCT + /* delay due to memory thrashing */ + unsigned in_thrashing:1; +#endif + + unsigned long atomic_flags; /* Flags requiring atomic access. */ + + // Zk. + // Syscalls can be interrupted by signal delivery. For syscalls like + // `nanosleep()`, however, we don't have an easy way to know for how long + // to continue the sleep, as userspace simply re-calls the syscall with + // identical duration. + // + // The `restart_block` struct allows a restart handler to be used for some + // syscall. + struct restart_block restart_block; + + // Zk. -- ! + pid_t pid; + pid_t tgid; + +#ifdef CONFIG_STACKPROTECTOR + /* Canary value for the -fstack-protector GCC feature: */ + unsigned long stack_canary; +#endif + /* + * Pointers to the (original) parent process, youngest child, younger sibling, + * older sibling, respectively. (p->father can be replaced with + * p->real_parent->pid) + */ + + /* Real parent process: */ + struct task_struct __rcu *real_parent; + + /* Recipient of SIGCHLD, wait4() reports: */ + struct task_struct __rcu *parent; + + /* + * Children/sibling form the list of natural children: + */ + struct list_head children; + struct list_head sibling; + struct task_struct *group_leader; + + /* + * 'ptraced' is the list of tasks this task is using ptrace() on. + * + * This includes both natural children and PTRACE_ATTACH targets. + * 'ptrace_entry' is this task's link on the p->parent->ptraced list. + */ + struct list_head ptraced; + struct list_head ptrace_entry; + + /* PID/PID hash table linkage. */ + struct pid *thread_pid; + struct hlist_node pid_links[PIDTYPE_MAX]; + struct list_head thread_node; + + struct completion *vfork_done; + + /* CLONE_CHILD_SETTID: */ + int __user *set_child_tid; + + /* CLONE_CHILD_CLEARTID: */ + int __user *clear_child_tid; + + /* PF_KTHREAD | PF_IO_WORKER */ + void *worker_private; + + u64 utime; + u64 stime; +#ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME + u64 utimescaled; + u64 stimescaled; +#endif + u64 gtime; + struct prev_cputime prev_cputime; +#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN + struct vtime vtime; +#endif + +#ifdef CONFIG_NO_HZ_FULL + atomic_t tick_dep_mask; +#endif + /* Context switch counts: */ + unsigned long nvcsw; + unsigned long nivcsw; + + /* Monotonic time in nsecs: */ + u64 start_time; + + /* Boot based time in nsecs: */ + u64 start_boottime; + + /* MM fault and swap info: this can arguably be seen as either mm-specific or thread-specific: */ + unsigned long min_flt; + unsigned long maj_flt; + + /* Empty if CONFIG_POSIX_CPUTIMERS=n */ + struct posix_cputimers posix_cputimers; + +#ifdef CONFIG_POSIX_CPU_TIMERS_TASK_WORK + struct posix_cputimers_work posix_cputimers_work; +#endif + + /* Process credentials: */ + + /* Tracer's credentials at attach: */ + const struct cred __rcu *ptracer_cred; + + /* Objective and real subjective task credentials (COW): */ + const struct cred __rcu *real_cred; + + /* Effective (overridable) subjective task credentials (COW): */ + const struct cred __rcu *cred; + +#ifdef CONFIG_KEYS + /* Cached requested key. */ + struct key *cached_requested_key; +#endif + + /* + * executable name, excluding path. + * + * - normally initialized setup_new_exec() + * - access it with [gs]et_task_comm() + * - lock it with task_lock() + */ + char comm[TASK_COMM_LEN]; + + struct nameidata *nameidata; + +#ifdef CONFIG_SYSVIPC + struct sysv_sem sysvsem; + struct sysv_shm sysvshm; +#endif +#ifdef CONFIG_DETECT_HUNG_TASK + unsigned long last_switch_count; + unsigned long last_switch_time; +#endif + /* Filesystem information: */ + struct fs_struct *fs; + + /* Open file information: */ + struct files_struct *files; + +#ifdef CONFIG_IO_URING + struct io_uring_task *io_uring; +#endif + + /* Namespaces: */ + struct nsproxy *nsproxy; + + /* Signal handlers: */ + struct signal_struct *signal; + struct sighand_struct __rcu *sighand; + sigset_t blocked; + sigset_t real_blocked; + /* Restored if set_restore_sigmask() was used: */ + sigset_t saved_sigmask; + struct sigpending pending; + unsigned long sas_ss_sp; + size_t sas_ss_size; + unsigned int sas_ss_flags; + + struct callback_head *task_works; + +#ifdef CONFIG_AUDIT +#ifdef CONFIG_AUDITSYSCALL + struct audit_context *audit_context; +#endif + kuid_t loginuid; + unsigned int sessionid; +#endif + struct seccomp seccomp; + + // Zk. + // wine, etc. want to emulate syscalls for a part of their process + // (the incompatible part) only. `syscall_user_dispatch` brings the ability + // to declare either to run syscalls natively or to emulate syscalls in user- + // space via SIGSYS in the userspace. + struct syscall_user_dispatch syscall_dispatch; + + /* Thread group tracking: */ + u64 parent_exec_id; + u64 self_exec_id; + + /* Protection against (de-)allocation: mm, files, fs, tty, keyrings, mems_allowed, mempolicy: */ + spinlock_t alloc_lock; + + /* Protection of the PI data structures: */ + raw_spinlock_t pi_lock; + + struct wake_q_node wake_q; + +#ifdef CONFIG_RT_MUTEXES + /* PI waiters blocked on a rt_mutex held by this task: */ + struct rb_root_cached pi_waiters; + /* Updated under owner's pi_lock and rq lock */ + struct task_struct *pi_top_task; + /* Deadlock detection and priority inheritance handling: */ + struct rt_mutex_waiter *pi_blocked_on; +#endif + +#ifdef CONFIG_DEBUG_MUTEXES + /* Mutex deadlock detection: */ + struct mutex_waiter *blocked_on; +#endif + +#ifdef CONFIG_DEBUG_ATOMIC_SLEEP + int non_block_count; +#endif + +#ifdef CONFIG_TRACE_IRQFLAGS + struct irqtrace_events irqtrace; + unsigned int hardirq_threaded; + u64 hardirq_chain_key; + int softirqs_enabled; + int softirq_context; + int irq_config; +#endif +#ifdef CONFIG_PREEMPT_RT + int softirq_disable_cnt; +#endif + +#ifdef CONFIG_LOCKDEP +# define MAX_LOCK_DEPTH 48UL + u64 curr_chain_key; + int lockdep_depth; + unsigned int lockdep_recursion; + struct held_lock held_locks[MAX_LOCK_DEPTH]; +#endif + +#if defined(CONFIG_UBSAN) && !defined(CONFIG_UBSAN_TRAP) + unsigned int in_ubsan; +#endif + + /* Journalling filesystem info: */ + void *journal_info; + + /* Stacked block device info: */ + struct bio_list *bio_list; + + /* Stack plugging: */ + struct blk_plug *plug; + + /* VM state: */ + struct reclaim_state *reclaim_state; + + struct io_context *io_context; + +#ifdef CONFIG_COMPACTION + struct capture_control *capture_control; +#endif + /* Ptrace state: */ + unsigned long ptrace_message; + kernel_siginfo_t *last_siginfo; + + struct task_io_accounting ioac; +#ifdef CONFIG_PSI + /* Pressure stall state */ + unsigned int psi_flags; +#endif +#ifdef CONFIG_TASK_XACCT + /* Accumulated RSS usage: */ + u64 acct_rss_mem1; + /* Accumulated virtual memory usage: */ + u64 acct_vm_mem1; + /* stime + utime since last update: */ + u64 acct_timexpd; +#endif +#ifdef CONFIG_CPUSETS + /* Protected by ->alloc_lock: */ + nodemask_t mems_allowed; + /* Sequence number to catch updates: */ + seqcount_spinlock_t mems_allowed_seq; + int cpuset_mem_spread_rotor; + int cpuset_slab_spread_rotor; +#endif +#ifdef CONFIG_CGROUPS + /* Control Group info protected by css_set_lock: */ + struct css_set __rcu *cgroups; + /* cg_list protected by css_set_lock and tsk->alloc_lock: */ + struct list_head cg_list; +#endif +#ifdef CONFIG_X86_CPU_RESCTRL + u32 closid; + u32 rmid; +#endif +#ifdef CONFIG_FUTEX + struct robust_list_head __user *robust_list; +#ifdef CONFIG_COMPAT + struct compat_robust_list_head __user *compat_robust_list; +#endif + struct list_head pi_state_list; + struct futex_pi_state *pi_state_cache; + struct mutex futex_exit_mutex; + unsigned int futex_state; +#endif +#ifdef CONFIG_PERF_EVENTS + struct perf_event_context *perf_event_ctxp; + struct mutex perf_event_mutex; + struct list_head perf_event_list; +#endif +#ifdef CONFIG_DEBUG_PREEMPT + unsigned long preempt_disable_ip; +#endif +#ifdef CONFIG_NUMA + /* Protected by alloc_lock: */ + struct mempolicy *mempolicy; + short il_prev; + short pref_node_fork; +#endif +#ifdef CONFIG_NUMA_BALANCING + int numa_scan_seq; + unsigned int numa_scan_period; + unsigned int numa_scan_period_max; + int numa_preferred_nid; + unsigned long numa_migrate_retry; + /* Migration stamp: */ + u64 node_stamp; + u64 last_task_numa_placement; + u64 last_sum_exec_runtime; + struct callback_head numa_work; + + /* + * This pointer is only modified for current in syscall and + * pagefault context (and for tasks being destroyed), so it can be read + * from any of the following contexts: + * - RCU read-side critical section + * - current->numa_group from everywhere + * - task's runqueue locked, task not running + */ + struct numa_group __rcu *numa_group; + + /* + * numa_faults is an array split into four regions: + * faults_memory, faults_cpu, faults_memory_buffer, faults_cpu_buffer + * in this precise order. + * + * faults_memory: Exponential decaying average of faults on a per-node + * basis. Scheduling placement decisions are made based on these + * counts. The values remain static for the duration of a PTE scan. + * faults_cpu: Track the nodes the process was running on when a NUMA + * hinting fault was incurred. + * faults_memory_buffer and faults_cpu_buffer: Record faults per node + * during the current scan window. When the scan completes, the counts + * in faults_memory and faults_cpu decay and these values are copied. + */ + unsigned long *numa_faults; + unsigned long total_numa_faults; + + /* + * numa_faults_locality tracks if faults recorded during the last + * scan window were remote/local or failed to migrate. The task scan + * period is adapted based on the locality of the faults with different + * weights depending on whether they were shared or private faults + */ + unsigned long numa_faults_locality[3]; + + unsigned long numa_pages_migrated; +#endif /* CONFIG_NUMA_BALANCING */ + +#ifdef CONFIG_RSEQ + struct rseq __user *rseq; + u32 rseq_len; + u32 rseq_sig; + /* + * RmW on rseq_event_mask must be performed atomically + * with respect to preemption. + */ + unsigned long rseq_event_mask; +#endif + +#ifdef CONFIG_SCHED_MM_CID + int mm_cid; /* Current cid in mm */ + int last_mm_cid; /* Most recent cid in mm */ + int migrate_from_cpu; + int mm_cid_active; /* Whether cid bitmap is active */ + struct callback_head cid_work; +#endif + + struct tlbflush_unmap_batch tlb_ubc; + + /* Cache last used pipe for splice(): */ + struct pipe_inode_info *splice_pipe; + + struct page_frag task_frag; + +#ifdef CONFIG_TASK_DELAY_ACCT + struct task_delay_info *delays; +#endif + +#ifdef CONFIG_FAULT_INJECTION + int make_it_fail; + unsigned int fail_nth; +#endif + /* + * When (nr_dirtied >= nr_dirtied_pause), it's time to call + * balance_dirty_pages() for a dirty throttling pause: + */ + int nr_dirtied; + int nr_dirtied_pause; + /* Start of a write-and-pause period: */ + unsigned long dirty_paused_when; + +#ifdef CONFIG_LATENCYTOP + int latency_record_count; + struct latency_record latency_record[LT_SAVECOUNT]; +#endif + /* + * Time slack values; these are used to round up poll() and + * select() etc timeout values. These are in nanoseconds. + */ + u64 timer_slack_ns; + u64 default_timer_slack_ns; + +#if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS) + unsigned int kasan_depth; +#endif + +#ifdef CONFIG_KCSAN + struct kcsan_ctx kcsan_ctx; +#ifdef CONFIG_TRACE_IRQFLAGS + struct irqtrace_events kcsan_save_irqtrace; +#endif +#ifdef CONFIG_KCSAN_WEAK_MEMORY + int kcsan_stack_depth; +#endif +#endif + +#ifdef CONFIG_KMSAN + struct kmsan_ctx kmsan_ctx; +#endif + +#if IS_ENABLED(CONFIG_KUNIT) + struct kunit *kunit_test; +#endif + +#ifdef CONFIG_FUNCTION_GRAPH_TRACER + /* Index of current stored address in ret_stack: */ + int curr_ret_stack; + int curr_ret_depth; + + /* Stack of return addresses for return function tracing: */ + struct ftrace_ret_stack *ret_stack; + + /* Timestamp for last schedule: */ + unsigned long long ftrace_timestamp; + + /* + * Number of functions that haven't been traced + * because of depth overrun: + */ + atomic_t trace_overrun; + + /* Pause tracing: */ + atomic_t tracing_graph_pause; +#endif + +#ifdef CONFIG_TRACING + /* Bitmask and counter of trace recursion: */ + unsigned long trace_recursion; +#endif /* CONFIG_TRACING */ + +#ifdef CONFIG_KCOV + /* See kernel/kcov.c for more details. */ + + /* Coverage collection mode enabled for this task (0 if disabled): */ + unsigned int kcov_mode; + + /* Size of the kcov_area: */ + unsigned int kcov_size; + + /* Buffer for coverage collection: */ + void *kcov_area; + + /* KCOV descriptor wired with this task or NULL: */ + struct kcov *kcov; + + /* KCOV common handle for remote coverage collection: */ + u64 kcov_handle; + + /* KCOV sequence number: */ + int kcov_sequence; + + /* Collect coverage from softirq context: */ + unsigned int kcov_softirq; +#endif + +#ifdef CONFIG_MEMCG + struct mem_cgroup *memcg_in_oom; + gfp_t memcg_oom_gfp_mask; + int memcg_oom_order; + + /* Number of pages to reclaim on returning to userland: */ + unsigned int memcg_nr_pages_over_high; + + /* Used by memcontrol for targeted memcg charge: */ + struct mem_cgroup *active_memcg; +#endif + +#ifdef CONFIG_MEMCG_KMEM + struct obj_cgroup *objcg; +#endif + +#ifdef CONFIG_BLK_CGROUP + struct gendisk *throttle_disk; +#endif + +#ifdef CONFIG_UPROBES + struct uprobe_task *utask; +#endif +#if defined(CONFIG_BCACHE) || defined(CONFIG_BCACHE_MODULE) + unsigned int sequential_io; + unsigned int sequential_io_avg; +#endif + struct kmap_ctrl kmap_ctrl; +#ifdef CONFIG_DEBUG_ATOMIC_SLEEP + unsigned long task_state_change; +# ifdef CONFIG_PREEMPT_RT + unsigned long saved_state_change; +# endif +#endif + struct rcu_head rcu; + refcount_t rcu_users; + int pagefault_disabled; +#ifdef CONFIG_MMU + struct task_struct *oom_reaper_list; + struct timer_list oom_reaper_timer; +#endif +#ifdef CONFIG_VMAP_STACK + struct vm_struct *stack_vm_area; +#endif +#ifdef CONFIG_THREAD_INFO_IN_TASK + /* A live task holds one reference: */ + refcount_t stack_refcount; +#endif +#ifdef CONFIG_LIVEPATCH + int patch_state; +#endif +#ifdef CONFIG_SECURITY + /* Used by LSM modules for access restriction: */ + void *security; +#endif +#ifdef CONFIG_BPF_SYSCALL + /* Used by BPF task local storage */ + struct bpf_local_storage __rcu *bpf_storage; + /* Used for BPF run context */ + struct bpf_run_ctx *bpf_ctx; +#endif + +#ifdef CONFIG_GCC_PLUGIN_STACKLEAK + unsigned long lowest_stack; + unsigned long prev_lowest_stack; +#endif + +#ifdef CONFIG_X86_MCE + void __user *mce_vaddr; + __u64 mce_kflags; + u64 mce_addr; + __u64 mce_ripv : 1, + mce_whole_page : 1, + __mce_reserved : 62; + struct callback_head mce_kill_me; + int mce_count; +#endif + +#ifdef CONFIG_KRETPROBES + struct llist_head kretprobe_instances; +#endif +#ifdef CONFIG_RETHOOK + struct llist_head rethooks; +#endif + +#ifdef CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH + /* + * If L1D flush is supported on mm context switch + * then we use this callback head to queue kill work + * to kill tasks that are not running on SMT disabled + * cores + */ + struct callback_head l1d_flush_kill; +#endif + +#ifdef CONFIG_RV + /* + * Per-task RV monitor. Nowadays fixed in RV_PER_TASK_MONITORS. + * If we find justification for more monitors, we can think + * about adding more or developing a dynamic method. So far, + * none of these are justified. + */ + union rv_task_monitor rv[RV_PER_TASK_MONITORS]; +#endif + +#ifdef CONFIG_USER_EVENTS + struct user_event_mm *user_event_mm; +#endif + + /* + * New fields for task_struct should be added above here, so that + * they are included in the randomized portion of task_struct. + */ + randomized_struct_fields_end + + /* CPU-specific state of this task: */ + struct thread_struct thread; + + /* + * WARNING: on x86, 'thread_struct' contains a variable-sized + * structure. It *MUST* be at the end of 'task_struct'. + * + * Do not put anything below here! + */ +}; +``` \ No newline at end of file diff --git a/scratch/01-mm_struct.md b/scratch/01-mm_struct.md new file mode 100644 index 0000000..edf7910 --- /dev/null +++ b/scratch/01-mm_struct.md @@ -0,0 +1,275 @@ +# `#include ` +> **TODO** +> - `do_user_addr_fault` +> - `handle_mm_fault` +```c +// From v6.7-rc6 +struct mm_struct { + struct { + /* + * Fields which are often written to are placed in a separate + * cache line. + */ + // Zk. + // -- that is, this is a commonly-modified field which is best stored + // within a separate cache line. + struct { + /** + * @mm_count: The number of references to &struct + * mm_struct (@mm_users count as 1). + * + * Use mmgrab()/mmdrop() to modify. When this drops to + * 0, the &struct mm_struct is freed. + */ + // Zk. + // mmgrab() -- Pin a &struct mm_struct for a longer/unbounded amnt. of time. + // mmdrop() -- Undo above. + atomic_t mm_count; + } ____cacheline_aligned_in_smp; // Zk. -- eq. to `__aligned__(64)` for x86 + + // Zk. + // Maple tree that stores VMA (Virtual Memory Area) -- of which each + // mm_struct will have multiple (see /proc/[0-9]*/maps). They corresp. + // to when userspace calls `mmap`. + struct maple_tree mm_mt; +#ifdef CONFIG_MMU + unsigned long (*get_unmapped_area) (struct file *filp, + unsigned long addr, unsigned long len, + unsigned long pgoff, unsigned long flags); +#endif + unsigned long mmap_base; /* base of mmap area */ + unsigned long mmap_legacy_base; /* base of mmap area in bottom-up allocations */ +#ifdef CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES + /* Base addresses for compatible mmap() */ + unsigned long mmap_compat_base; + unsigned long mmap_compat_legacy_base; +#endif + unsigned long task_size; /* size of task vm space */ + + // Zk. + // Global page table + pgd_t * pgd; + +#ifdef CONFIG_MEMBARRIER + /** + * @membarrier_state: Flags controlling membarrier behavior. + * + * This field is close to @pgd to hopefully fit in the same + * cache-line, which needs to be touched by switch_mm(). + */ + atomic_t membarrier_state; +#endif + + /** + * @mm_users: The number of users including userspace. + * + * Use mmget()/mmget_not_zero()/mmput() to modify. When this + * drops to 0 (i.e. when the task exits and there are no other + * temporary reference holders), we also release a reference on + * @mm_count (which may then free the &struct mm_struct if + * @mm_count also drops to 0). + */ + atomic_t mm_users; + +#ifdef CONFIG_SCHED_MM_CID + /** + * @pcpu_cid: Per-cpu current cid. + * + * Keep track of the currently allocated mm_cid for each cpu. + * The per-cpu mm_cid values are serialized by their respective + * runqueue locks. + */ + struct mm_cid __percpu *pcpu_cid; + /* + * @mm_cid_next_scan: Next mm_cid scan (in jiffies). + * + * When the next mm_cid scan is due (in jiffies). + */ + unsigned long mm_cid_next_scan; +#endif +#ifdef CONFIG_MMU + atomic_long_t pgtables_bytes; /* size of all page tables */ +#endif + int map_count; /* number of VMAs */ + + spinlock_t page_table_lock; /* Protects page tables and some + * counters + */ + /* + * With some kernel config, the current mmap_lock's offset + * inside 'mm_struct' is at 0x120, which is very optimal, as + * its two hot fields 'count' and 'owner' sit in 2 different + * cachelines, and when mmap_lock is highly contended, both + * of the 2 fields will be accessed frequently, current layout + * will help to reduce cache bouncing. + * + * So please be careful with adding new fields before + * mmap_lock, which can easily push the 2 fields into one + * cacheline. + */ + struct rw_semaphore mmap_lock; + + struct list_head mmlist; /* List of maybe swapped mm's. These + * are globally strung together off + * init_mm.mmlist, and are protected + * by mmlist_lock + */ +#ifdef CONFIG_PER_VMA_LOCK + /* + * This field has lock-like semantics, meaning it is sometimes + * accessed with ACQUIRE/RELEASE semantics. + * Roughly speaking, incrementing the sequence number is + * equivalent to releasing locks on VMAs; reading the sequence + * number can be part of taking a read lock on a VMA. + * + * Can be modified under write mmap_lock using RELEASE + * semantics. + * Can be read with no other protection when holding write + * mmap_lock. + * Can be read with ACQUIRE semantics if not holding write + * mmap_lock. + */ + int mm_lock_seq; +#endif + + + unsigned long hiwater_rss; /* High-watermark of RSS usage */ + unsigned long hiwater_vm; /* High-water virtual memory usage */ + + unsigned long total_vm; /* Total pages mapped */ + unsigned long locked_vm; /* Pages that have PG_mlocked set */ + atomic64_t pinned_vm; /* Refcount permanently increased */ + unsigned long data_vm; /* VM_WRITE & ~VM_SHARED & ~VM_STACK */ + unsigned long exec_vm; /* VM_EXEC & ~VM_WRITE & ~VM_STACK */ + unsigned long stack_vm; /* VM_STACK */ + unsigned long def_flags; + + /** + * @write_protect_seq: Locked when any thread is write + * protecting pages mapped by this mm to enforce a later COW, + * for instance during page table copying for fork(). + */ + seqcount_t write_protect_seq; + + spinlock_t arg_lock; /* protect the below fields */ + + unsigned long start_code, end_code, start_data, end_data; + unsigned long start_brk, brk, start_stack; + unsigned long arg_start, arg_end, env_start, env_end; + + unsigned long saved_auxv[AT_VECTOR_SIZE]; /* for /proc/PID/auxv */ + + struct percpu_counter rss_stat[NR_MM_COUNTERS]; + + struct linux_binfmt *binfmt; + + /* Architecture-specific MM context */ + mm_context_t context; + + unsigned long flags; /* Must use atomic bitops to access */ + +#ifdef CONFIG_AIO + spinlock_t ioctx_lock; + struct kioctx_table __rcu *ioctx_table; +#endif +#ifdef CONFIG_MEMCG + /* + * "owner" points to a task that is regarded as the canonical + * user/owner of this mm. All of the following must be true in + * order for it to be changed: + * + * current == mm->owner + * current->mm != mm + * new_owner->mm == mm + * new_owner->alloc_lock is held + */ + struct task_struct __rcu *owner; +#endif + struct user_namespace *user_ns; + + /* store ref to file /proc//exe symlink points to */ + struct file __rcu *exe_file; +#ifdef CONFIG_MMU_NOTIFIER + struct mmu_notifier_subscriptions *notifier_subscriptions; +#endif +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && !USE_SPLIT_PMD_PTLOCKS + pgtable_t pmd_huge_pte; /* protected by page_table_lock */ +#endif +#ifdef CONFIG_NUMA_BALANCING + /* + * numa_next_scan is the next time that PTEs will be remapped + * PROT_NONE to trigger NUMA hinting faults; such faults gather + * statistics and migrate pages to new nodes if necessary. + */ + unsigned long numa_next_scan; + + /* Restart point for scanning and remapping PTEs. */ + unsigned long numa_scan_offset; + + /* numa_scan_seq prevents two threads remapping PTEs. */ + int numa_scan_seq; +#endif + /* + * An operation with batched TLB flushing is going on. Anything + * that can move process memory needs to flush the TLB when + * moving a PROT_NONE mapped page. + */ + atomic_t tlb_flush_pending; +#ifdef CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH + /* See flush_tlb_batched_pending() */ + atomic_t tlb_flush_batched; +#endif + struct uprobes_state uprobes_state; +#ifdef CONFIG_PREEMPT_RT + struct rcu_head delayed_drop; +#endif +#ifdef CONFIG_HUGETLB_PAGE + atomic_long_t hugetlb_usage; +#endif + struct work_struct async_put_work; + +#ifdef CONFIG_IOMMU_SVA + u32 pasid; +#endif +#ifdef CONFIG_KSM + /* + * Represent how many pages of this process are involved in KSM + * merging (not including ksm_zero_pages). + */ + unsigned long ksm_merging_pages; + /* + * Represent how many pages are checked for ksm merging + * including merged and not merged. + */ + unsigned long ksm_rmap_items; + /* + * Represent how many empty pages are merged with kernel zero + * pages when enabling KSM use_zero_pages. + */ + unsigned long ksm_zero_pages; +#endif /* CONFIG_KSM */ +#ifdef CONFIG_LRU_GEN + struct { + /* this mm_struct is on lru_gen_mm_list */ + struct list_head list; + /* + * Set when switching to this mm_struct, as a hint of + * whether it has been used since the last time per-node + * page table walkers cleared the corresponding bits. + */ + unsigned long bitmap; +#ifdef CONFIG_MEMCG + /* points to the memcg of "owner" above */ + struct mem_cgroup *memcg; +#endif + } lru_gen; +#endif /* CONFIG_LRU_GEN */ + } __randomize_layout; + + /* + * The mm_cpumask needs to be at the end of mm_struct, because it + * is dynamically sized based on nr_cpu_ids. + */ + unsigned long cpu_bitmap[]; +}; +``` diff --git a/scratch/consistency-coherence.md b/scratch/consistency-coherence.md index 5c5ce8c..cf5a830 100644 --- a/scratch/consistency-coherence.md +++ b/scratch/consistency-coherence.md @@ -19,7 +19,7 @@ In floating home protocols, some orchestration is needed for a stale node to be A scope-consistency protocol is one where each sharing is associated with a scope -- only loads and stores within the scope's participants is guaranteed to respect the memory model. -Many newer systems don't even expose writable data movement (e.g., Grappa) -- to write, you have to move compute towards data. Reading is no-problem though. +Many newer systems don't even expose writable data-to-compute (e.g., Grappa) -- to write, you have to move compute towards data. Reading is no-problem though. [7]'s case for acquire-invalidate holds only for MRSW (I think?). diff --git a/scratch/consistency-coherence.pdf b/scratch/consistency-coherence.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d462df753db6329cbd7a4a4b97c6c813b8b80d86 GIT binary patch literal 122921 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Ώ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⁡Q5?%1oVERA*W0 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%0Am7KqCN35qT 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 literal 0 HcmV?d00001