- Jun 18, 2013
-
-
Nadav Har'El authored
This patch turns on the flag which switches all our code to use the lock-free mutex instead of the spinlock-based mutex. It's time we start using the lock-free mutex, which is stable enough by now - but please let me know if you do experience any performance problem, or bugs, related to the new mutex. If you need to disable the new mutex temporarily and return to the old, just change the "#define LOCKFREE_MUTEX" in osv/mutex.h to #undef.
-
Nadav Har'El authored
Returning a void does nothing, and just confusing.
-
Avi Kivity authored
Eclipse recognizes .mk as a makefile, make it easier for new users to use eclipse.
-
Christoph Hellwig authored
-
Nadav Har'El authored
This single Java source file is a full-fledged HTTP 0.9 server. I wanted to add it to expose the console lock bug (fixed in a separate patch), and to verify that bind() works correctly (it does). But additionally, this tiny HTTP server (about 6KB of compressed bytecode) can be very useful for our CLI - it can be run in the background and let you view files in the OSV system in your browser, even while another program is running. To run Shrew from the CLI, just run java com.cloudius.cli.util.Shrew Which runs the HTTP server in the background (in a separate thread), letting the user continue to use the CLI. If you add an argument "fg" to this command, it runs the server in the current thread, never returning. Currently, the HTTP server is written to browse OSV's root directory hierarchy: accessing http://192.168.122.100:8080/ from the host shows you the OSV guest's root directory, and you can decend into more directories and download individual files.
-
Avi Kivity authored
Instead of defining a command object in one file and registering it in another, do everything in one place.
-
Avi Kivity authored
- per-cpu variables - per-cpu kvmclock - tracepoint probe functions - tracepoint Java API - 'perf stat' cli command
-
Avi Kivity authored
Usage: perf list (lists all tracepoints) perf stat tp... (counts tracepoints) Example: [/]$ perf stat mutex_lock ctxsw=sched_switch mutex_unlock wake=sched_wake mutex_lock ctxsw mutex_unlock wake 40 3 1909 2 2075 147 190 82 193 138 193 78 146 139 146 92 317 179 317 78 146 139 146 78 146 139 186 78 205 139 165 78 146 139 146 78 146 139 146 78 146 139 146 80 193 143 193 81 151 147 151 78 146 139 146 78 146 139 146 78 146 139 146 78 159 139 159 78 149 139 149 78 146 139 146 78 164 139 164 78 146 139 176 78 176 139 146 78 149 139 149 78 146 139 146 78 146 139 146 78 mutex_lock ctxsw mutex_unlock wake 146 139 146 79 715 147 715 80 188 139 204 78
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
Don't actually implement it either yet, but at least don't abort.
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
We already get these from our API version of <sys/mount.h>
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
We don't use this header for user APIs and they conflict with the ones from sys/mounts.h
-
- Jun 17, 2013
-
-
Avi Kivity authored
java.lang.Math will override JavaScript's Math object.
-
Avi Kivity authored
Exposes tracepoints and counters
-
Avi Kivity authored
Add a facility to run functions when a tracepoint is hit. This is independent of logging; you can add a probe function with logging disabled or enabled.
-
Avi Kivity authored
-
Avi Kivity authored
The kvmclock ABI requires it to calculate system time using values for the cpu it is running on. Do this by: - changing the system time structure to be per-cpu - adding a cpu notifier so that per-cpu MSRs are initialized for each cpu - hacking around initialization order issues
-
Avi Kivity authored
cpu notifiers are called whenever a cpu is brought up (and one day, down), so that drivers that manage the cpu (for example, kvmclock) can initialize themselves. The callback is called on the cpu that is being brought up.
-
Avi Kivity authored
Per-cpu variables can be used from contexts where preemption is disabled (such as interrupts) or when migration is impossible (pinned threads) for managing data that is replicated for each cpu. The API is a smart pointer to a variable which resolves to the object's location on the current cpu. Define: #include <osv/percpu.hh> PERCPU(int, my_counter); PERCPU(foo, my_foo); Use: ++*my_counter; my_foo->member = 7;
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
console:init() calls wake() but the scheduler is not fully initialized at this point, disable preemption as soon as main_cont starts and disable it after smp_launch()
-
Guy Zana authored
-
Guy Zana authored
avoids some spurious wakes to the callout thread
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-