- Feb 19, 2013
-
-
Avi Kivity authored
The whole idea of namespaces is to prevent namespace pollution, using a "using namespace" in a header negates that. Remove.
-
Avi Kivity authored
Noticed by Guy.
-
Avi Kivity authored
-
Avi Kivity authored
Add a detached thread class (with a private destructor, so it can only be allocated on the heap). The implementation uses a reaper thread to wait until the detached thread is dead, and then ->join() and delete it.
-
Avi Kivity authored
fixes loading unit tests with "main" as the entry point.
-
- Feb 18, 2013
-
-
Guy Zana authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
This is like printf() but prints straight to the console instead of going through the stdio library, the VFS and the device layer. To be used for debugging outout in the kernel.
-
- Feb 17, 2013
-
-
Dor Laor authored
* 'master' of github.com:cloudius-systems/osv: interrupt manager: use range-based for loop instead of manually looping sched: optimize scanning the incoming_wakeups array sched: add an atomic cpu_set type
-
Dor Laor authored
-
Dor Laor authored
-
Dor Laor authored
-
Dor Laor authored
-
Dor Laor authored
of the pci virtio config size to a function using the first.
-
Avi Kivity authored
-
Avi Kivity authored
Protect the array with a cpu_set (bit set -> corresponding queue non-empty). This means we need to scan one word, instead of nr_cpus (plus of course all the cpus for which an incoming is waiting).
-
Avi Kivity authored
Supporting up to 64 cpus for now.
-
Dor Laor authored
-
Avi Kivity authored
This fixes an issue where a symbol exists in multiple objects; when just one is loaded it is resolved to one of the modules, but after the second is loaded, it resolves to the second. To the program this appears as if the address or contents of a static variable has changed. In our case this was triggered by both statically and dynamically linking a library.
-
Avi Kivity authored
The glibc headers define those as macros, need to undefine before declaring as functions.
-
Avi Kivity authored
Found with mode=release.
-
Avi Kivity authored
Found with mode=release.
-
- Feb 14, 2013
-
-
Avi Kivity authored
-
Avi Kivity authored
Atomic thread state and related work.
-
Avi Kivity authored
If we failed the initial trylock, that does not mean the mutex is locked, as it could have been unlocked right before we grabbed the wait list lock. Retry with the wait list lock held, as the unlock path must grab it before unlocking.
-
Avi Kivity authored
-
Avi Kivity authored
Currently, we have an atomic _waiting state for a thread, and additional non-atomic _on_runqueue and _terminated states. This is problematic since a ->wake() racing with a ->stop_wait() can cause a thread to be simultaneously running and queued. Fix by using a single atomic variable for all theses states.
-
Avi Kivity authored
When we migrate a thread, remove its timers from the cpu-local timer list, and move them back when we complete migration.
-
Avi Kivity authored
A mutex will also call wait_until, which doesn't tolerate nesting.
-
- Feb 13, 2013
-
-
Dor Laor authored
debug output and do some order
-
Dor Laor authored
-
Dor Laor authored
It was triggered when there were debug prints in the middle of these functions that cause context switch.
-
Dor Laor authored
If the host supports that it is enabled. Indirect buffers enalrge the ring by using external descriptors allocated on the fly.
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-
- Feb 12, 2013
-
-
Christoph Hellwig authored
-