From 904216dc58c88b9542baca3f2b46248f7ac7dac1 Mon Sep 17 00:00:00 2001 From: rubberhead Date: Wed, 31 Jan 2024 17:10:53 +0000 Subject: [PATCH] Cleaned up, finished? w15 slides --- .vscode-ctags | 36 - scratch/00-task_struct.md | 873 ------------------ scratch/01-mm_struct.md | 275 ------ scratch/consistency-coherence.md | 48 - scratch/consistency-coherence.pdf | Bin 122921 -> 0 bytes shared/.vscode-ctags | 38 - shared/.vscode/c_cpp_properties.json | 44 - shared/.vscode/settings.json | 10 - shared/Makefile | 9 - shared/my_shmem.c | 276 ------ .../userspace/.vscode/c_cpp_properties.json | 16 - shared/userspace/.vscode/settings.json | 9 - shared/userspace/userspace.c | 11 - src/aarch64-linux-flush-dcache/my_shmem.c | 4 + test/misc/barrier | Bin 15856 -> 0 bytes test/misc/barrier.arm64 | Bin 70952 -> 0 bytes test/misc/mfence_playground.c | 47 - test/misc/nobarrier | Bin 15856 -> 0 bytes test/qcow2-img/.gitattributes | 2 - test/qcow2-img/.gitignore | 1 - test/qemu-linux-node0.sh | 32 - tex/misc/w15_slides.pdf | Bin 663304 -> 669579 bytes tex/misc/w15_slides.tex | 130 ++- 23 files changed, 110 insertions(+), 1751 deletions(-) delete mode 100644 .vscode-ctags delete mode 100644 scratch/00-task_struct.md delete mode 100644 scratch/01-mm_struct.md delete mode 100644 scratch/consistency-coherence.md delete mode 100644 scratch/consistency-coherence.pdf delete mode 100644 shared/.vscode-ctags delete mode 100644 shared/.vscode/c_cpp_properties.json delete mode 100644 shared/.vscode/settings.json delete mode 100644 shared/Makefile delete mode 100644 shared/my_shmem.c delete mode 100644 shared/userspace/.vscode/c_cpp_properties.json delete mode 100644 shared/userspace/.vscode/settings.json delete mode 100644 shared/userspace/userspace.c delete mode 100755 test/misc/barrier delete mode 100755 test/misc/barrier.arm64 delete mode 100644 test/misc/mfence_playground.c delete mode 100755 test/misc/nobarrier delete mode 100644 test/qcow2-img/.gitattributes delete mode 100644 test/qcow2-img/.gitignore delete mode 100755 test/qemu-linux-node0.sh diff --git a/.vscode-ctags b/.vscode-ctags deleted file mode 100644 index c259e39..0000000 --- a/.vscode-ctags +++ /dev/null @@ -1,36 +0,0 @@ -!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/ -!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/ -!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/ -!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/ -!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/ -!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/ -!_TAG_FIELD_DESCRIPTION input /input file/ -!_TAG_FIELD_DESCRIPTION name /tag name/ -!_TAG_FIELD_DESCRIPTION pattern /pattern/ -!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/ -!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ -!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ -!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/ -!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/ -!_TAG_KIND_DESCRIPTION!C f,function /function definitions/ -!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/ -!_TAG_KIND_DESCRIPTION!C h,header /included header files/ -!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/ -!_TAG_KIND_DESCRIPTION!C s,struct /structure names/ -!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/ -!_TAG_KIND_DESCRIPTION!C u,union /union names/ -!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/ -!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ -!_TAG_OUTPUT_FILESEP slash /slash or backslash/ -!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ -!_TAG_OUTPUT_VERSION 0.0 /current.age/ -!_TAG_PARSER_VERSION!C 0.0 /current.age/ -!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ -!_TAG_PROC_CWD /home/rubberhead/Git/00-UOE/unnamed_ba_thesis/ // -!_TAG_PROGRAM_AUTHOR Universal Ctags Team // -!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ -!_TAG_PROGRAM_URL https://ctags.io/ /official site/ -!_TAG_PROGRAM_VERSION 6.0.0 /p6.0.20221218.0/ -!_TAG_ROLE_DESCRIPTION!C!header local /local header/ -!_TAG_ROLE_DESCRIPTION!C!header system /system header/ -!_TAG_ROLE_DESCRIPTION!C!macro undef /undefined/ diff --git a/scratch/00-task_struct.md b/scratch/00-task_struct.md deleted file mode 100644 index cf9c952..0000000 --- a/scratch/00-task_struct.md +++ /dev/null @@ -1,873 +0,0 @@ -# `#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 deleted file mode 100644 index edf7910..0000000 --- a/scratch/01-mm_struct.md +++ /dev/null @@ -1,275 +0,0 @@ -# `#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 deleted file mode 100644 index cf5a830..0000000 --- a/scratch/consistency-coherence.md +++ /dev/null @@ -1,48 +0,0 @@ -# MRSW Coherence & Consistency Protocols -| | Sequential | TSO | PSO | Release | Acquire | Scope | -|------------------------|------------|-----|-----|---------|---------|-------| -| Home; Invalidate | [11,12,13] | | | [1,2] | [9] | [5] | -| Home; Update | | | | | | | -| Float Home; Invalidate | | | | [2] | | | -| Float Home; Update | | | | | | | -| Directory; Invalidate | [3] | | | | | | -| Directory; Update | | | | | | | -| Dist. Dir.; Invalidate | [6] | | [4] | [7] | [7,8] | | -| Dist. Dir.; Update | | | | [7] | | | - -Release consistency -- i.e., consistency between nodes are eagerly maintained (via invalidation or update). -Acquire consistency -- i.e., consistency between nodes are lazily maintained. - -In a home-based coherence protocol, the "home" node is guaranteed coherency with respect to the memory model i.e., the home node is always guaranteed to have the most recent rendition of data in its storage. Inversely, whoever have the most recent rendition of data in its storage can become the home node, which is the case for "floating home" protocols. - -In floating home protocols, some orchestration is needed for a stale node to be able to have its request message routed to the current home node. A simple implementation is to provide an orchestrator node which knows the order in which each node were "home" -- some garbage collection required. - -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-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?). - -[10] writes an Itanium hypervisor to respect atomic and fence instructions. It's interesting, but because it emulates NUMA no coherence is applied between nodes -- there simply is no cache for remote nodes. - -[11] should be familiar. Home node also acts as the lock manager node (for simplicity). - -Home seems intuitive for implementing such a system, e.g., [12], which subconsciously used home-based DSM to implement their hypervisor mm. Their interests were in hypervisors, though. - -[14] is the Argo paper, which were compared with in [2]. Its coherence is entirely based on API function calls, which (ofc.) improves performance. Home-based. - -# References -[1] Shan, Tsai, and Zhang, "Distributed shared persistent memory", [10.1145/3127479.3128610](https://doi.org/10.1145/3127479.3128610) -[2] Endo, Sato, and Taura, "MENPS: A Decentralized Distributed Shared Memory Exploiting RDMA", [10.1109/IPDRM51949.2020.00006](https://doi.org/10.1109/IPDRM51949.2020.00006) -[3] Wang et al., "Concordia: Distributed shared memory with {In-Network} cache coherence", [fast'21](https://www.usenix.org/conference/fast21/presentation/wang) -[4] Cai et al., "Efficient distributed memory management with RDMA and caching", [10.14778/3236187.3236209](https://doi.org/10.14778/3236187.3236209) -[5] Hu et al., "JIAJIA: A Software DSM System Based on a New Cache Coherence Protocol", [10.1007/BFb0100607](https://doi.org/10.1007/BFb0100607) -[6] Chaiken et al., "LimitLESS Directories: A Scalable Cache Coherence Scheme", [10.1145/106975.106995](https://dl.acm.org/doi/pdf/10.1145/106975.106995) -[7] Carter, Bennett, and Zwaenepoel, "Implementation and Performance of Munin", [10.1145/121133.121159](https://doi.org/10.1145/121133.121159) -[8] Keleher et al., "Treadmarks: Distributed Shared Memory on Standard Workstations and Operating Systems", [EPFL](https://infoscience.epfl.ch/record/55805) -[9] Holsapple., "DSM64: A Distributed Shared Memory System in User-space", [CalPoly](https://doi.org/10.15368/theses.2012.40) -[10] Chapman and Heiser, "vNUMA: A Virtual Shared-Memory Multiprocessor", [usenix'09](https://www.usenix.org/legacy/event/usenix09/tech/full_papers/chapman/chapman.pdf) -[11] Kim et al., "DeX: Scaling Applications Beyond Machine Boundaries", [10.1109/ICDCS47774.2020.00021](https://doi.org/10.1109/ICDCS47774.2020.00021) -[12] Zhang et al., "GiantVM: a type-II hypervisor implementing many-to-one virtualization", [10.1145/3381052.3381324](https://doi.org/10.1145/3381052.3381324) -[13] Ding, "vDSM: Distributed Shared Memory in Virtualized Environments", [10.1109/ICSESS.2018.8663720](https://doi.org/10.1109/ICSESS.2018.8663720) -[14] Kaxiras, "Turning Centralized Coherence and Distributed Critical-Section Execution on their Head: A New Approach for Scalable Distributed Shared Memory", [10.1145/2749246.2749250](https://doi.org/10.1145/2749246.2749250) diff --git a/scratch/consistency-coherence.pdf b/scratch/consistency-coherence.pdf deleted file mode 100644 index d462df753db6329cbd7a4a4b97c6c813b8b80d86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122921 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Ώ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⁡Q5?%1oVERA*W0 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%0Am7KqCN35qT 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 diff --git a/shared/.vscode-ctags b/shared/.vscode-ctags deleted file mode 100644 index b35e51f..0000000 --- a/shared/.vscode-ctags +++ /dev/null @@ -1,38 +0,0 @@ -!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/ -!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/ -!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/ -!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/ -!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/ -!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/ -!_TAG_FIELD_DESCRIPTION input /input file/ -!_TAG_FIELD_DESCRIPTION name /tag name/ -!_TAG_FIELD_DESCRIPTION pattern /pattern/ -!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/ -!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ -!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ -!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/ -!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/ -!_TAG_KIND_DESCRIPTION!C f,function /function definitions/ -!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/ -!_TAG_KIND_DESCRIPTION!C h,header /included header files/ -!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/ -!_TAG_KIND_DESCRIPTION!C s,struct /structure names/ -!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/ -!_TAG_KIND_DESCRIPTION!C u,union /union names/ -!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/ -!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ -!_TAG_OUTPUT_FILESEP slash /slash or backslash/ -!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ -!_TAG_OUTPUT_VERSION 0.0 /current.age/ -!_TAG_PARSER_VERSION!C 1.1 /current.age/ -!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ -!_TAG_PROC_CWD /home/rubberhead/Git/00-UOE/unnamed_ba_thesis/src/aarch64-linux-flush-dcache/ // -!_TAG_PROGRAM_AUTHOR Universal Ctags Team // -!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ -!_TAG_PROGRAM_URL https://ctags.io/ /official site/ -!_TAG_PROGRAM_VERSION 6.1.0 /v6.1.0/ -!_TAG_ROLE_DESCRIPTION!C!function foreigndecl /declared in foreign languages/ -!_TAG_ROLE_DESCRIPTION!C!header local /local header/ -!_TAG_ROLE_DESCRIPTION!C!header system /system header/ -!_TAG_ROLE_DESCRIPTION!C!macro undef /undefined/ -!_TAG_ROLE_DESCRIPTION!C!struct foreigndecl /declared in foreign languages/ diff --git a/shared/.vscode/c_cpp_properties.json b/shared/.vscode/c_cpp_properties.json deleted file mode 100644 index 3690212..0000000 --- a/shared/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "configurations": [ - { - "name": "Linux-clang-arm64", - "includePath": [ - "${workspaceFolder}/**", - "/home/rubberhead/Git/linux/include", - "/home/rubberhead/Git/linux/include/uapi", - "/home/rubberhead/Git/linux/include/generated", - "/home/rubberhead/Git/linux/arch/arm64/include", - "/home/rubberhead/Git/linux/arch/arm64/include/uapi", - "/home/rubberhead/Git/linux/arch/arm64/include/generated", - "/usr/lib/gcc/aarch64-linux-gnu/13.2.0/include" - ], - "defines": [ - "__GNUC__", - "__KERNEL__" - ], - "compilerPath": "/usr/bin/clang", - "compilerArgs": [ - "-nostdinc", - "-std=gnu11" - ], - "cStandard": "gnu11", - "cppStandard": "${default}", - "browse": { - "path": [ - "${workspaceFolder}", - "/home/rubberhead/Git/linux/include", - "/home/rubberhead/Git/linux/include/uapi", - "/home/rubberhead/Git/linux/include/generated", - "/home/rubberhead/Git/linux/arch/arm64/include", - "/home/rubberhead/Git/linux/arch/arm64/include/uapi", - "/home/rubberhead/Git/linux/arch/arm64/include/generated", - "/usr/lib/gcc/aarch64-linux-gnu/13.2.0/include" - ], - "limitSymbolsToIncludedHeaders": true, - "databaseFilename": "" - }, - "intelliSenseMode": "linux-clang-arm64" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/shared/.vscode/settings.json b/shared/.vscode/settings.json deleted file mode 100644 index e29650f..0000000 --- a/shared/.vscode/settings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "C_Cpp.errorSquiggles": "enabled", - "files.associations": { - "*.h": "c", - }, - "editor.insertSpaces": false, - "editor.indentSize": "tabSize", - "editor.tabSize": 8, - "clangd.arguments": ["--compile-commands-dir=/home/rubberhead/Git/linux"] -} \ No newline at end of file diff --git a/shared/Makefile b/shared/Makefile deleted file mode 100644 index c6c824c..0000000 --- a/shared/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -obj-m += my_shmem.o -KDIR := /lib/modules/$(shell uname -r)/build -PWD := $(shell pwd) - -all: - $(MAKE) -C $(KDIR) M=$(PWD) modules - -clean: - $(MAKE) -C $(KDIR) M=$(PWD) clean \ No newline at end of file diff --git a/shared/my_shmem.c b/shared/my_shmem.c deleted file mode 100644 index 4fe37e1..0000000 --- a/shared/my_shmem.c +++ /dev/null @@ -1,276 +0,0 @@ -// [TODO] Clean up headers -#include -#include "linux/atomic/atomic-long.h" -#include "linux/device.h" -#include "linux/device/class.h" -#include "linux/mutex.h" -#include "linux/pid.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -MODULE_AUTHOR("Zk."); -MODULE_DESCRIPTION("4.2.W1: mmap for point of coherency"); -MODULE_LICENSE("GPL"); - -struct my_shmem_page { - struct page *page; - struct list_head list; -}; -static DEFINE_MUTEX(my_shmem_pages_mtx); - -/* [!] READ/WRITE UNDER LOCK */ -static LIST_HEAD(my_shmem_pages); - -/* [!] READ/WRITE UNDER LOCK */ -static size_t my_shmem_page_count = 0; - -static int major; -static struct class* class; -static struct device* dev; -const char* DEV_NAME = "my_shmem"; - -/* Virtual Memory Area Operations... - * ============================================================================ - */ -static void my_shmem_vmops_close(struct vm_area_struct *vma) -{ - // [TODO] Flush dcache at close. - // `dcache_clean_poc` writebacks D-cache region till PoC. Period. - // This should? work on all ARM64 CPUs w/ no-alias VIPT dcache. - // The addresses are VAs (obv., as opposed to PAs). - pr_info("[%s] Closing vma: [0x%lx - 0x%lx].\n", - __func__, vma->vm_start, vma->vm_end); - // It might, however, be better to just call a asm-generic function - // e.g., `flush_dcache_page`... Though I don't think arm64 supports this. - // Not sure why. - dcache_clean_poc(vma->vm_start, vma->vm_end); - // flush_cache_range(vma, vma->vm_start, vma->vm_end); - pr_info("[%s] Flushed dcache.\n", __func__); -} - -static vm_fault_t my_shmem_vmops_fault(struct vm_fault *vmf) -{ - ulong nr_pages_from_vm_start = - (vmf->address - vmf->vma->vm_start) >> PAGE_SHIFT; - const pgoff_t _dbg_offset_from_page = vmf->pgoff; - phys_addr_t _dbg_phys; - - mutex_lock(&my_shmem_pages_mtx); - if (nr_pages_from_vm_start < my_shmem_page_count) { - /* Offset in range, return existing page */ - pr_info("[%s] Found remappable page nr: %lu, offset: %lu.\n", - __func__, nr_pages_from_vm_start, _dbg_offset_from_page); - - // We won't delete elements from list here! - struct my_shmem_page *page_entry; - list_for_each_entry(page_entry, &my_shmem_pages, list) { - if (!nr_pages_from_vm_start) - break; - nr_pages_from_vm_start--; - } - // Found correct page entry, remap - get_page(page_entry->page); // [FIXME] Incorrect refcount keeping. - vmf->page = page_entry->page; - _dbg_phys = page_to_phys(page_entry->page); - - mutex_unlock(&my_shmem_pages_mtx); - goto ok_ret_remapped; - } - - /* Otherwise, allocate the new page(s) */ - for (int i = 0; i <= nr_pages_from_vm_start - my_shmem_page_count; i++) - { - // Allocate page handle in kernel - struct my_shmem_page *new_page = kzalloc( - sizeof(struct my_shmem_page), GFP_KERNEL); - if (!new_page) { - mutex_unlock(&my_shmem_pages_mtx); - goto err_ret_no_kmem; - } - - // Allocate page in virtual memory - // [!] We specifically WANT to allocate cachable memory to - // create cache incoherence btwn procs. Synchronization - // (e.g., on arm64) is done via calling fsync for now. - void *addr = vmalloc_user(PAGE_SIZE); - if (!addr) { - mutex_unlock(&my_shmem_pages_mtx); - goto err_ret_no_vmem; - } - new_page->page = vmalloc_to_page(addr); - - // List maintenance: add and incr. size - list_add(&new_page->list, &my_shmem_pages); - my_shmem_page_count++; - - // Fill in allocated page entry - get_page(new_page->page); - vmf->page = new_page->page; - _dbg_phys = page_to_phys(new_page->page); - } - mutex_unlock(&my_shmem_pages_mtx); - goto ok_ret_allocated; - -err_ret_no_kmem: - pr_err("[%s] Cannot allocate `struct my_shmem_page` in kernel memory.\n", - __func__); - return VM_FAULT_OOM; -err_ret_no_vmem: - pr_err("[%s] Cannot allocate requested page for virtual memory.\n", - __func__); - return VM_FAULT_OOM; -ok_ret_remapped: - if (vmf->vma->vm_mm) { - rcu_read_lock(); - struct task_struct *fault_owner = vmf->vma->vm_mm->owner; - pr_info("[%s] Remapped phys: 0x%llx -> virt@PID(%d): 0x%lx.\n", - __func__, _dbg_phys, fault_owner->pid, vmf->address); - rcu_read_unlock(); - } - return 0; -ok_ret_allocated: - if (vmf->vma->vm_mm){ - rcu_read_lock(); - struct task_struct *fault_owner = vmf->vma->vm_mm->owner; - pr_info("[%s] Allocated phys: 0x%llx -> virt@PID(%d): 0x%lx.\n", - __func__, _dbg_phys, fault_owner->pid, vmf->address); - rcu_read_unlock(); - } - return 0; -} - - - -static const struct vm_operations_struct my_shmem_vmops = { - .close = my_shmem_vmops_close, - .fault = my_shmem_vmops_fault, -}; - -/* File Operations... - * ============================================================================ - */ -// static int my_shmem_fops_open(struct inode *inode, struct file *filp); - -static const struct file_operations my_shmem_fops; - -static int my_shmem_fops_mmap(struct file *filp, struct vm_area_struct *vma) -{ - vma->vm_ops = &my_shmem_vmops; - - pr_info("[%s] Device file '%s' mmapped for vma: [0x%lx - 0x%lx].\n", - __func__, file_dentry(filp)->d_name.name, vma->vm_start, vma->vm_end); - return 0; -} - -static int my_shmem_fops_open(struct inode *inode, struct file *filp) -{ - filp->f_op = &my_shmem_fops; - - pr_info("[%s] Device file '%s' opened.\n", - __func__, file_dentry(filp)->d_name.name); - return 0; -} - -static int my_shmem_fops_release(struct inode *inode, struct file *filp) -{ - pr_info("[%s] Device file '%s' released.\n", - __func__, file_dentry(filp)->d_name.name); - - /* Garbage collection requires knowing who references which page... - * Ideally this is stored in filp->private_data but ah well, oversight. - */ - return 0; -} - -static const struct file_operations my_shmem_fops = { - .owner = THIS_MODULE, - .open = my_shmem_fops_open, - .mmap = my_shmem_fops_mmap, - .release = my_shmem_fops_release, -}; - -/* Module init & exit... - * ============================================================================ - */ -static int __init my_shmem_init(void) -{ - /* Register cdev */ - major = register_chrdev( - 0, DEV_NAME, &my_shmem_fops); - if (major < 0) - goto err_ret_cdev_reg_failed; - - /* Create device class */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0) - class = class_create(DEV_NAME); - #else - // Re: commit dcfbb67e48a2becfce7990386e985b9c45098ee5 (I think?) - class = class_create(THIS_MODULE, DEV_NAME); - #endif - if (IS_ERR(class)) { - unregister_chrdev(major, DEV_NAME); - goto err_ret_class_crea_failed; - } - - /* Create one device */ - dev_t dev_nr = MKDEV(major, 0); - dev = device_create( - class, NULL, dev_nr, NULL, DEV_NAME); - if (IS_ERR(dev)) { - class_destroy(class); - unregister_chrdev(major, DEV_NAME); - goto err_ret_dev_crea_failed; - } - - pr_info("[%s] Device `%s` built successfully.\n", - __func__, dev->init_name); - return 0; - -err_ret_cdev_reg_failed: - pr_err("[%s] Cannot register character dev -- error code %d.\n", - __func__, major); - return major; -err_ret_class_crea_failed: - pr_err("[%s] Cannot create device class -- error code %ld.\n", - __func__, PTR_ERR(class)); - return (int) PTR_ERR(class); -err_ret_dev_crea_failed: - pr_err("[%s] Cannot create device -- error code %ld.\n", - __func__, PTR_ERR(dev)); - return (int) PTR_ERR(dev); -} - -static void __exit my_shmem_exit(void) -{ - /* Destroy device */ - device_destroy(class, dev->devt); - class_destroy(class); - unregister_chrdev(major, DEV_NAME); - pr_info("[%s] Device destroyed.\n", __func__); - - /* Free all pages -- I'm not compacting in runtime!!! */ - struct my_shmem_page *page_entry, *tmp; - mutex_lock(&my_shmem_pages_mtx); - list_for_each_entry_safe(page_entry, tmp, &my_shmem_pages, list) { - vfree(page_to_virt(page_entry->page)); - put_page(page_entry->page); - - my_shmem_page_count--; - list_del(&page_entry->list); - kfree(page_entry); - } - mutex_unlock(&my_shmem_pages_mtx); -} - -module_init(my_shmem_init); -module_exit(my_shmem_exit); \ No newline at end of file diff --git a/shared/userspace/.vscode/c_cpp_properties.json b/shared/userspace/.vscode/c_cpp_properties.json deleted file mode 100644 index d9a0f74..0000000 --- a/shared/userspace/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "configurations": [ - { - "name": "C-clang-arm64", - "includePath": [ - "${workspaceFolder}/**", - "/usr/include/" - ], - "compilerPath": "/usr/bin/clang", - "cStandard": "${default}", - "cppStandard": "${default}", - "intelliSenseMode": "clang-arm64" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/shared/userspace/.vscode/settings.json b/shared/userspace/.vscode/settings.json deleted file mode 100644 index 3b218d1..0000000 --- a/shared/userspace/.vscode/settings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "C_Cpp.errorSquiggles": "enabled", - "files.associations": { - "*.h": "c", - }, - "editor.insertSpaces": false, - "editor.indentSize": "tabSize", - "editor.tabSize": 4, -} \ No newline at end of file diff --git a/shared/userspace/userspace.c b/shared/userspace/userspace.c deleted file mode 100644 index 986f6b6..0000000 --- a/shared/userspace/userspace.c +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @file userspace.c - * @author Zhengyi Chen (you@domain.com) - * @brief - * @version 0.1 - * @date 2024-01-16 - * - * @copyright Copyright (c) 2024 - * - */ - diff --git a/src/aarch64-linux-flush-dcache/my_shmem.c b/src/aarch64-linux-flush-dcache/my_shmem.c index f1438c1..3c0e5ee 100644 --- a/src/aarch64-linux-flush-dcache/my_shmem.c +++ b/src/aarch64-linux-flush-dcache/my_shmem.c @@ -263,6 +263,8 @@ static int my_shmem_fops_release(struct inode *inode, struct file *filp) return 0; } +// static int my_shmem_fops_ioctl(struct file *filp, uint cmd, ulong arg); + // static int my_shmem_fops_fsync( // struct file *filp, loff_t bgn_off, loff_t end_off, int datasync) // { @@ -274,6 +276,8 @@ static const struct file_operations my_shmem_fops = { .owner = THIS_MODULE, .open = my_shmem_fops_open, .mmap = my_shmem_fops_mmap, + // .unlocked_ioctl = my_shmem_fops_ioctl, + // .compat_ioctl = compat_ptr_ioctl, .release = my_shmem_fops_release, }; diff --git a/test/misc/barrier b/test/misc/barrier deleted file mode 100755 index 4225ceb4563bec05ef96d3d2a5b037c428f9e9c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15856 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 diff --git a/test/misc/mfence_playground.c b/test/misc/mfence_playground.c deleted file mode 100644 index 92026d5..0000000 --- a/test/misc/mfence_playground.c +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -#include -#include -#include - -// Shared variable -int a = 1; - -void foo(void) { - while (a) - asm volatile ("":::"memory"); - printf("Exiting from foo...\n"); - exit(EXIT_SUCCESS); -} - -void bar(void) { - a = 0; - printf("Exiting from bar...\n"); - exit(EXIT_SUCCESS); -} - -int main(int argc, char** argv) { - const size_t NR_THREADS = 2; - pthread_t *threads = calloc(NR_THREADS, sizeof(pthread_t)); - - int ret_create_thread_1 = pthread_create( - &threads[0], NULL, (void *(*)(void *))foo, NULL); - if (ret_create_thread_1) { - perror("Failed to create pthread for `foo`."); - exit(EXIT_FAILURE); - } - - int ret_create_thread_2 = pthread_create( - &threads[1], NULL, (void *(*)(void *))bar, NULL); - if (ret_create_thread_2) { - perror("Failed to create pthread for `bar`."); - pthread_cancel(threads[0]); - exit(EXIT_FAILURE); - } - - for (size_t thread_idx = 0; thread_idx < NR_THREADS; thread_idx++) { - pthread_join(threads[thread_idx], NULL); - } - - exit(EXIT_SUCCESS); -} \ No newline at end of file diff --git a/test/misc/nobarrier b/test/misc/nobarrier deleted file mode 100755 index 5364e2d8856509948a342beaf7df17058db4d5ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15856 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 diff --git a/test/qcow2-img/.gitattributes b/test/qcow2-img/.gitattributes deleted file mode 100644 index 61eb4d5..0000000 --- a/test/qcow2-img/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -debian-12-nocloud-amd64.node0.qcow2 filter=lfs diff=lfs merge=lfs -text -debian-12-nocloud-amd64.node1.qcow2 filter=lfs diff=lfs merge=lfs -text diff --git a/test/qcow2-img/.gitignore b/test/qcow2-img/.gitignore deleted file mode 100644 index 1d085ca..0000000 --- a/test/qcow2-img/.gitignore +++ /dev/null @@ -1 +0,0 @@ -** diff --git a/test/qemu-linux-node0.sh b/test/qemu-linux-node0.sh deleted file mode 100755 index 52b642c..0000000 --- a/test/qemu-linux-node0.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -_SCRIPT_DIR=$(dirname -- $0) - -# Should have called the directory linux-torvalds, ah well. -# Be careful not to drop serial port driver support! -_KERNEL_DIR="${_SCRIPT_DIR}/bzimage/bzImage.0" - -# BusyBox + glibc. -_ROOTFS_DIR="${_SCRIPT_DIR}/rootfs-img/rootfs.ext4.0" - -# Number of processes usable by VM. -_SMP=2 - -printf "Using kernel @ %s\n" $_KERNEL_DIR -printf "Using rootfs @ %s\n" $_ROOTFS_DIR -printf "Press any key to continue...\n" -read -n 1 -r &>/dev/null - -qemu-system-x86_64 \ - -kernel $_KERNEL_DIR \ - -append "root=/dev/vda console=ttyS0 earlyprintk=serial nokaslr" \ - -nographic \ - -drive file=$_ROOTFS_DIR,if=virtio,index=0,media=disk,format=raw \ - -m 512M \ - -enable-kvm \ - -cpu host \ - -smp $_SMP \ - -nic bridge,br=virbr0,model=e1000 \ - -# `-s` enables gdb listening at :1234 -# `-S` stops emulator from running unless gdb listens diff --git a/tex/misc/w15_slides.pdf b/tex/misc/w15_slides.pdf index 67cac67c040c06d198628461157ebaf6800ba485..8ab6840429e62ad19a279f64f9f3a0de30d19876 100644 GIT binary patch delta 77300 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 VZQ{e?!?AO)F~gFPiOP$?{u|QHWbyz2 delta 71203 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

