From: seantywork Date: Sun, 21 Sep 2025 04:10:53 +0000 (+0000) Subject: rcu namechange X-Git-Url: https://git.feebdaed.xyz/?a=commitdiff_plain;h=d815de4699496a404057bf08790f5692cea6a66a;p=linuxyz.git rcu namechange --- diff --git a/krcu-cmap/Makefile b/krcu-cmap/Makefile new file mode 100644 index 0000000..5c8d899 --- /dev/null +++ b/krcu-cmap/Makefile @@ -0,0 +1,6 @@ +obj-m := rcucmap.o + +all: + make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules +clean: + make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) clean \ No newline at end of file diff --git a/krcu-cmap/README.md b/krcu-cmap/README.md new file mode 100644 index 0000000..22b3f5d --- /dev/null +++ b/krcu-cmap/README.md @@ -0,0 +1,5 @@ +# krcu-cmap + +- source: [linuxyz/krcu-cmap](https://github.com/seantywork/linuxyz/tree/main/krcu-cmap) +- date: 2509- + diff --git a/krcu-cmap/rcucmap.c b/krcu-cmap/rcucmap.c new file mode 100644 index 0000000..7f9dd1a --- /dev/null +++ b/krcu-cmap/rcucmap.c @@ -0,0 +1,86 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define OP_COUNT 10 + +struct myelement { + + struct list_head node; + struct rcu_head rcu; +}; + +static LIST_HEAD(myelements); +static spinlock_t myelements_lock; + +static struct task_struct *task_write; +static struct task_struct *task_read; +static int w = 10; +static int r = 11; + +static int task_writer(void *arg){ + + int v = *(int *)arg; + + for(int i = 0; i < OP_COUNT; i++){ + printk(KERN_INFO "rcucmap: v: %d: w: %d\n", v, i); + mdelay(1000); + } + + return 0; +} + +static int task_reader(void *arg){ + + int v = *(int *)arg; + + for(int i = 0; i < OP_COUNT; i++){ + printk(KERN_INFO "rcucmap: v: %d: r: %d\n", v, i); + mdelay(1000); + } + + return 0; +} + + +static int __init rcu_cmap_init(void){ + + spin_lock_init(&myelements_lock); + + task_write = kthread_run(task_writer, (void*)&w, "tw/%d", w); + if(IS_ERR(task_write)){ + printk(KERN_ERR "rcucmap: failed to create task_write thread\n"); + return -1; + } + task_read = kthread_run(task_reader, (void*)&r, "tr/%d", r); + if(IS_ERR(task_read)){ + printk(KERN_ERR "rcucmap: failed to create task_read thread\n"); + return -1; + } + get_task_struct(task_write); + get_task_struct(task_read); + + printk(KERN_INFO "rcucmap: loaded\n"); + + return 0; +} + +static void __exit rcu_cmap_exit(void){ + kthread_stop(task_write); + kthread_stop(task_read); + + printk(KERN_INFO "rcucmap: unloaded\n"); + +} + +module_init(rcu_cmap_init); +module_exit(rcu_cmap_exit); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("seantywork"); \ No newline at end of file diff --git a/krcu-deadly/rcudeadly.c b/krcu-deadly/rcudeadly.c deleted file mode 100644 index faa1225..0000000 --- a/krcu-deadly/rcudeadly.c +++ /dev/null @@ -1,80 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define OP_COUNT 10 - -struct - -static LIST_HEAD(); -static spinlock_t - -static struct task_struct *task_write; -static struct task_struct *task_read; -static int w = 10; -static int r = 11; - -static int task_writer(void *arg){ - - int v = *(int *)arg; - - for(int i = 0; i < OP_COUNT; i++){ - printk(KERN_INFO "rcudeadly: v: %d: w: %d\n", v, i); - mdelay(1000); - } - - return 0; -} - -static int task_reader(void *arg){ - - int v = *(int *)arg; - - for(int i = 0; i < OP_COUNT; i++){ - printk(KERN_INFO "rcudeadly: v: %d: r: %d\n", v, i); - mdelay(1000); - } - - return 0; -} - - -static int __init rcu_deadly_init(void){ - - task_write = kthread_run(task_writer, (void*)&w, "tw/%d", w); - if(IS_ERR(task_write)){ - printk(KERN_ERR "rcudeadly: failed to create task_write thread\n"); - return -1; - } - task_read = kthread_run(task_reader, (void*)&r, "tr/%d", r); - if(IS_ERR(task_read)){ - printk(KERN_ERR "rcudeadly: failed to create task_read thread\n"); - return -1; - } - get_task_struct(task_write); - get_task_struct(task_read); - - printk(KERN_INFO "rcudeadly: loaded\n"); - - return 0; -} - -static void __exit rcu_deadly_exit(void){ - kthread_stop(task_write); - kthread_stop(task_read); - - printk(KERN_INFO "rcudeadly: unloaded\n"); - -} - -module_init(rcu_deadly_init); -module_exit(rcu_deadly_exit); -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("seantywork"); \ No newline at end of file diff --git a/kthread-rcu/Makefile b/kthread-rcu/Makefile deleted file mode 100644 index 37a38c4..0000000 --- a/kthread-rcu/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -obj-m := threadrcu.o - -all: - make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules -clean: - make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) clean \ No newline at end of file diff --git a/kthread-rcu/README.md b/kthread-rcu/README.md deleted file mode 100644 index c7848a2..0000000 --- a/kthread-rcu/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# kernel-thread-rcu - -- source: [linuxyz/kthread-rcu](https://github.com/seantywork/linuxyz/tree/main/kthread-rcu) -- date: 2509- - diff --git a/kthread-rcu/threadrcu.c b/kthread-rcu/threadrcu.c deleted file mode 100644 index 2173ac8..0000000 --- a/kthread-rcu/threadrcu.c +++ /dev/null @@ -1,86 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define OP_COUNT 10 - -struct myelement { - - struct list_head node; - struct rcu_head rcu; -}; - -static LIST_HEAD(myelements); -static spinlock_t myelements_lock; - -static struct task_struct *task_write; -static struct task_struct *task_read; -static int w = 10; -static int r = 11; - -static int task_writer(void *arg){ - - int v = *(int *)arg; - - for(int i = 0; i < OP_COUNT; i++){ - printk(KERN_INFO "rcudeadly: v: %d: w: %d\n", v, i); - mdelay(1000); - } - - return 0; -} - -static int task_reader(void *arg){ - - int v = *(int *)arg; - - for(int i = 0; i < OP_COUNT; i++){ - printk(KERN_INFO "rcudeadly: v: %d: r: %d\n", v, i); - mdelay(1000); - } - - return 0; -} - - -static int __init rcu_deadly_init(void){ - - spin_lock_init(&myelements_lock); - - task_write = kthread_run(task_writer, (void*)&w, "tw/%d", w); - if(IS_ERR(task_write)){ - printk(KERN_ERR "rcudeadly: failed to create task_write thread\n"); - return -1; - } - task_read = kthread_run(task_reader, (void*)&r, "tr/%d", r); - if(IS_ERR(task_read)){ - printk(KERN_ERR "rcudeadly: failed to create task_read thread\n"); - return -1; - } - get_task_struct(task_write); - get_task_struct(task_read); - - printk(KERN_INFO "rcudeadly: loaded\n"); - - return 0; -} - -static void __exit rcu_deadly_exit(void){ - kthread_stop(task_write); - kthread_stop(task_read); - - printk(KERN_INFO "rcudeadly: unloaded\n"); - -} - -module_init(rcu_deadly_init); -module_exit(rcu_deadly_exit); -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("seantywork"); \ No newline at end of file