- Jan 27, 2014
-
-
Nadav Har'El authored
For this patch series to be bisectable, the previous patches left behind some features, or temporarily added features, that we couldn't remove until they are no longer use. Now we can finally delete these unused features: 1. After the previous patches stopped using clock::get()->time() in sched.cc, we can drop the alias osv::clock::get() we added temporarily just to make it easier to compile the first patches in this series. 2. Drop the clock_event::set(s64) variant. 3. Drop the timer_base::set(s64) variant. Fixes #81. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
In the previous patch we built clock_event::set(s64) on top of set(duration). In this patch we add set(timepoint), for absolute time in any clock supporting the now() static method. In the following patches, we'll convert our timers to using the monotonic clock osv::clock::uptime, and use timepoints of that clock in calls to clock_event::set(). By temporarily having both s64 and std::chrono:time_point versions of set(), we make this patch series bisectable. At the end of this series, the s64 variant will be removed. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
OSv's timer mechanism hinges on the Local APIC's (per-cpu) one-shot timer, which delivers an interrupt after the requested number of nanoseconds. The API to set this timer, clock_event::set(), took the absolute time of the next interrupt. However, what it really needs is the duration in nanoseconds until the next interrupt. So this patch we change the basic clock_event::set() API to take a duration, and implement the original clock_event::set(s64) - taking an s64 absolute wall-clock time - as a simple wrapper. The next patch will add more wrappers for set() taking absolute times from different clocks. Later patches in this series will stop using the old set(s64) version, until it is dropped in the end of the series. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Sep 15, 2013
-
-
Nadav Har'El authored
Add Cloudius copyright and license statement to drivers/*. A couple of header files were based on Linux's BSD-licensed header files (e.g., include/uapi/linux/virtio_net.h) so they included the BSD license, but not any copyright statement, so we can just replace that by our own statement of the BSD license.
-
- Feb 07, 2013
-
-
Avi Kivity authored
The apic needs to be programmed on each cpu that is brought up.
-
Avi Kivity authored
Each cpu has its own event timer; we rely on this. Document the requirement.
-
- Feb 05, 2013
-
-
Christoph Hellwig authored
-
- Jan 16, 2013
-
-
Avi Kivity authored
This is intentionally simplistic, supporting only one callback (intended for waking up threads).
-