- Feb 17, 2013
-
-
Dor Laor authored
-
Dor Laor authored
of the pci virtio config size to a function using the first.
-
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
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Avi Kivity authored
-
Avi Kivity authored
We need to put ourself back in wait mode after every loop iteration, otherwise a spurious wakeup can result in the predicate returning false, and then we will never wait again, instead spinning endlessly.
-
Christoph Hellwig authored
-
Avi Kivity authored
-
Dor Laor authored
-