[Idea] eBPF/Webassembly group programs by processor tasks
I have read the most important problem to solve, when introducing WebAssembly/BPF services into kernel is these programs should be position-dependent. But how achieve this without virtual memory? I do not known, because I am not too good with OS developing (of course, we can use the same way so used or use registers), so I have an idea. Group scripts/programs generated from eBPF or webassembly by task need to communicate with these programs.
For example: we have cat and cat programs connected with pipe. But one loads some program to this pipe, which force to only delivers data to other side, when \n meet in pipe. Why do not compile this program in cat/cat group and load it into memory only if one of this task is loaded?
Another example: we had Firefox and Apache translated to WebAssembly. Each Firefox instance could belongs to the same group as Apache, so we load Apache code only if Firefox need to communicate with it (or Firefox is inside the memory).
I known, that saving eBPF/Webassembly programs to disk could be long, but we can simple move these programs in memory or even compress it and move.
What do you think?
Comments
-
And of course, if Firefox uses Apache module and some other - we compile Apache and other module into Firefox/Apache/Other group, so each module will be in unique address space. No collision, no problem with PE, etc.
0
Categories
- All Categories
- 177 LFX Mentorship
- 177 LFX Mentorship: Linux Kernel
- 750 Linux Foundation IT Professional Programs
- 373 Cloud Engineer IT Professional Program
- 169 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 4 DevOps & GitOps IT Professional Program
- 99 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 1 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 3 Cloud & Containers Training
- 1 Cybersecurity Training
- 2 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 1 Open Source Best Practice Training
- 1 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 792 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 87 Storage
- 769 Linux Distributions
- 81 Debian
- 68 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 106 Mobile Computing
- 18 Android
- 73 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 392 Off Topic
- 121 Introductions
- 181 Small Talk
- 29 Study Material
- 955 Programming and Development
- 310 Kernel Development
- 627 Software Development
- 983 Software
- 375 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)