Hi, On Mon, Dec 20, 2021 at 03:15 Nadav Har'El <[email protected]> wrote:
> > On Mon, Dec 20, 2021 at 4:23 AM Waldek Kozaczuk <[email protected]> > wrote: > >> Hi, >> >> It has been a while since the last release but I have only recently found >> some time and energy to update the roadmap - >> https://github.com/cloudius-systems/osv/wiki/Roadmap. It is meant to be >> a "living" document that more-less captures what we (me?) would like to >> work on in near future. So it is more-less my wish list but I would like to >> use this occasion to seek your input as well. I would like to know what you >> would want to be implemented/improved/changed etc. Feel free to respond to >> this email or directly update the roadmap wiki or add comments. Also, all >> OSv issues are here - https://github.com/cloudius-systems/osv/issues and >> if you find any interesting ones please feel free to add them to the wiki. >> >> In order to facilitate the discussion I am enclosing the roadmap here >> with some of my extra comments: >> >> Modularization/"Librarization" >> >> - Hide most symbols and C++ standard library (Partially addressed by >> this >> >> <https://github.com/cloudius-systems/osv/commit/af2d371a61f6ab1eb5a066a0c3e93230faf6611c> >> and >> other commits) >> - Issue 97 >> >> <https://github.com/cloudius-systems/osv/issues/97#issuecomment-643833296> - >> Be more selective on symbols exported from the kernel >> - The research results with numbers described in this discussion >> <https://groups.google.com/d/msg/osv-dev/fs-jmyaXY_E/vWUk-wDDAAAJ> >> and the older one >> <https://groups.google.com/d/msg/osv-dev/JsJfnhTX_EY/PKUvYm9-AQAJ> seem >> to indicate that both C++ standard library and other non-public symbols >> should be hidden in the kernel to make this goal achievable >> - Make ZFS optional as a shared library >> <https://github.com/cloudius-systems/osv/issues/1009> - the patches >> <https://groups.google.com/g/osv-dev/c/utWNzLGBwog> to address this >> issue were sent a couple of days ago >> - Create toolchain to optionally build custom kernel tailored to >> specific hypervisor or app >> <https://github.com/cloudius-systems/osv/issues/1110> >> - See this original discussion >> <https://groups.google.com/d/msg/osv-dev/BHwN6Stm3n4/arvdOwl3AAAJ> >> - Reduce kernel size >> - Shrinking kernel described in this early discussion >> <https://groups.google.com/d/msg/osv-dev/hCYGRzytaJ4/D23S_ibNAgAJ> >> would >> really be a result of hiding C++ library and most symbols (see above) >> but >> also conditionally compiling in/out various modules (see the first >> bullet >> in the Modularization/"Librarization") >> - Expose C++ APIs as C to hide C++ completely >> >> > You've made some really nice progress on this! > > >> <https://github.com/cloudius-systems/osv/wiki/Roadmap#support-statically-linked-executables>Support >> statically linked executables >> >> - See >> >> https://github.com/cloudius-systems/osv/issues?q=is%3Aissue+is%3Aopen+label%3Astatic-elf >> >> > What's the motivation for this? What uses statically linked executables? > For example ffmpeg is distributed as static executable. Also the motivation is to limit number of symbols we keep adding for new kinds of apps. The performance hit might not be that bad. > > <https://github.com/cloudius-systems/osv/wiki/Roadmap#improve-tooling>Improve >> tooling >> >> - Improve capstan (see Capstan "2.0" Wiki >> <https://github.com/cloudius-systems/capstan/wiki/Capstan-2.0>) >> - *THIS is a project on its own, somewhat independent but I think >> it is very important to improve building and running OSv images; it >> would >> be nice to fine a volunteer that would focus on it entirely* >> - Create IntelliJ, Maven and or Gradle plugins to deploy Java, Node, >> etc apps >> - Run Docker images on OSv (possibly musl-based like Alpine are >> better) >> - There is already an existing example - >> >> https://github.com/cloudius-systems/osv-apps/tree/master/openjdk12-jre-from-docker >> >> >> <https://github.com/cloudius-systems/osv/wiki/Roadmap#merge-parts-of-ipv6-branch-into-master>Merge >> parts of ipv6 branch into master >> >> - Port partial netlink support >> >> <https://github.com/cloudius-systems/osv/commit/f1cd48e0f192564d64e7b1e1caccc8df05e7cd5d#diff-21721ffc9ac62efcdfda3e5f92f0b8ce612881e93722fab8b1002a469b6ebfff> >> in >> order to fix libc: Fix if_indextoname(), if_nametoindex() >> >> <https://github.com/cloudius-systems/osv/commit/d35c3ddfae69db4d6877fb93341f711b3aefd6a8#diff-16c8c6eb85e05438f5d6c60ff9869072a3a3b1618aa1481ac7a0cb049f06f51d> >> - Also, reach out to Spirent to see if any more networking related >> bugs fixed can be brought over from the >> https://github.com/SpirentOrion/osv fork >> >> <https://github.com/cloudius-systems/osv/wiki/Roadmap#others>Others >> >> - Help review and merge the "lazy-allocated stack" patch >> <https://groups.google.com/g/osv-dev/c/tZnwiScmjZY/m/GkY0hV9EAwAJ> >> - Fix cli/lua on newer Fedora (see >> https://github.com/cloudius-systems/osv/issues/1166) >> - Consider implementing a read-write filesystem alternative to ZFS - >> ext2/3/4 >> ? <https://github.com/cloudius-systems/osv/issues/1179> >> - Improve gdb support >> <https://github.com/cloudius-systems/osv/issues/1167> >> >> What's the motivation of this? I thought the existing gdb support was > pretty good, what's missing? > The issue 1167 doesn't describe the motivation. > Are you trying to gain an ability to debug individual *threads* (not CPU > cores) running *on *OSv (not the OSv kernel)? > Are you trying to connect gdb to a remote OSv virtual machine (not running > on the same machine)? > Or something else? > The main motivation is to be able to debug on other hypervisors than QEMU which we support well. > > > >> >> - #1069 <https://github.com/cloudius-systems/osv/issues/1069> - Add >> vsock support >> - *Would there really be real-world application of that? Maybe to >> provide better OSv-host configuration capabilities?* >> - Support other booting methods like UEFI >> <https://github.com/cloudius-systems/osv/issues/1098> >> - Support other hypervisors >> - Support new KVM-bases AWS instances (see >> https://github.com/cloudius-systems/osv/issues/924) >> - Support Hyper-V (see >> https://github.com/cloudius-systems/osv/issues/735) >> - *What about XEN? Is it still "a thing" in terms of supporting >> it? I have very little experience with XEN and I sense that XEN has >> evolved >> a lot in the last 6-7 years.* >> >> This will be very hard without a personal "itch" to see OSv work on those > hypervisors, which you actually use. > Personally, I don't even know how to install Xen to test anything on it :-( > > >> >> - Support .NET Core executables >> - See what needs to be finished in this thread >> <https://groups.google.com/d/msg/osv-dev/k69cHw7qvTg/9NqPq70IAwAJ> >> - Refresh look and feel of http://osv.io >> - RISC-V port <https://github.com/cloudius-systems/osv/issues/1171> >> >> >> <https://github.com/cloudius-systems/osv/wiki/Roadmap#various-finer-level-improvements>Various >> finer-level improvements >> >> - Optimize memory allocator to better deal with "small" amount of >> memory - https://github.com/cloudius-systems/osv/issues/1013 >> - #28 <https://github.com/cloudius-systems/osv/issues/28> - Optimize >> atomic operations on UP (single-VCPU) >> - #1016 <https://github.com/cloudius-systems/osv/issues/1016> - Add >> support for smb2/3 (samba) file system T >> - There is already a patch sent to the list >> <https://groups.google.com/d/msg/osv-dev/QToC22-QHiA/ejSOMGe7BwAJ> >> - #1041 <https://github.com/cloudius-systems/osv/issues/1041> - Idea >> for easily creating OSv images from a list of Ubuntu packages >> - Fix networking bugs >> - https://github.com/cloudius-systems/osv/issues/420 >> - https://github.com/cloudius-systems/osv/issues/454 >> - Speedup VFS - https://github.com/cloudius-systems/osv/issues/450 >> - Improve XEN support >> - https://github.com/cloudius-systems/osv/issues/498 >> - https://github.com/cloudius-systems/osv/issues/345 >> - Speed-up realloc() by mremap() - >> https://github.com/cloudius-systems/osv/issues/184 >> - Investigate virtio-net “slow path” - >> https://github.com/cloudius-systems/osv/issues/177 >> >> >> <https://github.com/cloudius-systems/osv/wiki/Roadmap#improve-aarch64-support>Improve >> AArch64 support >> >> - Work on aarch64 issues >> <https://github.com/cloudius-systems/osv/labels/aarch64> >> - Fix various bugs/limitations >> <https://github.com/cloudius-systems/osv/wiki/AArch64#bugslimitations> >> - Implement gaps in respect to x86_64 >> >> <https://github.com/cloudius-systems/osv/wiki/AArch64#gaps-with-respect-to-x64> >> >> >> Finally, I also hope to find some new volunteers to help me work on some >> of those improvements ;-) >> > > That would be great. Good luck! > > >> Regards, >> Waldek >> >> -- >> You received this message because you are subscribed to the Google Groups >> "OSv Development" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. > > >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/osv-dev/b302c81c-d81a-48f3-b025-20b40d6cd356n%40googlegroups.com >> <https://groups.google.com/d/msgid/osv-dev/b302c81c-d81a-48f3-b025-20b40d6cd356n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/osv-dev/CAL9cFfPysQwARMQREyQ0xNj6A4VuRaj8Gr%2BCZV4mdrrtwyX7cg%40mail.gmail.com.