@kFUQ9l^B-4!k0|Ao?y~& zy+wy7pEfH=$_+><*pf<^xj%Q|l9RgD9C^S619M4pfv*=$eSF~8i?Y{_Os1p~kjJh* z*Ch83X>-Ap<)x*iL5*<6@D?jFw)`uhusii#2H!>scU!pBm_7)S~AU)7InGm!qt7YhXQXFj@? zCgZ3OpyE(ghM+lG19z9-$W!t2=f+oaOlT+kTp#UbDvXJVsUE&+x{#J`sofqrzhvSs zx_{i7L@NCWqi=1hfB1P{CW!{8mw~w$ECoXV56^pEUzg(xy>1CDSA!BMYGHhS5q!-9 z)x4Wi=*Ww7iD#RVEg)3&ydGsWjGul?PY%gH1}(!x)S+11d9!c~V}|u8$}vcDzucHX zJ(}HFU_B+d>?usenQ`_Lp^iT?m`zFNhxigtUq3|3kY7)2R*R_Lj%IaBfViJaQ4fgJ z`vM=*g_;f7LpMnjbraFF&dE@uDx|0H=_mBiA3y$c{@NGeP9->UMJ-nxTZVuePSH14 zG)c$zl?`87zl(2#4QRUGkH)DY$sJM@(-?1QzBO&B94FMI^BAqPEN;bn+#kFbT7jl8 zTq+?qWx#|w`w^&4sjE9NJJO4W0u}mm2hXxulg>!U99nb?0T#}WeTz;z;1i~owPG*)X0oXN2DXrRpmG%>BS^R&KgP473uhIOvPa^Dr&up@=VI@8l@lJJkuW= zsXcKBcZwkqO5*vBG$|KQ7W4q2kW!^dx-~H}NLN#k7$#*xuVTdjLLBLoZ)x8>CyZB& zHy-N#QO03T1+wJx6VZfl+gCmXeO~1Rex7=WinCQ8sgF(f%-E(K9GqW_ueJ*yH(Qho z?XRB|Ql0wookiBUaxigTykDJ_W;Og#95r#9{8$X)0IlL2x(Pbh8`{zs6R&BM=w)}F zTN-rh=k`r!Y`7obWIK7^`G<=lT{>ys*K1nf#C+3+;zVWp76Ym*=&fL}UtcV% z2B}Zox=c2r2V&KF@_O4vFN7}X{)&GX?UtOFU8BszyO=N52u_^>O1+~q)@s%hd9)ZN z=cA_Mn<`^VK~XveQh+QXqVvC)%%zB)+#2om+lsu2@#e{RKbJ-fCAGF74;^(ZiOy>t zP3kw%#{WXLwGf=0WpqdNn-McMK{