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?

<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?


>
>    - #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/CANEVyjt4uLTFaMayBRE67wCvLSo7PTC0MSmGRvkRixL0keFg9A%40mail.gmail.com.

Reply via email to