Skip to content
Snippets Groups Projects

Add the August 2024 report

Merged Ribbon requested to merge august-report into master
1 file
+ 27
5
Compare changes
  • Side-by-side
  • Inline
@@ -16,12 +16,13 @@ If you would like to support Redox, please consider donating or buying some merc
## Massive Performance Improvement On Virtual Machines
4lDO2 reduced the time to make a context switch in a virtual machine by 60-70% !
Thanks to the recent kernel proflling implementation, 4lDO2 discovered that a huge bottleneck in the context switching code, was simply reading the system time. That involves reading hardware registers from the [HPET](https://en.wikipedia.org/wiki/High_Precision_Event_Timer), which although reasonably fast on real hardware, is particularly slow on VMs as it requires expensive VM exits. This cost is now avoided by using the [TSC](https://en.wikipedia.org/wiki/Time_Stamp_Counter) using [KVM's](https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine) paravirtualized system time API, resulting in a massive speedup.
He disabled the need to make a context switch to get the host system time and sync, it was done by using paravirtualization on [TSC](https://en.wikipedia.org/wiki/Time_Stamp_Counter) using [KVM](https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine).
This improvement is not applicable to Redox running on real hardware, however.
Thus all system tasks have a much better performance now, from more IO throughput to network speed. We are doing benchmarks to determine the scale of this improvement.
Redox is becoming faster than Linux in some virtual machine workloads (with all exploit mitigations disabled, apples-to-apples comparison), more exciting optimizations are coming.
This improvement is unfortunately not applicable for Redox running on real hardware. However, most recent CPUs support an *invariant TSC*, in which case the logic would be very similar to the paravirtualized logic, after the frequency has been determined at boot time by calibration. This will be implemented in the future, but for now, the real HPET is reasonably fast.
Running in a VM, Redox is now becoming slightly faster than Linux at certain synthetic benchmarks, for example the same-core context switch latency when using POSIX pipes (tested with `mitigations=off`). More exciting optimizations are coming, both to reduce context switch overhead further towards the hardware limit, and to reduce unnecessary context switches overall.
## Testing Redox
@@ -51,7 +52,6 @@ bpisch also updated our GNU make to 4.4. Another challenging build system overco
Ribbon added the `promote` TODO on the packaging convention for working recipes under the WIP category of Cookbook, it will improve the packagers communication. As many of our WIP packages are now ready to go, they need to be moved to the main categories at `cookbook/recipes`.
Ribbon has been marking recipes with the "promote" TODO comment, to indicate that the package should find a new home in the corresponding main Cookbook category.
If you would like to help test and promote recipes, please join our [GitLab](https://gitlab.redox-os.org/redox-os/redox/) and [Matrix](https://matrix.to/#/#redox-join:matrix.org).
More programs were packaged as usual.
@@ -88,7 +88,29 @@ We added a policy to request that developers add their Matrix or Discord usernam
Now we also request that people creating issues on GitLab to send the issue links on the chat, to help improve visibility of new issues.
## RustConf
Ron Williams will be at [RustConf](https://rustconf.com/) in Montreal September 10-13.
Look for person in the [bright blue Redox hoodie](https://redox-os.creator-spring.com/listing/redox-hoodie?product=227&variation=2665&size=1247).
Ron will give demos of Redox as opportunity allows. Come say hi!
## Join us on Matrix Chat
If you want to contribute, give feedback or just listen in to the conversation,
join us on [Matrix Chat](https://matrix.to/#/#redox-join:matrix.org).
<!--
## Discussion
Here are some links to discussion about this news post:
- [Fosstodon @redox]()
- [Fosstodon @soller]()
- [Patreon]()
- [Phoronix]()
- [Reddit /r/pop\_os]()
- [Reddit /r/redox]()
- [Reddit /r/rust]()
- [Twitter @redox\_os]()
- [Twitter @jeremy\_soller]()
-->
Loading